Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement OdisPayments.sol and unit tests #9740

Merged

Conversation

eelanagaraj
Copy link
Contributor

@eelanagaraj eelanagaraj commented Aug 10, 2022

Since the new plan is to try to include the OdisPayments.sol changes in with release 8, I included the smart contract changes only (and minimal other changes needed to get CI working) from this PR. One other change of note is the var name change from registry -> registryContract, because on this branch, UsingRegistryV2 is up-to-date, where it was not on the previous Cip40 branch.

Audit process plan

@m-chrzan does the following sound ok to you?

  • After review, squash merge this commit to the release branch and have that commit audited
  • Any additional changes needed post-audit will be in another PR + squash merged to the release branch and re-audited
  • The release will then include a few separately audited commits (ASv2, then OdisPayments)
  • After release, merge this to master

Notes

  • There are a few package.json changes that are made here (incrementing migration in test:reset) that are (mistakenly) not on the OdisCip40 branch that will need to be added back there to fix the build (the CI build has been blocked on that branch for a while, so revisit + fix once that is more unblocked).
  • Merging both this release branch and Cip40 -> master will probably be pretty annoying regardless of which one is merged first, since there have been contract changes pushed to master in the meantime, and Cip40 was based off of master originally (and has some of those contract changes) where ASv2 does not include them (changes the order of some of the migration stuff, + UsingRegistryV2 var name things).

Testing

  • unit tests

@eelanagaraj eelanagaraj force-pushed the eelanagaraj/release-odispayments branch from 269bdc0 to f93262b Compare August 10, 2022 15:50
@eelanagaraj eelanagaraj marked this pull request as ready for review August 11, 2022 10:19
@eelanagaraj eelanagaraj requested a review from a team as a code owner August 11, 2022 10:19
@eelanagaraj eelanagaraj requested review from a team, alecps and m-chrzan and removed request for a team August 11, 2022 10:19
Copy link
Contributor

@alecps alecps left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much!!

Copy link
Contributor

@m-chrzan m-chrzan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall! Just a few small comments.

packages/protocol/contracts/identity/OdisPayments.sol Outdated Show resolved Hide resolved
packages/protocol/contracts/identity/OdisPayments.sol Outdated Show resolved Hide resolved
packages/protocol/test/identity/odispayments.ts Outdated Show resolved Hide resolved
@eelanagaraj eelanagaraj merged commit 1452ccc into release/core-contracts/8 Aug 30, 2022
@eelanagaraj eelanagaraj deleted the eelanagaraj/release-odispayments branch August 30, 2022 20:09
martinvol pushed a commit that referenced this pull request Sep 26, 2022
* Implement OdisPayments.sol and unit tests

* Update registry varname because of UsingRegistryV2 changes

* Add release data

* Fix migration override params in package.json

* Address PR comments
alecps added a commit that referenced this pull request Oct 20, 2022
* ASv2 Scaffolding (#9430)

* Add barebones FederatedAttestations contract, proxy, and interface

* Make TODOs ASv2 specific

* Add FA usages to existing files

* Add skeleton migration file

* Add test scaffolding

* Add CK wrapper and test

* Fix contract migrations and failing CK test (#9455)

* Fix migration order and governance ownership

* Fix quicktest backup migrations

* Update devchain migration in other test:reset commands

* Comment out FA config to fix lint tests

* ASv2 Onchain Registry (#9431)

* Add barebones FederatedAttestations contract, proxy, and interface

* Make TODOs ASv2 specific

* Add FA usages to existing files

* Add skeleton migration file

* Add test scaffolding

* Add CK wrapper and test

* storage variables, reading and writing functions

* add function signatures

* fix merge conflict

* Fix compile errors in initial SC implementation (#9472)

* Fix compilation errors

* Fix delete such that it compiles

* Add TODO for revokeSigner

Co-authored-by: Isabelle Wei <isabelle@clabs.co>

* small function name capitalization

* include PR comments

Co-authored-by: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>

* Implement unit tests for FederatedAttestations (#9565)

* add describe blocks for federated attestation tests

* ASv2 validateAttestation functionality and unit tests (#9532)

* validate attestation with eip712

* validate signature of attestation

* modify revokedSigners to boolean instead of time-based

* validate signer

* add validateAttestation docstring

* ASv2 initialize unit tests (#9544)

* initialize unit tests

* ASv2 registerAttestation unit tests (#9543)

* registerAttestation tests

* add docstring and use safemath

* PR comments and additional tests

* Implement FederatedAttestations lookup* unit tests (#9522)

* Modify lookupAttestations to not require ABIEncoderV2

* Implement unit tests for lookupAttestations

* Fix _isRevoked logic

* Clean up lookupAttestations tests

* Fix safemath use and docstring in lookupIdentifiersByAddress

* Implement unit tests for lookupIdentifiersByAddress

* Remove fixed TODO

* Fix some linting errors

* Nit: revocation boolean return

Co-authored-by: Cody Born <codyborn@outlook.com>

* Address PR comments

* Update lookup tests to use register and fix out of gas

* Unify variable names

* Remove ABIEncoderV2

* Add TODO ASv2 to fed-attestations-utils comments to revisit

* Update var names (part 2) to fix linting

* Fix lint checks in FA contract

Co-authored-by: Cody Born <codyborn@outlook.com>

* ASv2 deleteAttestation unit tests (#9563)

* deleteAttestation unit tests

* rename variable

* gas optimizations

* Fix delete loop incrementing

* Add revoke test case for registration

* Add case for registration when issuer == signer of attestation

Co-authored-by: Isabelle Wei <isabelle@clabs.co>
Co-authored-by: Cody Born <codyborn@outlook.com>

* Fix phone-utils dependency

* Add and fix lookup* functionality (#9577)

* Return counts per issuer for lookupAttestations

* Return counts per issuer for lookupIdentifiersByAddress

* Add lookupAllAttestations (+ helper getTotalNumberOfAttestations) and tests

* Add getNumberOfUnrevokedAttestations and tests

* Nit: fix ordering of expectations and actuals in check helper funcs

* Add getNumberOfUnrevokedIdentifiers and tests

* Fix var naming in getTotalNumberOfAttestations

* Add getTotalNumberOfIdentifiers and tests

* Add lookupAllIdentifiersByAddress (+ helper getTotalNumberOfIdentifiers) and tests

* Reorganize tests for looking up attestations

* Reorganize tests for looking up identifiers

* Fix scope of test helper functions

* Address ASv2 PR comments

* Add mini-fixes post benchmarking

* Make getTotalNumberOf* functions internal

* Add comments to address PR review

* Add includeRevoked param to lookupAllAttestations

* Add includeRevoked param to lookupAllIdentifiersByAddress

* Fix docstrings

* Rename lookup functions and helpers

* Nit use ternary assignment

* Rename identifierToAddresses -> identifierToAttestations

* Unnest if statements in lookup funcs to address PR comments

* Fix and update TODOs to include DNM

* Fix lint checks

* Remove DNM as this blocks linting :-|

* Check variable storage states in register and delete tests (#9576)

* check storage state in tests

* fix lint errors

* PR comments

* revert when deleting nonexistant attestation

* fix lint

* [ASv2] Individual attestation revocation (#9603)

* individual revocation

* add back lookup functions

* PR comments

* tests passing

* more tests

* PR comments

* more PR feedback

* fix tests

* lint fix

* [ASv2] direct attestations from issuers (#9627)

* individual revocation

* add back lookup functions

* PR comments

* tests passing

* more tests

* renamed a function and separated signature check for (issuer == msg.sender) case

* allows for registering attestations directly from the issuer

* refactored require statements

* overloaded registerAttestation function, cleaned up comments

* added test cases for (issuer==msg.sender) flow

* changed registerAttestation to registerAttestationAsIssuer

* changed order of arguments in contract tests to reflect actual argument order

* update tests and fn params ordering

* fix lint

Co-authored-by: Isabelle Wei <isabelle@clabs.co>

* Fix Escrow bug and refactor (part 1) existing Escrow tests (#9617)

* Fix and add transfer test cases

* wip: withdraw helper

* wip: checkpoint 2 pre-withdraw cleanup

* wip: checkpoint after most withdraw tests done

* wip: slightly clean up transfer checks

* wip checkpoint before extracting delete

* wip finish up extracting out delete checks

* wip remove doubleTransfer and add revoke messages

* wip: clean up and match names between Escrow.sol and tests

* Add tests for events emitted

* Remove get*PaymentIds (further refactoring steps) for now

* Fix identifier length bug

* Nit: update method for getting aPhoneHash

* Simplify require conditional expressions in transfer and withdraw

* Fix build after rebasing ASv2

* Fix Withdrawal event 'to' field to reference receiver of withdrawal funds

* Nit: cleanup ASv2 base branch console.log

* Modify lookup functions to include publishedOn (#9634)

* modify lookup functions to include publishedOn

* more tests

* lint fix

* PR comments

* fix lint

* check publishedOn in lookup tests

* stricter publishedOn tests

* Add batch revocation functionality (#9647)

* First set of benchmarks

* Revoke and batchRevoke optimizations

* Add tests and make small fixes in response

* Clean up TODOs and benchmarking

* Fix lint

* Add signer deregistration case for registration

* Address PR comments

* Reorder comment after merge

* Upgrade Escrow from UsingRegistry V1 to V2 (#9631)

* Upgrade Escrow from UsingRegistry V1 to V2

* Change FederatedAttestations from UsingRegistry V1 to V2

* Update backupmigrations script to include correct BRL paths

* Add release8 data

* Remove TODOs and commented out test

* Add getFederatedAttestations to UsingRegistryV2

* Fix tests in CI

* Update registry-utils to fix migration tests

* Add comment explaining registry placeholder

* Change publishedOn check

* Fix lint

* Fix setup to only assumeOwnership in CI

* Rename UsingRegistryV2WithStorageSlot -> UsingRegistryV2BackwardsCompatible

* Escrow updates for ASv2 (#9636)

* Implement transferWithTrustedIssuers

* Update transfer and revoke tests

* Implement withdraw and mock tests

* Nits: fix linting, remove some TODOs, reformat text in tests

* Add logic for setting defaultTrustedIssuers

* Simplify transfer logic and docstrings and add unset event

* Reorder escrow functions based on solidity style guide

* Nit remove TODOs

* Use FederatedAttestations instead of MockFA in escrow tests

* Address PR comments

* Remove redundant comments

* [ASv2] PR review updates (+ solidity style guide #9651) (#9653)

* reorder functions to follow solidity style guide

* update visibility

* PR updates

* use struct to fix stack too deep

* Fix named returns

* Nits: solidity style guide reorderings

* Nit: consistent ordering for getVersionNumber with Escrow

* Remove outdated TODO - re: removed assert

Co-authored-by: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>

* [ASv2] update attestation hash (#9659)

* use eip712 hash for unique attestation hash

* add signer to eip712 typed data

* oops

* lint

* concaatenate strings

* Add limits to attestation and identifier arrays (#9656)

* Add hard constraints on identifiers and accounts arrays

* Nit: fix test case description

* WIP: benchmarking storage vs copying for batch revocation

* wip: store ugly benchmarking code

* Use 20 as limit for attestations and identifiers

* Nit: rename variable

* PR fixes (comments, docstrings, remove FA from UsingRegistry) (#9660)

* PR fixes: comments, docstrings, remove FA from UsingRegistry

* Use defaultTrustedIssuers directly instead of getter

* Remove duplicate revocation test case

* Remove stale TODOs

* Add comments and spacing

* Add functions to interfaces for FederatedAttestations and Escrow (#9655)

* add fns to interface for FA and Escrow

* add pure function

* fn param names everywhere

* Improve bignumber handling in escrow and federatedattestations tests (#9633)

* Improve bignumber handling in escrow and federatedattestations tests

* fix up merge

* Add comments and fix line spacing

* Remove stale TODO

Co-authored-by: Isabelle Wei <isabelle@clabs.co>

* add comment

* [L04] explicitly define scope of state vars in UsingRegistryV2

* [M03] use SafeERC20 library in Escrow

* [M02] remove unnecessary issuer parameter and TODOs

* [M01] limit trustedIssuers in Escrow payments

* Update rc1staging-archivenodes-values.yaml to match currently deploye… (#9694)

Update rc1staging-archivenodes-values.yaml to match currently deployed version

* Remove deprecated monitoring commands from celotool (#9699)

* Remove deprecated monitoring commands from celotool

* One more unnecessary file

* Update README

* Change bitnami's helm chart repository.

To the archived version, supporting old charts (as per
https://github.com/bitnami/charts/issues/10539).

* Upgrade eksportisto.

To build with tag 41fd75246c7108716be373d2d36cac13996034fc.

* Restart eksportisto indexers every 30 minutes.

Useful as they might be stuck, potentially due to goroutine leaks.
Instead of implement a health check, a readiness probe with a 1800 secs
delay was used. This means the process will restart every 30 minutes,
regardless of being frozen or not.

* Remove old eksportisto deployment.

Also removes the scaffolding to support multiple concurrent eksportisto
releases.

* Use solhint-disable-next-line in derived Proxy contracts (#9732)

Proxies

Co-authored-by: pahor167 <pavel.hornak@clabs.co>

* Format @return NatSpecs correctly (#9733)

* Format @return NatSpecs correctly

* lint fix

* PR comment

* Update packages/protocol/contracts/common/Accounts.sol

Co-authored-by: Martin <martin@clabs.co>

* Update packages/protocol/contracts/common/linkedlists/AddressSortedLinkedList.sol

Co-authored-by: Martin <martin@clabs.co>

* PR comments 2

* typo fix

* Update packages/protocol/contracts/governance/BlockchainParameters.sol

Co-authored-by: Martin <martin@clabs.co>

Co-authored-by: pahor167 <pavel.hornak@clabs.co>
Co-authored-by: Martin <martin@clabs.co>

* Make governance tooling work with arbitrary transactions (#9735)

* Make governance tooling work with arbitrary transactions
* Fix contractkit cache issue with Proxy contracts

Co-authored-by: Gaston Ponti <pontigaston@gmail.com>

* Blockscout: Enable empty block sanitizer (#9746)

* Upgrade alfajores and baklava to 1.5.8 (#9682)

Co-authored-by: Javier Cortejoso <javi@clabs.co>

* Bump version of MetaTransactionWalletDeployer (#9753)

* Return to the correct original git state (#9755)

* Checkout correct old migrationsConfig

* Checkout correct old contracts

* Add Payment Delegation Commands to CLI (#9700)

PR by @swidnikk

Allow validator payment delegation to be managed via the CLI

- add support to allocate a fraction of rewards by delegating to a named
beneficiary from the cli
- new cli commands for get, set, and delete within account
- add cli documentation
- expose functionality available in Accounts.so

* Add Payment Delegation Commands to CLI (#9766)

* Add Payment Delegation Commands to CLI

* add support to allocate a fraction of rewards and delegate to a named
  beneficiary
* new cli commands for get, set, and delete
* expose functionality available in Accounts.so

WIP

* its not clear which account the context applies to
* delete has not been fully tested

[#182759476]
[Test] y
[Review] y

* Complete support for delete and set

* add account parameter that commands are executed for

[finishes #182759476]
[Test] y
[Review] doug@spirals.so, helena@spirals.so

* Address code review comments in upstream pr

* upstream pr https://github.com/celo-org/celo-monorepo/pull/9700
* remove commented code
* remove references to fixidity lib in docs
* remove unecessary getter definition

[#182759476]
[Test] y
[Review] m-chrzan

* Add payment delegation unit tests, generate docs

* upstream pr https://github.com/celo-org/celo-monorepo/pull/9700
* test for invalid payment delegation fraction greater than 1
* test that fetched delegation values are equal to values set
* test that deleting delegation clears values
* fix up cli example help
* generate docs for account.md

[finishes #182759476]
[Test] y
[Review] m-chrzan

Co-authored-by: Daniel Swid <daniel@spirals.so>
Co-authored-by: Javier Cortejoso <javi@clabs.co>

* CLI 1.6.3 release (+ SDK 2.1)  (#9741)

Co-authored-by: Daniel Kesler <danielckesler@gmail.com>

* Remove GKE workload metrics (#9712)

* Remove GKE workload metrics Helm Charts

* Remove GKE Workload Metrics from celotool

Co-authored-by: Javier Cortejoso <javi@clabs.co>

* Switch to using the npm version of bls12377js (#9673)

Co-authored-by: Martín Volpe <volpe@clabs.co>

* Allow installing Helm charts from public repository. Grafana chart updated (#9754)

* Updated grafana/grafana chart to version 6.32.3

* Grafana installed from public chart repository

* Add grafana repository when installing/upgrading grafana

* Fix linter

Co-authored-by: Victoria <4222953+lvpeschke@users.noreply.github.com>

* Upgrade Typescript to 4.7 (#9769)

* Keep more Prometheus metrics (#9770)

* Update Prometheus drop regex to keep container_memory_usage_bytes

* Keep kube_pod_status_phase

* Include kube_pod_container_status_restarts_total metric

* Exclude kube_pod_container_state.+ metrics

* dequeueProposalsIfReady should not update the dequeue timestamp if there were not proposals to dequeue (#9739)

* dequeueProposalsIfReady should not update the dequeue timestamp if there were not proposals to dequeue

* Update packages/protocol/test/governance/network/governance.ts

Co-authored-by: Martin <martin@clabs.co>

* Update packages/protocol/test/governance/network/governance.ts

Co-authored-by: Martin <martin@clabs.co>

* Update packages/protocol/test/governance/network/governance.ts

Co-authored-by: Martin <martin@clabs.co>

* PR comments

* governance version update

* fix for failing tests

* minor refactoring

* test fixes

* Contract kit tests fix

* revert of blank space

* PR comments

* PR comment

Co-authored-by: pahor167 <pavel.hornak@clabs.co>
Co-authored-by: Martin <martin@clabs.co>

* updating links to dashboardv2_1 (#9791)

* Added env variables for walletconnect support (#9810)

* Implement OdisPayments.sol and unit tests (#9740)

* Implement OdisPayments.sol and unit tests

* Update registry varname because of UsingRegistryV2 changes

* Add release data

* Fix migration override params in package.json

* Address PR comments

* Parallelize approval and referendum governance stages  (#9779)

* Ability to vote during approval stage

* Removal of Approve stage altogether

* Removal of approval stage

* Added tests to governance.sol

* removal of test skips

* contractkit build fix

* cli build fix

* contractkit test fixes

* lint fix

* contract kit fix

* cli test fixes

* formatting

* PR comments

Co-authored-by: pahor167 <pavel.hornak@clabs.co>

* Update Mainnet Oracles (#9785)

* Remove Prometheus to Stackdriver exports from ODIS (#9688)

* Disable Stackdriver in ODIS Staging and Alfajores

* Add Grafana required values

* Disable Stackdriver in ODIS Mainnet

* Small Prometheus metrics improvements (#9797)

* Disable Stackdriver for rc1staging

* Sort metrics dropping regex

* Expand regex for dropping kube_pod_container.+ metrics

* Re-add kube_pod_status_ dropping rules

* Typos: do not undo https://github.com/celo-org/celo-monorepo/pull/9770

* Upgraded Helm Charts versions. Added ingressClassName to ingresses (#9771)

* Updated grafana/grafana chart to version 6.32.3

* Grafana installed from public chart repository

* Add grafana repository when installing/upgrading grafana

* Fix linter

* Include Local Loki datasource

* nginx chart version 4.2.1

* Bumped prometheus to 2.38.0

* Cert-manager bumped to 1.9.1

* Added ingressClassName to ingress resources

Co-authored-by: alvarof2 <35505302+alvarof2@users.noreply.github.com>

* Comment about local grafana default datasources (#9829)

* Enable epoch rewards for rc1staging (#9702)

* Infra support for creating erlang cluster in blockscout pods (#9841)

* Give all blockscout nodes 'blockscout' as erlang node name

* Set erlang cookie from secret in deployments.

* Set pod ip as environment variable.

* Possibility of adding extraPodLabels to celo-blockchain podTemplates (#9842)

* Fixed loadtest template

* Baklava and alfajores upgraded to 1.6.0

* Added extraPodLabels to celo-blockchain podTemplates

* Include logs from namespace blockscout (#9860)

* RC7 -> RC8 (#9865)

* Squashed commit of the following:

commit 7f44cef046b465975aec476d6630db92e4b36f9e
Author: Martin Volpe <martin.volpe@gmail.com>
Date:   Fri May 13 15:10:45 2022 +0200

    Fixed release versions

commit 24968ec330c548be622cd3a58d5ea79c7f0c64f2
Author: Martin Volpe <martin.volpe@gmail.com>
Date:   Fri May 13 15:09:06 2022 +0200

    Added newline at the end

commit 1e70975a232a306caa8ccf4d629898b52dcf5a5c
Author: Marcin Chrzanowski <martin@clabs.co>
Date:   Tue Feb 22 10:18:55 2022 -0500

    Add version report

commit 8457f408b476576f67ee3ce2a963253ce63ab4fc
Author: Marcin Chrzanowski <martin@clabs.co>
Date:   Tue Feb 15 11:06:21 2022 -0500

    Add empty initialization data for release 6

commit a92491598c50445001d2abb7566fce0e8b5e7fb6
Author: Martín Volpe <volpe@clabs.co>
Date:   Mon May 9 22:24:24 2022 +0200

    Fix Oracle check (#9527)

commit 292c443f52779a345b5b26d28be650b2231d2854
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Wed May 4 14:36:53 2022 +0200

    Consistent code across GrandaMento and Exchange in setSpread (#9459)

commit 3cfceab5b49eb7cc2fe752d20bbb0c05ef13ae2a
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Thu Apr 28 15:45:35 2022 +0200

    Restored a missing test (#9460)

    Authored-by: Nina Barbakadze <ninabarbakadze@macbook-pro-4.localdomain>

commit 0b51c6576e2d6697b7bc31dda5e969df767151d6
Author: Martin <martin@clabs.co>
Date:   Fri Mar 11 11:09:29 2022 +0100

    Remove oracle check (#9367)

    ### Description

    A check in the Reserve's `addToken` function appeared to be a blocker for getting quicker, single-proposal stable token deployments. The check may have been important in the past, back when the Reserve was responsible for minting/burning stable tokens, and the `isToken` mapping set in the `addToken` function was used for permissioning these behaviors. However, looking at both the monorepo contracts and celo-blockchain, the `isToken` mapping and `_tokens` list of tokens are not used anywhere, thus the check is safe to remove. See [here](https://github.com/celo-org/celo-monorepo/issues/9195#issuecomment-1057942027) for more details.

    ### Tested

    Tests still pass.

    ### Related issues

    - Fixes #9197

commit a84a8457e106b3e6bec98aeff849ffd336ffc79b
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Thu Mar 10 16:10:37 2022 +0000

    Update default config file (#9372)

    ### Description

    Tiny PR that goes with [this docs PR](https://github.com/celo-org/docs/compare/eelanagaraj/link-10dlc-guidance?expand=1) update AS docs related to 10 DLC compliance.

commit 3e9f8e460c428d30287cccdef50a31ed1cbf142c
Author: Gaston Ponti <pontigaston@gmail.com>
Date:   Wed Mar 9 13:37:04 2022 -0300

    TxLookupLimit default to infinite (#9380)

    ### Description

    TxLookupLimit default to infinite (as it was before)

    ### Backwards compatibility

    Yes

commit 1cc59c705c687deb92390ba7712128535c806765
Author: Martin <martin@clabs.co>
Date:   Wed Mar 9 09:41:21 2022 +0100

    Test LinkedList.remove (#9377)

commit 0edc59d0d6d05d30ca8150112d63ac3774148c21
Author: Edwin O <okonkwo.ikechukwu01@gmail.com>
Date:   Fri Mar 4 14:28:13 2022 +0100

    Get pending withdrawal (#9369)

    ### Description

    LockedGold.sol currently provides a way to retrieve all pendingWithdrawals associated to a given account.

    To be able to extract a pendingWithdrawal at specific index, one would need to first do getPendingWithdrawals and then loop through the result to find the record 0(n) and has a DOS vector as found by @tkporter

    ### Tested

    - [x] unit test

    ### Related issues
     https://app.zenhub.com/workspaces/yield-61b75a715d3ecb001007ab9d/issues/celo-org/yield/16

    ### Backwards compatibility

    _Brief explanation of why these changes are/are not backwards compatible._
    This change is backward compatible because it is completely transparent and does not modify existing function signatures etc

commit 84194c71b14e95e76b41541cd0fdc621e3d8e8f1
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Wed Mar 2 16:58:22 2022 +0100

    Update geth version and AS image tag (#9363)

commit a4af8e4413c69d9ca684b99b5212b507991a0820
Author: Victor "Nate" Graf <victor@clabs.co>
Date:   Wed Mar 2 00:26:36 2022 -0800

    Update Baklava nodes to celo-blockchain 1.5.4 (#9355)

    ### Description

    Update the version of cLabs `celo-blockchain` nodes in the Baklava testnet to 1.5.4

commit 40f67a37b986b17adc54df2219a80bcfec49d867
Author: pedro-clabs <77401336+pedro-clabs@users.noreply.github.com>
Date:   Tue Mar 1 17:07:29 2022 +0000

    Add mainnet CELOBRL oracles. (#9105)

    ### Tested

    Deployed to mainnet.

commit 22faf4e6fd74bdc8559cf86ec4ff31552aa07c5c
Author: Emil Hotkowski <emil.hotkowski@gmail.com>
Date:   Mon Feb 28 17:35:46 2022 +0100

    Attestation service pepper verification (#8692)

    ### Description

    I added new, optional verification of odis pepper.

    ### Tested

    I added tests.

    ### Backwards compatibility

    The new field is for now optional, and only when provided we do the verification.

commit cf87ed1f013238c98f68a06e8620b9b4620d00bb
Author: Cody Born <codyborn@outlook.com>
Date:   Mon Feb 28 05:08:12 2022 -0800

    Fix env var name for API key (#9340)

    ### Description

    ODIS Forno API Key env var was specified incorrectly.

    ### Tested

    Tested in Alfajores.

commit 81f84ebdcbf3126dd4d7385a622799d1ecb1713b
Author: Martín Volpe <martin.volpe@gmail.com>
Date:   Fri Feb 25 16:13:08 2022 -0300

    Update oracles full nodes to version 1.5.3 (#9339)

commit 8d3f3f0a5c73359820e99a070a7b48cee247f6b1
Author: Cody Born <codyborn@outlook.com>
Date:   Tue Feb 22 04:14:41 2022 -0800

    Use Forno API key in Signer (#9334)

    * Update combiner to leverage new CK client

    * Config var name must be all lowercase

    * update yarn.lock

    * Add Forno API key to Signer requests

    * Update operator docs

    * Update signer deployment tool

    * Add ODIS Signer API keys

commit 19e2f1347cfe350a7392ec853275223feec2db47
Author: Alec Schaefer <alec@cLabs.co>
Date:   Fri Feb 18 11:54:55 2022 -0500

    ODIS monitor fix (#9303)

    ### Description

    Fixes ODIS monitor function

    Disables domain endpoints

    Adds version number check to signer (and combiner, but the combiner status endpoint has apparently never worked)

    Updates package version numbers for deployment

    ### Other changes

    Version changes to facilitate release of ODIS combiner, signer, and monitor

    ### Tested

    NA

    ### Related issues

    NA

    ### Backwards compatibility

    Yes

    ### Documentation

    NA

commit ff9d776162a8af7072d8cc3396ac87cfdc310578
Author: Valentin Rodygin <valentin@clabs.co>
Date:   Fri Feb 18 11:27:13 2022 +0100

    Config params for the stats page in Blockscout (#9329)

    ### Description

    Added env variables that control the Stats page in Blockscout.

    ### Other changes

    No.

    ### Tested

    Tested on Alfajores.

    ### Backwards compatibility

    Yes.

commit 13906c531054d9c9629f33ef6d78d7f93c3f3176
Author: Victor "Nate" Graf <victor@clabs.co>
Date:   Thu Feb 17 15:49:49 2022 -0800

    Create @celo/encrypted-backup backup for ODIS hardened password encrypted backups (#8896)

    * create encrypted-backup package

    * basic backup and open functions working without any key hardening

    * basic backup and open functions working without any key hardening

    * use io-ts to create serialization and deserialization functions

    * extract the encryption and decryption logic from the main functions

    * add io-ts schema definitions for Domain types

    * add domain field to backup type and schema

    * mix in the domain hash to the key as a simple proxy for ODIS

    * add a stub to hold the place of circuit breaker functions

    * update the dependency graph

    * swap order of circuit breaker and odis stubs

    * [broken] move domains source from @celo/identity to @celo/phone-number-privacy

    * [broken] remove @celo/identity dependency from @celo/phone-number-privacy-common

    * finish removing @celo/identity and a dependency of @celo/phone-number-privacy-common

    * remove duplication and inconsistencies betweem @celo/identity and @celo/phone-number-privacy-common

    * fix linter errors

    * clean up domain state and response types

    * [checkpoint] partially implemented key hardening through ODIS

    * refactor phone-number-privacy a little

    * initial implementaion of odis key hardening logic

    * wire in odis key hardening

    * fix issues occuring during package initialization

    * tests now working against a mock implementation of ODIS

    * add (untested) circuit breaker client implementation

    * add comments and pipe in circuit breaker config values

    * fix issues founds in manual testing

    * add a mock and tests for circuit breaker client

    * add a NO_GANACHE env variable to disable starting ganache for testing

    * round out tests for the circuit breaker client

    * refactor the mock circuit breaker to be ready to export

    * use the circuit breaker for key hardening

    * bump package versions

    * add more information to error handling and debug messages

    * add doc strings to create and open backup functions

    * add wrapper function createPinEncryptedBackup with documentation

    * refactor mock odis

    * handle 429 status from ODIS and add some error condition tests to backup lib

    * seperate handling of fetch errors and add more error case tests

    * add tests for error cases in openBackup

    * remove DO NOT MERGE note

    * update dependency graph

    * add more information to comments

    * add links to the new documentation

    * fix build error in signer

    * change request type definitions and checkSequentialDelay function

    * fix linter errors

    * fix linter errors

    * but like really, fix linter errors

    * ok I was only joking before about fixing the linter errors. this time for sure.

    * add support for computational key hardening [lacks schema or tests]

    * extract odis mock to new file

    * add computational hardening to test config

    * add failure case tests for mutated backups

    * add computational hardening to schema

    * Update packages/sdk/identity/src/odis/circuit-breaker.ts

    Co-authored-by: Alec Schaefer <alec@cLabs.co>

    * consolidate imports

    * address review comments

    * add odis verification error type

    * add safety gate to prevent use of OPRF function for key hardening in prod

    * bump dep versions in phone-number-privacy-common

    * remove new code for encrypted backup

    * Revert "remove new code for encrypted backup"

    This reverts commit e6b4c62781a5f5ffa409caa6f809fdc277ee7fbc.

    * populate index.ts file

    * fix import

    * fix import again

    * update dep graphy

    * fix lint errors

    * fix lint error

    * update dependency graph

    * remove outdated DO NOT MERGE

    * add phone-number-privacy-common to package list and sort the list

    * add @types/express as dev dependency

    * update circuit breaker keys to production values

    * fix typos and add DO NOT MERGE comments for changes to be made

    * bump development version of phone-number-privacy-common package

    * address most of the DO NOT MERGE comments

    * add createPasswordEncryptedBackup function

    * add safety measure to prevent accidental usage of the createBackup API with an empty hardening config

    * fix usages of renamed Endpoint enum

    * fix enum types

    * remove accidentally added walletconnect package

    * fix lint error

    * fix another lint error

    * fix dangling reference to CustomSigner

    * remove dangling refernce to signWithRawKey

    Co-authored-by: Alec Schaefer <alec@cLabs.co>

commit 0ac97fd5677876654aae9296e65f76779da72266
Author: Alec Schaefer <alec@cLabs.co>
Date:   Tue Feb 8 20:58:52 2022 -0500

    Bump sdk versions to 1.5.3-dev (#9300)

commit a85bcfe02f6a3bc7a33947e816b05ffc37f09b53
Author: Alec Schaefer <alec@cLabs.co>
Date:   Tue Feb 8 02:27:11 2022 -0500

    add elliptic library to import-blacklist (#9302)

    ### Description

    Adds elliptic library to ts import blacklist for entire monorepo. This is to prevent vulnerabilities such as the one patched here https://github.com/celo-org/celo-monorepo/commit/a3ede3426f1af06f2126d79a1b4591e08d2624cb

    ### Other changes

    None

    ### Tested

    NA

    ### Related issues

    NA

    ### Backwards compatibility

    Yes

    ### Documentation

    None

commit c6852a0a4a237eba7918fb687bf661ef27fe724e
Author: Alec Schaefer <alec@cLabs.co>
Date:   Fri Feb 4 22:26:02 2022 -0500

    fix elliptic signing (#9271)

    ### Other changes

    Removes elliptic as a dependency from ODIS signer and combiner

    Updates get-contact-matches to rely on the common package's implementation of verifyDEKSignature

    [adds flake tracker to @celo/keystore and increases jest.timeout](https://github.com/celo-org/celo-monorepo/pull/9271/commits/2112edc37c0daf7171103e872cd7d39199d35d2f)

    ### Tested

    Test cases added to phone-number-privacy/common package ensuring that authenticateUser accepts both the new and the old signing schemes (backwards compatibility)

    Test cases added to @celo/identity ensuring that signWithRawKey signs the full message digest rather than the plain text message.

    ### Related issues

    - Fixes #9237

    ### Backwards compatibility

    The verifyDEKSignature function used by authenticateUser() will now accept requests with both the old (incorrect) and the new (correct) authorization signatures. Once clients have upgraded to use this change in the @celo/identity package, the verifyDEKSignature function will be updated again to only accept the new authorization signatures.

    To monitor frequency of requests with incorrect signatures, we have added a new WarningMessage so that we can easily create a log based metric. We will not remove support for the old signing method until ODIS is no longer receiving requests that use it.

    ### Documentation

    None

commit b64e4030bc08b2696ead71d41cfe6d2aa70cdf8a
Author: Enrique Ruiz <enrique@keyko.io>
Date:   Tue Feb 1 14:47:31 2022 +0100

    Publish contracts to sourcify after migration (#9220)

    * Publish contracts to sourcify after migration

    * Add useLiteralContent flag

    * Addressing some comments

    * Fix to work with a report.json file getting network and paths as parameter

    * Fix comments

    * Fix tests and add note

commit 51d6b0a5d36f57427ae2363d8ca4b421240b4e9a
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Tue Feb 1 12:09:44 2022 +0100

    Added a spread bound check in the setSpread function  (#9252)

    ### 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?_
    I've created a bound check for the spread to make sure that its value never exceeds 1.
    ### Other changes

    _Describe any minor or "drive-by" changes here._

    ### Tested

    _An explanation of how the changes were tested or an explanation as to why they don't need to be._
    I've added a condition in the test suite which checks, that the value of spread shouldn't exceed 1.
    ### 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_

commit f46bc14ff7e580b57202ad830ec4af9bb116faa8
Author: Cody Born <codyborn@outlook.com>
Date:   Mon Jan 31 15:00:18 2022 -0800

    Bump to v1.5.2 (#9153)

    * Bump to v1.5.1

    * Update yarn.lock

    * Update yarn.lock

    * Improve git security

    * Update umpirsky references

    * Updating ganache-core version

    * Update yarn.lock

    * Fix mergify deprecation

    * Fix mergify deprecation

    * Add condition to default merge queue

    * Cast AuthSigner into explicit types

    * Keep inter-repo dependencies in-sync

    * update out of sync packages

    * Testing changes to tsconfig

    * Testing moduleResolution

    * Revert tsconfig changes

    * Remove circular dependency

    * Add back other build steps

commit 2d2d52dd054afba23d55c5992aa572609d757c45
Author: Nicolas Brugneaux <nicolas.brugneaux@clabs.co>
Date:   Fri Jan 28 17:40:40 2022 +0100

    chore: remove wallet-walletconnect (#9187)

    Co-authored-by: Daniel Kesler <danielckesler@gmail.com>

commit 0118ecff10e760be1eaeb58adbd7830224968520
Author: Bogdan Dumitru <304771+bowd@users.noreply.github.com>
Date:   Thu Jan 27 13:29:35 2022 +0100

    CELOEUR Oracle Staging deployment (#7299)

    * Add .env.staging config

    * lint

    Co-authored-by: Martín Volpe <volpe@clabs.co>
    Co-authored-by: Martin Volpe <martin.volpe@gmail.com>

commit 8685981001b6643b346949ea51a25a2ea18e8546
Author: Javier Cortejoso <javier.cortejoso@gmail.com>
Date:   Wed Jan 19 17:47:09 2022 +0100

    Update deployment for celo-blockchain 1.5.x (#9021)

    * Updated new geth cmd options for pprof
    * Added new format for geth http/rcp/ws flags
    * Add option to increase rpc request timeouts in geth
    * Updated alfajores to 1.5.0
    * Updated baklava to 1.5.0

commit 29e2ca9f9d85c4d6fef623953f79669af8853ffe
Author: eelanagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Mon Jan 17 14:14:59 2022 +0100

    Re-bump Attestation Service to 1.6.0-dev

commit 3cd772b1121997635701dc80ae14c6a2f9ad7b47
Author: eelanagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Mon Jan 17 13:15:41 2022 +0100

    Fix newKit bug websocket providers in prep for AS v1.5.0

commit f1f02bf9cf71f05dc8a9bca073a560555482f45d
Author: eelanagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Thu Jan 13 19:07:50 2022 +0100

    Bump Attestation Service version to 1.6.0-dev

commit 38c753fb172af278c38f5c3f9041eba420cd6c0f
Author: eelanagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Thu Jan 13 13:52:35 2022 +0100

    Release attestation service v1.5.0

commit d752156e661191e5ff1104e87d70377fd16ca48a
Author: Martin Volpe <martin.volpe@gmail.com>
Date:   Fri May 13 15:10:45 2022 +0200

    Fixed release versions

commit 2c2769985117d2ba232c97fac1b2acaf6941b930
Author: Martin Volpe <martin.volpe@gmail.com>
Date:   Fri May 13 15:09:06 2022 +0200

    Added newline at the end

commit 50aa1df9d3f5e4264f374eeea9ffc6b330dea7e5
Author: Marcin Chrzanowski <martin@clabs.co>
Date:   Tue Feb 22 10:18:55 2022 -0500

    Add version report

commit 18213327e488b610a3e2c31717a79ea1de8d000a
Author: Marcin Chrzanowski <martin@clabs.co>
Date:   Tue Feb 15 11:06:21 2022 -0500

    Add empty initialization data for release 6

commit 373dd350d3f4a477c431435278c600b09483b334
Author: Yorke Rhodes <yorhodes@cLabs.co>
Date:   Tue Nov 30 13:53:06 2021 -0800

    Use OZ safeTransfer in genericTransfer (#9025)

    * Use OZ safeTransfer in genericTransfer

    * Add unit test for safeTransfer revert

commit 680c84b0a25187be62515584ee5769aed75197ad
Author: Yorke Rhodes <yorhodes@cLabs.co>
Date:   Tue Nov 30 13:52:35 2021 -0800

    Use SafeMath in getOffchainStorageRoots (#9026)

commit 662eacd07f94da85d55a02a2f935361b87e83589
Author: Yorke Rhodes <yorhodes@cLabs.co>
Date:   Tue Nov 30 13:44:55 2021 -0800

    Add revert message to removeStorageRoot (#9010)

    * Add revert message to removeStorageRoot

    * Update unit test

commit b5d80c742b7f4ed8a3615e0127e57e96f63b8341
Author: Martín Volpe <martin.volpe@gmail.com>
Date:   Thu Apr 28 14:26:00 2022 +0200

    Added version report CR7 (#9504)

commit 9acf3d041d949ee3aa023ee6afca2609fcd7a22c
Author: Martin <martin@clabs.co>
Date:   Fri Mar 11 10:49:50 2022 +0100

    Add version report for relase 6 (#9386)

    * Add version report for relase 6

    * Generate report against v5

commit 160eed127314f0c82ee2a63b582b5feef3b1a2da
Author: Martin <martin@clabs.co>
Date:   Thu Mar 10 22:57:03 2022 +0100

    Fix test (#9385)

commit 7e9e31a9d7c479ad265a0788886fa055422530fc
Author: Edwin O <okonkwo.ikechukwu01@gmail.com>
Date:   Thu Mar 10 19:05:40 2022 +0100

    Fix typographical errors to improve readablity. (#9250)

    Co-authored-by: Martín Volpe <volpe@clabs.co>
    Co-authored-by: Martin <martin@clabs.co>

commit ae09bf66190a02835ebfbb26ace8506f05eb5208
Author: Martin <martin@clabs.co>
Date:   Thu Mar 10 18:46:31 2022 +0100

    Increment Validators and Accounts versions (#9256)

    * Update prior release tag for CI version checking

    * Fetch the necessary branch

    * Use node 12 on prior release

    * Increment version numbers

    * Bump ExchangeBRL version

    * Add empty initalization data

commit 7849aa80ddb95ef9fc75705b55eb24e72e4169b7
Author: Martin <martin@clabs.co>
Date:   Tue Mar 8 14:43:23 2022 +0100

    Disallow a 0x0 address beneficiary (#9283)

    * Disallow address 0x0 beneficiaries

    * Add function to remove payment delegation

    * Add documentation

    * Require deletion of payment delegation is done by account

    * Specify deletePaymentDelegation as non privileged

commit 7828bd633fbb108f02578a3e372336149e5d3b96
Author: Martin <martin@clabs.co>
Date:   Tue Mar 8 12:26:45 2022 +0100

    Fix indentation (#9285)

commit ca4afce61a5201419b7770863b108e58efcc885e
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Mon Mar 7 15:03:15 2022 +0100

    replaced unnecessary calculations with SECONDS_IN_A_WEEK constant (#9269)

    Co-authored-by: Nina Barbakadze <ninabarbakadze@ninas-mbp.localdomain>
    Co-authored-by: Martín Volpe <volpe@clabs.co>

commit 4625c3fb2899a5145fa02bae16c2857e70ff0660
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Tue Feb 22 21:21:23 2022 +0100

    Resolve inadequate NatSpec (#9270)

* Delete .mergify.yml

* Fixed wrong merge

* Rolled back wallet connect

* lint

* fix lint

* Force CircleCI to fetch all tags

* Brought report from master

* Add nodeSelector and tolerations to fullnode sts template (#9630)

* Update setup.md (#9847)

* docs: Fix some links in SETUP.md

* docs: Point Go instruction to celo-blockchain repo

* Removed cLabs oracles that were handed over to DiWu (#9858)

* Addapt transfer e2e test to Espresso (#9876)

* Addapt transfer e2e test to Espresso

* Fix lint

* Force espresso

* Removed versions for UsingRegistry and patch tooling (#9866)

* Set rate limits default values (#9877)

* Fixed "createFn is not a function" (#9880)

* Blockscout web readonly (#9885)

* Disable write api on web.

* Add explicit erlang-cluster label for pods that should connect.

* Set web to connect to replica db.

* Set labels on the pod rather than the deployment. derp.

* Reenable write api + master db access for blockscout web. (#9886)

* add support for versioned signTypedData methods (#9853)

* add support for versioned signTypedData methods

* improve docs

* stringify data for v3 and v4 of signTypedData

* add support for versioned signTypedData methods

* improve docs

* stringify data for v3 and v4 of signTypedData

* v2 doenst exist

* pr comments from @nicolasbrugneaux

* Leftover changes for CR8 merge (#9881)

* Made certora disabling more explicit
* Added report for CR7 and CI fixing
* Lint
* Removed leftover comments

* adding makerdojo (#9879)

Co-authored-by: Valentin Rodygin <valentin@clabs.co>

* celo-fullnode autoscaling (#9874)

* Added celo-fullnode HPA

* Added values.yaml file for blockscout's rc1 new archive nodes

* Added extraPodLabels to blockscout's new archive nodes

* Removed empty newline

* Fix hpa

* Added some default values

* Removed default values from blockscout env custom values.yaml

* Bump plist from 3.0.1 to 3.0.5 (#9422)

Bumps [plist](https://github.com/TooTallNate/node-plist) from 3.0.1 to 3.0.5.
- [Release notes](https://github.com/TooTallNate/node-plist/releases)
- [Changelog](https://github.com/TooTallNate/plist.js/blob/master/History.md)
- [Commits](https://github.com/TooTallNate/node-plist/commits)

---
updated-dependencies:
- dependency-name: plist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump jose from 2.0.5 to 2.0.6

Bumps [jose](https://github.com/panva/jose) from 2.0.5 to 2.0.6.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/v2.0.6/CHANGELOG.md)
- [Commits](https://github.com/panva/jose/compare/v2.0.5...v2.0.6)

---
updated-dependencies:
- dependency-name: jose
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump moment-timezone from 0.5.26 to 0.5.37

Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.26 to 0.5.37.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.26...0.5.37)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump simple-plist from 1.1.1 to 1.3.1

Bumps [simple-plist](https://github.com/wollardj/simple-plist) from 1.1.1 to 1.3.1.
- [Release notes](https://github.com/wollardj/simple-plist/releases)
- [Commits](https://github.com/wollardj/simple-plist/compare/v1.1.1...v1.3.1)

---
updated-dependencies:
- dependency-name: simple-plist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump jsdom from 16.4.0 to 16.7.0

Bumps [jsdom](https://github.com/jsdom/jsdom) from 16.4.0 to 16.7.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/16.4.0...16.7.0)

---
updated-dependencies:
- dependency-name: jsdom
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Improving package health score  (#9890)

* ensure published package has LICENSE file (all are APACHE 2.0) by copying to each sdk folder pre publish

also fix typing in script

* connect package was not specifying its dependency on celo/base package

* wallet packages did not contain repo or website

* fix dep graph

Co-authored-by: Martín Volpe <volpe@clabs.co>

* Added additional argument for `ElectionWrapper.revokeActive()` (#9708)

* ++ additional arg for `revokeActive()`

* made `totalValue` optional

* changed to optional lesser and greater

* PR feedback

* linter feedback

* PR feedback

* WIP

* WIP

* ++ election wrapper test

* PR feedback

Co-authored-by: Aaron DeRuvo <aaron@clabs.co>

* Move all Blockscout config parameters to Helm (#9140)

* removing unused test gh actions workflow, it never worked anyways and… (#9902)

removing unused test gh actions workflow, it never worked anyways and the secrets it references are gone

Co-authored-by: Patrick Putman <putman.patrick@gmail.com>

* SDK 2.2 + CLI 1.7.1 Release (#9894)

* SDKs 2.2.0 alpha 1

* release CLI and write doc on how to do so

* SDKS 2.2.0 alpha 2

* celo cli 1.7.1 alpha 1

* yarn and add to instructions

* Beta 1 (dont include ts or map files in npm bundles)

* fix yarn file

* tell it to build deps

* try using suffics

* document this weird stuff

* publish 2.2.0 and 1.7.1

* reyarn

* Move celo-fullnode and common charts out from Monorepo (#9905)

* Document celo-fullnode values. Small refactor

* Added initial chart notes

* Values description

* Added initial readme and readme template

* Added initial helm lint action

* Limit helm-lint workflow to celo-fullnode for now

* Force gh workflow execution

* Debug workflow

* Values updated

* Debug workflow

* Debug workflow

* Force debug

* Fixed line to detect the changed charts

* Debug action

* Debug action

* Debug action

* Debug action

* Fix chart linting

* Added Github action for releasing helm charts

* Fix action when no chart changed

* Fix action when no chart changed

* Fix EOF

* Force debug

* Build dependency for common before linting

* Force debug

* Added permissions to Workload Identity Pool in job

* Added permissions to Workload Identity Pool in job

* Debug push helm chart

* Debug push helm chart

* Github Actions for helm working

* Added README.md and variable description to common chart

* Minnor readme changes

* Include common chart in Github Actions

* Force GitHub Action execution

* Updated common dependency reference

* Fix chart reference

* Debug pull helm chart

* Debug chart

* Fix repository region

* Used named parameters for installHelmChart and upgradeGenericHelmChart. Added param for chart version

* Install celo-fullnode from artifact repository in devopsre

* Deleted celo-fullnode and common charts

* Deleted helm GH actions

* Do not build dependencies in external charts

* Fix linter

Co-authored-by: alvarof2 <35505302+alvarof2@users.noreply.github.com>

* Remove legacy build:wallet script (#7974)

Co-authored-by: Aaron DeRuvo <aaron@clabs.co>

* Added support for network suffixes (#9914)

* Infra setup for Banner UI (#9903)

* CeloCli Approval fix (#9925)

* Approval fix

* storage version check added

* lint

Co-authored-by: pahor167 <pavel.hornak@clabs.co>

* ASv2 Contract kit wrappers (#9918)

* add contractkit wrappers for FederatedAttestations & OdisPayments (#9915)

* add contract kit wrappers for federated attestations

* ad odisPayments contract wrapper

* Add Escrow contract wrapper changes (#9917)

* Add Escrow Wrapper types and comments
Add ASv2 changes to Escrow Wrapper
Add Escrow Wrapper tests

* replace date with hardcoded timestamp

* remove string casting

* Fix ts linting errors (#9919)

fix ts-linting errors for asv2 contract kit wrapper additions

* FederatedAttestations wrapper formatting, return types, proxyCall fixes
Escrow wrapper test for failed withdrawals
Replace send() with sendAndAwaitReceipt
Escrow test Pass in accounts array instead of single issuer
OdisPayments use existing tests from OdisCip40

* minor type fix

* given the pattern with existing tools, value should be able to accept a string

* replace send() with sendAndWaitForReceipt()

* Changed to support Alfajores and Baklava on the same domain (#9932)

* CeloCLI release 1.7.2 (#9934)

* Tests forced to run locally (#9933)

Co-authored-by: pahor167 <pavel.hornak@clabs.co>

* Multi envs support cleanup (#9937)

* 'fs' import fix (#9941)

* switch imports of 'fs' module to be either sync require statements (for sync functions) or async imports (for async functions)

This should fix the 'fs' is not a module issue that comes up when using contractkit in a Create React App

There are still some fs imports but they are all in scripts so i believe they can be left

* move 'net' import to its local function so its not called when that isnt used, (should fix module not found issues)

* getWithdrawableAmount in ReleaseGold.sol (#9942)

* getWithdrawableAmount

* polishing

* Update packages/protocol/contracts/governance/ReleaseGold.sol

Co-authored-by: soloseng <102702451+soloseng@users.noreply.github.com>

* Update packages/protocol/test/governance/voting/release_gold.ts

Co-authored-by: soloseng <102702451+soloseng@users.noreply.github.com>

* Update packages/protocol/test/governance/voting/release_gold.ts

Co-authored-by: soloseng <102702451+soloseng@users.noreply.github.com>

* Update packages/protocol/test/governance/voting/release_gold.ts

Co-authored-by: soloseng <102702451+soloseng@users.noreply.github.com>

* PR comments

Co-authored-by: pahor167 <pavel.hornak@clabs.co>
Co-authored-by: soloseng <102702451+soloseng@users.noreply.github.com>

* Added coin name and staging params (#9950)

* src imports dont work once package is released (#9951)

* src imports dont work once package is released

* commit that bump

* add back dev

* Fix wrong version check in CLI (#9954)

* Scaled down forno replica number (#9956)

* Fix show rewards for older epochs (#9953)

* fix staking rewards display

* add useBlockNumber option

* add blocknumber to getvoterrewards

* make useBlockNumber optional parameter

* Add new Coinbase implicit pair for cEUR and bump oracle version (#9959)

* fix combiner migrations

* update domain requests db model to not use a constructor

* update cli docs

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Co-authored-by: isabellewei <isabelle@clabs.co>
Co-authored-by: Cody Born <codyborn@outlook.com>
Co-authored-by: Dave Carroll <12916551+dave-carroll7@users.noreply.github.com>
Co-authored-by: Leszek Stachowski <leszek.stachowski@clabs.co>
Co-authored-by: Victoria <4222953+lvpeschke@users.noreply.github.com>
Co-authored-by: pedro-clabs <77401336+pedro-clabs@users.noreply.github.com>
Co-authored-by: pahor167 <47992132+pahor167@users.noreply.github.com>
Co-authored-by: pahor167 <pavel.hornak@clabs.co>
Co-authored-by: Martin <martin@clabs.co>
Co-authored-by: boqdan <304771+bowd@users.noreply.github.com>
Co-authored-by: Gaston Ponti <pontigaston@gmail.com>
Co-authored-by: alvarof2 <35505302+alvarof2@users.noreply.github.com>
Co-authored-by: Javier Cortejoso <javi@clabs.co>
Co-authored-by: Daniel Swid <da.swid@gmail.com>
Co-authored-by: Daniel Swid <daniel@spirals.so>
Co-authored-by: Aaron DeRuvo <aaron@clabs.co>
Co-authored-by: Daniel Kesler <danielckesler@gmail.com>
Co-authored-by: Martín Volpe <volpe@clabs.co>
Co-authored-by: Abhinav <97618969+abhinavmulagada@users.noreply.github.com>
Co-authored-by: Valentin Rodygin <valentin@clabs.co>
Co-authored-by: Javier Cortejoso <javier.cortejoso@gmail.com>
Co-authored-by: Donald Hutchison <donald.hutchison@clabs.co>
Co-authored-by: Paul Lange <palango@users.noreply.github.com>
Co-authored-by: Gaston Ponti <ponti@clabs.co>
Co-authored-by: Martin Volpe <martin.volpe@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: soloseng <102702451+soloseng@users.noreply.github.com>
Co-authored-by: pputman-clabs <99900942+pputman-clabs@users.noreply.github.com>
Co-authored-by: Patrick Putman <putman.patrick@gmail.com>
Co-authored-by: Silas Boyd-Wickizer <silasbw@gmail.com>
Co-authored-by: Jesse <31524583+Jesse-Sawa@users.noreply.github.com>
Co-authored-by: Michael Straka <mstraka100@gmail.com>
Co-authored-by: Nelson Taveras <nelson@clabs.co>
alecps added a commit that referenced this pull request Oct 27, 2022
* env file changes

* package version changes

* celotool and helm changes for key rotation

* signer README changes

* signer logger changes

* signer key management changes

* signer key management test changes

* signer domain test changes

* combiner test changes

* common package changes

* combiner changes

* signer domain changes

* split combiner and signer endpoints

* fix endpoints import statements

* fix error

* add domain endpoint signatures to combiner

* change error auth error message

* fix response type error in combiner

* commit small changes made during review (#9175)

Co-authored-by: Alec Schaefer <alec@cLabs.co>

* change endpoints to endpoint

* fix import error

* add crypto client constructor

* fix incorrect endpoint

* fix nonce check

* add domain-disable

* start domain-quota-status

* add new errors to common

* add domainRequest table

* request nonce may be greater than or equal to counter

* fixes minor typo

* record requests and allow repeat attempts

* add domainQuotaStatus handler to combiner

* update domain-quota-status

* saving refactor progress

* continue refactor

* delete unused refactor files

* restore get-threshold-signature as backup

* add refactored service to index

* refactor blindedMessage parsing

* fix signer nonce check

* add key version header to signer domain response

* fix nonce check

* fix keyVersion parsing in signer

* various input check changes

* improvements to header setting

* put APIs behind feature flags

* add support for domains specific dev polynomials (still need to generate them)

* various small changes

* saving progress

* refactor KnownDomain to Domain

* decided I was being far to "clever" with all that OmitIfNever malarkey

* add io-ts definitions for requests and responses

* use io-ts types to decode the response from odis

* type safety checks for signer inputs

* add simple tests for request schemas

* fix linter errors

* commit changes to yarn.lock

* downgrade io-ts to 2.0.1 to fix build issues

* use corrected error response generation

* remove endpoint arg from logger calls

* add support for using in-memory sqlite db in tests

* Apply suggestions from code review

Co-authored-by: Alec Schaefer <alec@cLabs.co>

* fix yarn.lock

* getting closer to basic working tests

* add timestamp to sequential delay state

* add server timestamp (date) calculation to findThresholdDomainState

* use t.string instead of ErrorType

* fix incorrect transaction usage and usage of mocks

* refactor and fix usage of transactions

* remove DO NOT MERGE

* add note that would have helped me

* comments from initial read up to combiner.service.ts (#9390)

* fix common package build

* saving progress

* fix combiner build / remove input validation dep injection

* saving progress on fixing signer build

* saving progress on signer build fix

* review comments from another session on #9161

* factor out statefullness from combiner services

* improved Combiner factoring with generics and session class

* minor cleanup

* move Session into its own file

* more cleanup

* cleanup combiner response sending code pattern

* suggestions made during review

* saving progress

* saving progress on signer refactor

* misc cleanup

* saving progress

* saving progress

* saving progress

* saving progress

* add quota service dep injection to signer

* delete old code

* misc changes from pr reviews

* use dep injection in signer

* signer cleanup

* signer key handling cleanup

* more small signer cleanup

* minor domain signer db code cleanup

* review suggestions from pass 3 on #9161 (#9420)

* update signer key version code based on feedback

* responds to more feedback

* pass in enabled config as constructor parameter

* use TxResult type in domainSign action

* addresses more signer feedback

* fix error

* saving progress on combiner refactor

* Edits to #9161 on March 29th (#9424)

* fix build of @celo/identity

* fix build of @celo/encrypted-backup

* fix combiner build. adds DO NOT MERGE tags

* fix signer build

* add prettier-ignore

* remove type hacks

* fix build error in combiner

* minor edits

* Fix type errors in #9161 due to indistinguishable request types (#9425)

* update docstring comments to reflect changes

* add request type tags

* address @victor comments

* saving progress

* gets combiner build passing

* add back logResponseDiscrepencies

* cleanup

* combiner cleanup

* Reduce quota timestamp precision to seconds in #9161 (#9435)

reduce timestamp precision to seonds

* Adding tests and fixing bugs in ODIS CIP40 implementation (#9620)

* fix build and tests for phone-number-privacy-common

* fix rebase issues

* fix sequential delay domain predicate test

* update dependencies and fix breaking knex changes

* fix unbound context issues and calling of non-function logger

* fix bad type usages and get the initiate set of domain tests working

* temporarily comment out index.test.ts

* get additional tests building

* fix up error resulting in NaN config values

* fix up handling of default key versions

* swap out bls for poprf in domain sign

* fix encoding for private key

* generate new keys for development of the domains API

* update node in circleci docker image

* downgrade node-gyp

* update yarn.lock

* fix build errors in odis mock

* saving progress on signer tests

* Signer integration tests w/ status checks only

* add response content checks to signer domain tests

* move files around

* improve class names

* fix build error

* update comment

* saving progress on combiner test scaffolding

* update combiner knex version, combiner test scaffolding progress

* saving progress

* saving progress

* saving progress

* remove debugging print statements

* fix signer integration tests

* add test:integration command to package.json

* parameterize signer migration path

* fix db connection error in combiner tests

* saving progress

* fix error

* add legacy io to combiner pnp sign endpoint

* fix boolean type casting on db read in signer

* fix signer key version test

* saving progress

* [odisCip40] Fix dev dependency and a typo (#9701)

fix dependency inclusion and typo

* refactor file structure

* gets combiner tests running

* saving progress on combiner tests

* saving progress

* fixes key version header handling

* On-chain ODIS for quota (#9710)

* Implement protocol scaffolding for OdisBalance.sol

* Implement contractkit scaffolding for OdisBalance

* Add basic pnpQuota integration test scaffolding

* Implement OdisBalance.sol and unit tests

* Add functions to IOdisBalance

* Implement OdisBalance CK wrapper and tests

* Checkpoint: implementation and tests working before extracting out abstract class

* Add query price constant to signerConfig

* Comments and test case for larger quota amounts

* Refactor out common pnp quota abstract class

wip start refactor - tests pass

wip checkpoint: factored out the common pnp quota class

wip checkpoint pre:rename

wip remove test comment

* Rename pnp classes and relevant files

* Add integration test cases for failure codes for onchain pnp

* Add integration tests for legacy quota endpoint

* Delete old query quota unit tests that don't work

* Add endpoint labels to metering

* Add logging for odisbalance and fix logging for other funcs in contracts.ts

* Nit: remove TODO

* Address PR comments

* Rename OdisBalance -> OdisPayments

* Update packages/phone-number-privacy/combiner/src/common/combine.ts

Co-authored-by: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>

* Update packages/phone-number-privacy/combiner/src/legacy/endpoints/signing/get-threshold-signature.ts

Co-authored-by: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>

* fix domain/quotaStatus integration tests (#9742)

fix tests

* Add endpoint for getting combiner quota (#9767)

* combiner quota

* PR comments and add IO class

* Refactor crypto clients in combiner (#9749)

* Implement first pass at POPRF logic

* Extract out abstract class

* Fix combiner endpoint to be post instead of get

* Add client-side unblinding in test success cases

* Reorganize files

* Extract out CryptoSession

* Rename CombinerCryptoClient and file

* Add docstrings and clean up some comments

* Fix test PK processing in signer domain integration tests

* Fix combiner and signer bls-signature.test.ts

* Remove leading space in domain.test.ts

* Fix lint for relevant files

* Nits

* Rename DomainCryptoClient cryptoClient field

* Make combinePartialBlindedSignatures sync instead of async

* Remove unnecessary awaits

* Make combine sync instead of async

* Improve signer and combiner domain.test.ts (#9756)

* Unblind signer signatures in domain signer tests

* Fix nonce tests in signer domain.test.ts

* Fix nonce in combiner domain.test.ts and improve error message

* Fix flakiness in combiner domain tests

* Address PR comments: change req1->req

* Increment nonce in the nonce > domainState tests

* Factor out sign error code handling to subclasses

* Fix failing integration tests due to merge + quota endpoint

* [ODISv2] Bump @celo/poprf and fix poprf.test.ts (#9751)

* fix domain/quotaStatus integration tests (#9742)

fix tests

* fix the poprf.test.ts

* bump @celo/poprf version in other packages

Co-authored-by: Alec Schaefer <alec@cLabs.co>

* fix odis cip40 CI  (#9743)

* update dependency graph

* fix lint errors

* import -dev version of odis common package into encrypted backup sdk to fix build error

* add common package tests to CI

* remove do not merge statements so that CI passes, convert to TODO

* fix circleci config

* removes two more do not merge comments and changes them to TODO statements

* skip broken poprf tests, add ts-ignore for legacy pnp sig request type

* fix build errors

* fix import paths

* fix keystore tests

* fix combiner bls tests

* saving progress

* bump poprf version in combiner

* unskip poprf tests

* comment out index tests

* misc fixes

* fixes error

* fixes error

* Combiner PNP Sign integration tests (#9773)

* Add basic scaffolding for combiner pnp integration tests

* Extract contractkit out of startSigner -> parameter

* Update combiner poprf dep to 0.1.9

* Fix key header handling in domain tests and config in signer pnp

* First pass at combiner PNP sign tests

* Fix out of quota test & signer logic

* Fix pnp sign key version checking in combiner

* Clean up tests

* Fix PNP key handling and test with threshold pks

* Remove console logs and small fixes

* Allow combiner to take in optional mockKit and update tests to use the same mock

* Address PR comments

* Fix CI tests (+ start debugging flakiness)

* Update packages/phone-number-privacy/combiner/test/integration/pnp.test.ts

Co-authored-by: Alec Schaefer <alec@cLabs.co>

* Refactor DEK signing and use this in pnp tests (#9787)

Due to issue merging PR in GitHub, manually squashed/merged.

Squashed commit of the following:

commit 2688fcc8f90942df2517da692a216bdde724219f
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Mon Aug 29 11:24:46 2022 +0200

    Clarify comment

commit 18a260bd6c7da88ff102163ce363954a54268aff
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Fri Aug 26 19:26:33 2022 +0200

    Add dependency graph change

commit 97f6c28329c4e1e01039aa578a3cac3967416c3f
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Fri Aug 26 19:24:26 2022 +0200

    Clean up package.jsons

commit ad7ecd3e1cabf753797558978c0b5a41feeb9f51
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Fri Aug 26 18:03:28 2022 +0200

    Fix a couple of imports

commit c864acf12dd6c4605eaeb68ddb74ce17c8edc9ca
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Fri Aug 26 12:41:15 2022 +0200

    Address PR comments

commit a37af0bda91d2a68f2e4ff79b81f8add0a397c0d
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Thu Aug 25 17:59:52 2022 +0200

    Clean up dependencies

commit ed85a4bf8bbe5a97f1e6c8f1821896ee6cde5608
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Thu Aug 25 16:57:07 2022 +0200

    Simplify getPnpRequestAuthorization helper

commit d58090070ce5d5ea6d7ac02a7df867c9712a08ee
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Thu Aug 25 16:50:47 2022 +0200

    Add test for PNP combiner request with DEK authentication

* Implement combiner LEGACY_PNP_SIGN tests (#9788)

* Implement legacy sign tests first pass

* Move common BLS_THRESHOLD_* params to common > values

* Include governance migrations to fix build

* Combiner quota integration tests (#9783)

* Add basic scaffolding for combiner pnp integration tests

* Extract contractkit out of startSigner -> parameter

* Update combiner poprf dep to 0.1.9

* Fix key header handling in domain tests and config in signer pnp

* First pass at combiner PNP sign tests

* Fix out of quota test & signer logic

* Fix pnp sign key version checking in combiner

* Clean up tests

* Fix PNP key handling and test with threshold pks

* Remove console logs and small fixes

* Allow combiner to take in optional mockKit and update tests to use the same mock

* initial combiner quota tests

* Address PR comments

* Fix CI tests (+ start debugging flakiness)

* Add test for PNP combiner request with DEK authentication

* Simplify getPnpRequestAuthorization helper

* Clean up dependencies

* Address PR comments

* Fix a couple of imports

* add more tests

* small typo

* Clean up package.jsons

* Add dependency graph change

* PR comments

* make compatible with eela's most recent changes and add test

Co-authored-by: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>

* ODIS 2.0.0 TODO cleanup (#9782)

* initial cleanup and grooming of TODOs

* add TODO for broken fail open logic

* adds another TODO

* adds TODOs and ticket links

* add additional ticket links

* remove comment

* fix lint error

* remove combiner status endpoint to fix build

* Add threshold state values to pnp sign responses in combiner (#9819)

* Pass quota lookups through to combiner on pnp sign request and response

* Extract out thresholdStateService code into SignAction abstract class

* Rename CombinerThresholdStateService -> PnpThresholdStateService

* Consolidate PnpState and PnpQuotaStatus and fix var naming

* Change combiner PNP_QUOTA endpoint from get -> post

* Fix lint

* Signer pnp sign integration tests (#9776)

* first pass

* saving progress

* add error tests

* fix typo

* fix db write error handling tests

* fix last couple pnp legacy tests

* saving progress

* finish pnp.test.ts

* add key version header checks to tests

* cleanup TODOs, add links to new tickets

* addresses some feedback

* responds to a couple more minor comments

* addresses some more feedback

* addresses the rest of non-test feedback

* add tests for if performedQueryCount > totalQuota

* add checks for when keyVersion header is undefined

* fixes errors

* update bunyan err logging

* adds db state checks to tests

* add tests for performedQueryCount == totalQuota == 0

* fix lint errors

* fix combiner tests

* addresses remaining feedback

* fixes error

* Implement logResponseDiscrepencies functions (#9825)

* add logResponseDiscrepancies functionality in action files

* change debug to warn

* fix bad merge

* delete duplicate error msg

* move functions out into services

* wip

* fix version number to get tests to pass

* add warnings field to session

* fix lint errors

* PR comments

* Handle combiner total quota discrepancies (#9857)

* handle inconsistent total quota responses

* fix

* add tests

* PR comments

* add todo

* DEK authentication tests (#9849)

* add DEK tests to signer

* add combiner DEK tests

* change toStrictEqual

* addresses feedback

* adds links to new tickets in TODOs

* Add codecov to ODIS pkgs  (#9838)

* add configs for local coverage testing

* fix test

* add coverage thresholds

* move domains test file

* adds extension recommendation

* make add coverage testing to CI

* Put fail-open logic behind an ENV var (#9864)

* put all fail open logic behind an env var

* adds tests

* add sanity check to tests

* fixes deep copy logic throughout tests

* Audit DB logic in ODIS 2.0.0 & standardize signer metering (#9846)

* WIP Notes and todos from readthrough

* Reduce redundant query code and make locking a bit clearer

* Use meter function in database wrappers

* Change toMatchObject -> toStrictEqual in tests

* Refactor metering in startSigner and add some error handling

* Remove TODO: clean up locking readability

* Add env var for verbose knex debug logs

* Move meter function to metrics.ts

* Fix hanging after rollback in pnp sign

* Small fixes and remove stale TODOs

* Fix tiny edge case in signing db rollback logic

* Add tiny domain DB write optimization

* Fix lint

* Slight fix for another edge case

* Update comment and remove TODO

* Fix tests post rebase

* Simplify DB rollback logic

* Nits

* Address PR comments

* Unit tests for threshold state services (#9873)

* add logResponseDiscrepancies functionality in action files

* change debug to warn

* fix bad merge

* delete duplicate error msg

* move functions out into services

* wip

* fix version number to get tests to pass

* add warnings field to session

* fix lint errors

* PR comments

* handle inconsistent total quota responses

* fix

* add tests

* PR comments

* add todo

* threshold state unit tests

* PR comments

* Audit logging, imports and filenames (#9888)

* add logResponseDiscrepancies functionality in action files

* change debug to warn

* fix bad merge

* delete duplicate error msg

* move functions out into services

* wip

* fix version number to get tests to pass

* add warnings field to session

* fix lint errors

* PR comments

* handle inconsistent total quota responses

* fix

* add tests

* PR comments

* add todo

* threshold state unit tests

* logging formatting

* audit log levels

* fix imports

* remove comments

* standardize filenames to kebab case

* fix bad merge

* Audit req/res endpoints (#9904)

* Make warnings non-optional since they are always sent on success

* Standardize disableDomain response types and handling

* Pass around quotaStatus objects

* Separated new & legacy requests

* Separated new & legacy accounts

* Cleanup after splitting databases out

* Add draft TODOs for replay handling

* Separate SignAction into separate legacy and new classes

* Remove request-specific params from DB wrappers to prep for separating legacy and new request types

* Remove hashedPhoneNumber from new pnp endpoint reqs

* Add and log domainState in domain sign responses

* Remove unnecessary fields in pnp sendFailure

* Update SDK naming

* Fix lint & general test from main branch

* Fix threshold-state file name capitalization

* Address comments

* Delete GetBlindedMessageSigRequest

* Use enum for legacy vs. new accounts and requests tables

* Add issue links and TODOs

Add issue and TODO for SDK work

* Standardize migration filenames

* Specify db enums for table types

* Bugfix & add TODO

* Add comments and remove TODO

* Flakey domain test

* Bugfix part 2

* Combiner-side fail open logging (#9868)

* add combiner side logging of fail-open(s)

* fix build err

* PR feedback

* parse out now field when logging signer responses

* add combiner response logging tests

* fixes test

* Odis SDK get quota status (#9927)

* getQuotaStatus in odis sdk

* add tests

* use generic request types in query function

* update response types

* Audit timeout and responses (#9940)

* Add test cases for timeout issues

* Add draft tests for signer timeouts & sign timeout logic

* Implement first draft: tests pass

* Simplify pnp quota timeout logic

* Extract stuff from action -> controller where possible

* Clean up DB error handling in domain actions

* Add PNP tests and fix DB errors thrown

* Fix lint and remove TODOs

* Rename signer addEndpointWithTimeout function

* Add outer response error handling in combiner

* Small fixes

* Address PR comments

* Drive by logging fix in the combiner

* key rotation audit  (#9958)

* saving progress

* cleanup todo statements

* add key versions to signer tests

* adds key versions to combiner tests

* fix coverage

* fix dev key version

* fix docstring

* delete backwards compatibility types

* fixes test

* fix identity sdk tests

* responds to minor feedback

* addresses more feedback

* addresses more feedback

* addresses more feedback, refactors key-version.ts

* deletes get-threshold-signature.ts

* use KeyVersionInfo[] in combiner config

* add tests for unsupported key version to signer

* add tests for unsupported key versions to combiner

* add comment about deployment

* fix lint error

* Fix merge conflicts + build (#9966)

* ASv2 Scaffolding (#9430)

* Add barebones FederatedAttestations contract, proxy, and interface

* Make TODOs ASv2 specific

* Add FA usages to existing files

* Add skeleton migration file

* Add test scaffolding

* Add CK wrapper and test

* Fix contract migrations and failing CK test (#9455)

* Fix migration order and governance ownership

* Fix quicktest backup migrations

* Update devchain migration in other test:reset commands

* Comment out FA config to fix lint tests

* ASv2 Onchain Registry (#9431)

* Add barebones FederatedAttestations contract, proxy, and interface

* Make TODOs ASv2 specific

* Add FA usages to existing files

* Add skeleton migration file

* Add test scaffolding

* Add CK wrapper and test

* storage variables, reading and writing functions

* add function signatures

* fix merge conflict

* Fix compile errors in initial SC implementation (#9472)

* Fix compilation errors

* Fix delete such that it compiles

* Add TODO for revokeSigner

Co-authored-by: Isabelle Wei <isabelle@clabs.co>

* small function name capitalization

* include PR comments

Co-authored-by: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>

* Implement unit tests for FederatedAttestations (#9565)

* add describe blocks for federated attestation tests

* ASv2 validateAttestation functionality and unit tests (#9532)

* validate attestation with eip712

* validate signature of attestation

* modify revokedSigners to boolean instead of time-based

* validate signer

* add validateAttestation docstring

* ASv2 initialize unit tests (#9544)

* initialize unit tests

* ASv2 registerAttestation unit tests (#9543)

* registerAttestation tests

* add docstring and use safemath

* PR comments and additional tests

* Implement FederatedAttestations lookup* unit tests (#9522)

* Modify lookupAttestations to not require ABIEncoderV2

* Implement unit tests for lookupAttestations

* Fix _isRevoked logic

* Clean up lookupAttestations tests

* Fix safemath use and docstring in lookupIdentifiersByAddress

* Implement unit tests for lookupIdentifiersByAddress

* Remove fixed TODO

* Fix some linting errors

* Nit: revocation boolean return

Co-authored-by: Cody Born <codyborn@outlook.com>

* Address PR comments

* Update lookup tests to use register and fix out of gas

* Unify variable names

* Remove ABIEncoderV2

* Add TODO ASv2 to fed-attestations-utils comments to revisit

* Update var names (part 2) to fix linting

* Fix lint checks in FA contract

Co-authored-by: Cody Born <codyborn@outlook.com>

* ASv2 deleteAttestation unit tests (#9563)

* deleteAttestation unit tests

* rename variable

* gas optimizations

* Fix delete loop incrementing

* Add revoke test case for registration

* Add case for registration when issuer == signer of attestation

Co-authored-by: Isabelle Wei <isabelle@clabs.co>
Co-authored-by: Cody Born <codyborn@outlook.com>

* Fix phone-utils dependency

* Add and fix lookup* functionality (#9577)

* Return counts per issuer for lookupAttestations

* Return counts per issuer for lookupIdentifiersByAddress

* Add lookupAllAttestations (+ helper getTotalNumberOfAttestations) and tests

* Add getNumberOfUnrevokedAttestations and tests

* Nit: fix ordering of expectations and actuals in check helper funcs

* Add getNumberOfUnrevokedIdentifiers and tests

* Fix var naming in getTotalNumberOfAttestations

* Add getTotalNumberOfIdentifiers and tests

* Add lookupAllIdentifiersByAddress (+ helper getTotalNumberOfIdentifiers) and tests

* Reorganize tests for looking up attestations

* Reorganize tests for looking up identifiers

* Fix scope of test helper functions

* Address ASv2 PR comments

* Add mini-fixes post benchmarking

* Make getTotalNumberOf* functions internal

* Add comments to address PR review

* Add includeRevoked param to lookupAllAttestations

* Add includeRevoked param to lookupAllIdentifiersByAddress

* Fix docstrings

* Rename lookup functions and helpers

* Nit use ternary assignment

* Rename identifierToAddresses -> identifierToAttestations

* Unnest if statements in lookup funcs to address PR comments

* Fix and update TODOs to include DNM

* Fix lint checks

* Remove DNM as this blocks linting :-|

* Check variable storage states in register and delete tests (#9576)

* check storage state in tests

* fix lint errors

* PR comments

* revert when deleting nonexistant attestation

* fix lint

* [ASv2] Individual attestation revocation (#9603)

* individual revocation

* add back lookup functions

* PR comments

* tests passing

* more tests

* PR comments

* more PR feedback

* fix tests

* lint fix

* [ASv2] direct attestations from issuers (#9627)

* individual revocation

* add back lookup functions

* PR comments

* tests passing

* more tests

* renamed a function and separated signature check for (issuer == msg.sender) case

* allows for registering attestations directly from the issuer

* refactored require statements

* overloaded registerAttestation function, cleaned up comments

* added test cases for (issuer==msg.sender) flow

* changed registerAttestation to registerAttestationAsIssuer

* changed order of arguments in contract tests to reflect actual argument order

* update tests and fn params ordering

* fix lint

Co-authored-by: Isabelle Wei <isabelle@clabs.co>

* Fix Escrow bug and refactor (part 1) existing Escrow tests (#9617)

* Fix and add transfer test cases

* wip: withdraw helper

* wip: checkpoint 2 pre-withdraw cleanup

* wip: checkpoint after most withdraw tests done

* wip: slightly clean up transfer checks

* wip checkpoint before extracting delete

* wip finish up extracting out delete checks

* wip remove doubleTransfer and add revoke messages

* wip: clean up and match names between Escrow.sol and tests

* Add tests for events emitted

* Remove get*PaymentIds (further refactoring steps) for now

* Fix identifier length bug

* Nit: update method for getting aPhoneHash

* Simplify require conditional expressions in transfer and withdraw

* Fix build after rebasing ASv2

* Fix Withdrawal event 'to' field to reference receiver of withdrawal funds

* Nit: cleanup ASv2 base branch console.log

* Modify lookup functions to include publishedOn (#9634)

* modify lookup functions to include publishedOn

* more tests

* lint fix

* PR comments

* fix lint

* check publishedOn in lookup tests

* stricter publishedOn tests

* Add batch revocation functionality (#9647)

* First set of benchmarks

* Revoke and batchRevoke optimizations

* Add tests and make small fixes in response

* Clean up TODOs and benchmarking

* Fix lint

* Add signer deregistration case for registration

* Address PR comments

* Reorder comment after merge

* Upgrade Escrow from UsingRegistry V1 to V2 (#9631)

* Upgrade Escrow from UsingRegistry V1 to V2

* Change FederatedAttestations from UsingRegistry V1 to V2

* Update backupmigrations script to include correct BRL paths

* Add release8 data

* Remove TODOs and commented out test

* Add getFederatedAttestations to UsingRegistryV2

* Fix tests in CI

* Update registry-utils to fix migration tests

* Add comment explaining registry placeholder

* Change publishedOn check

* Fix lint

* Fix setup to only assumeOwnership in CI

* Rename UsingRegistryV2WithStorageSlot -> UsingRegistryV2BackwardsCompatible

* Escrow updates for ASv2 (#9636)

* Implement transferWithTrustedIssuers

* Update transfer and revoke tests

* Implement withdraw and mock tests

* Nits: fix linting, remove some TODOs, reformat text in tests

* Add logic for setting defaultTrustedIssuers

* Simplify transfer logic and docstrings and add unset event

* Reorder escrow functions based on solidity style guide

* Nit remove TODOs

* Use FederatedAttestations instead of MockFA in escrow tests

* Address PR comments

* Remove redundant comments

* [ASv2] PR review updates (+ solidity style guide #9651) (#9653)

* reorder functions to follow solidity style guide

* update visibility

* PR updates

* use struct to fix stack too deep

* Fix named returns

* Nits: solidity style guide reorderings

* Nit: consistent ordering for getVersionNumber with Escrow

* Remove outdated TODO - re: removed assert

Co-authored-by: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>

* [ASv2] update attestation hash (#9659)

* use eip712 hash for unique attestation hash

* add signer to eip712 typed data

* oops

* lint

* concaatenate strings

* Add limits to attestation and identifier arrays (#9656)

* Add hard constraints on identifiers and accounts arrays

* Nit: fix test case description

* WIP: benchmarking storage vs copying for batch revocation

* wip: store ugly benchmarking code

* Use 20 as limit for attestations and identifiers

* Nit: rename variable

* PR fixes (comments, docstrings, remove FA from UsingRegistry) (#9660)

* PR fixes: comments, docstrings, remove FA from UsingRegistry

* Use defaultTrustedIssuers directly instead of getter

* Remove duplicate revocation test case

* Remove stale TODOs

* Add comments and spacing

* Add functions to interfaces for FederatedAttestations and Escrow (#9655)

* add fns to interface for FA and Escrow

* add pure function

* fn param names everywhere

* Improve bignumber handling in escrow and federatedattestations tests (#9633)

* Improve bignumber handling in escrow and federatedattestations tests

* fix up merge

* Add comments and fix line spacing

* Remove stale TODO

Co-authored-by: Isabelle Wei <isabelle@clabs.co>

* add comment

* [L04] explicitly define scope of state vars in UsingRegistryV2

* [M03] use SafeERC20 library in Escrow

* [M02] remove unnecessary issuer parameter and TODOs

* [M01] limit trustedIssuers in Escrow payments

* Update rc1staging-archivenodes-values.yaml to match currently deploye… (#9694)

Update rc1staging-archivenodes-values.yaml to match currently deployed version

* Remove deprecated monitoring commands from celotool (#9699)

* Remove deprecated monitoring commands from celotool

* One more unnecessary file

* Update README

* Change bitnami's helm chart repository.

To the archived version, supporting old charts (as per
https://github.com/bitnami/charts/issues/10539).

* Upgrade eksportisto.

To build with tag 41fd75246c7108716be373d2d36cac13996034fc.

* Restart eksportisto indexers every 30 minutes.

Useful as they might be stuck, potentially due to goroutine leaks.
Instead of implement a health check, a readiness probe with a 1800 secs
delay was used. This means the process will restart every 30 minutes,
regardless of being frozen or not.

* Remove old eksportisto deployment.

Also removes the scaffolding to support multiple concurrent eksportisto
releases.

* Use solhint-disable-next-line in derived Proxy contracts (#9732)

Proxies

Co-authored-by: pahor167 <pavel.hornak@clabs.co>

* Format @return NatSpecs correctly (#9733)

* Format @return NatSpecs correctly

* lint fix

* PR comment

* Update packages/protocol/contracts/common/Accounts.sol

Co-authored-by: Martin <martin@clabs.co>

* Update packages/protocol/contracts/common/linkedlists/AddressSortedLinkedList.sol

Co-authored-by: Martin <martin@clabs.co>

* PR comments 2

* typo fix

* Update packages/protocol/contracts/governance/BlockchainParameters.sol

Co-authored-by: Martin <martin@clabs.co>

Co-authored-by: pahor167 <pavel.hornak@clabs.co>
Co-authored-by: Martin <martin@clabs.co>

* Make governance tooling work with arbitrary transactions (#9735)

* Make governance tooling work with arbitrary transactions
* Fix contractkit cache issue with Proxy contracts

Co-authored-by: Gaston Ponti <pontigaston@gmail.com>

* Blockscout: Enable empty block sanitizer (#9746)

* Upgrade alfajores and baklava to 1.5.8 (#9682)

Co-authored-by: Javier Cortejoso <javi@clabs.co>

* Bump version of MetaTransactionWalletDeployer (#9753)

* Return to the correct original git state (#9755)

* Checkout correct old migrationsConfig

* Checkout correct old contracts

* Add Payment Delegation Commands to CLI (#9700)

PR by @swidnikk

Allow validator payment delegation to be managed via the CLI

- add support to allocate a fraction of rewards by delegating to a named
beneficiary from the cli
- new cli commands for get, set, and delete within account
- add cli documentation
- expose functionality available in Accounts.so

* Add Payment Delegation Commands to CLI (#9766)

* Add Payment Delegation Commands to CLI

* add support to allocate a fraction of rewards and delegate to a named
  beneficiary
* new cli commands for get, set, and delete
* expose functionality available in Accounts.so

WIP

* its not clear which account the context applies to
* delete has not been fully tested

[#182759476]
[Test] y
[Review] y

* Complete support for delete and set

* add account parameter that commands are executed for

[finishes #182759476]
[Test] y
[Review] doug@spirals.so, helena@spirals.so

* Address code review comments in upstream pr

* upstream pr https://github.com/celo-org/celo-monorepo/pull/9700
* remove commented code
* remove references to fixidity lib in docs
* remove unecessary getter definition

[#182759476]
[Test] y
[Review] m-chrzan

* Add payment delegation unit tests, generate docs

* upstream pr https://github.com/celo-org/celo-monorepo/pull/9700
* test for invalid payment delegation fraction greater than 1
* test that fetched delegation values are equal to values set
* test that deleting delegation clears values
* fix up cli example help
* generate docs for account.md

[finishes #182759476]
[Test] y
[Review] m-chrzan

Co-authored-by: Daniel Swid <daniel@spirals.so>
Co-authored-by: Javier Cortejoso <javi@clabs.co>

* CLI 1.6.3 release (+ SDK 2.1)  (#9741)

Co-authored-by: Daniel Kesler <danielckesler@gmail.com>

* Remove GKE workload metrics (#9712)

* Remove GKE workload metrics Helm Charts

* Remove GKE Workload Metrics from celotool

Co-authored-by: Javier Cortejoso <javi@clabs.co>

* Switch to using the npm version of bls12377js (#9673)

Co-authored-by: Martín Volpe <volpe@clabs.co>

* Allow installing Helm charts from public repository. Grafana chart updated (#9754)

* Updated grafana/grafana chart to version 6.32.3

* Grafana installed from public chart repository

* Add grafana repository when installing/upgrading grafana

* Fix linter

Co-authored-by: Victoria <4222953+lvpeschke@users.noreply.github.com>

* Upgrade Typescript to 4.7 (#9769)

* Keep more Prometheus metrics (#9770)

* Update Prometheus drop regex to keep container_memory_usage_bytes

* Keep kube_pod_status_phase

* Include kube_pod_container_status_restarts_total metric

* Exclude kube_pod_container_state.+ metrics

* dequeueProposalsIfReady should not update the dequeue timestamp if there were not proposals to dequeue (#9739)

* dequeueProposalsIfReady should not update the dequeue timestamp if there were not proposals to dequeue

* Update packages/protocol/test/governance/network/governance.ts

Co-authored-by: Martin <martin@clabs.co>

* Update packages/protocol/test/governance/network/governance.ts

Co-authored-by: Martin <martin@clabs.co>

* Update packages/protocol/test/governance/network/governance.ts

Co-authored-by: Martin <martin@clabs.co>

* PR comments

* governance version update

* fix for failing tests

* minor refactoring

* test fixes

* Contract kit tests fix

* revert of blank space

* PR comments

* PR comment

Co-authored-by: pahor167 <pavel.hornak@clabs.co>
Co-authored-by: Martin <martin@clabs.co>

* updating links to dashboardv2_1 (#9791)

* Added env variables for walletconnect support (#9810)

* Implement OdisPayments.sol and unit tests (#9740)

* Implement OdisPayments.sol and unit tests

* Update registry varname because of UsingRegistryV2 changes

* Add release data

* Fix migration override params in package.json

* Address PR comments

* Parallelize approval and referendum governance stages  (#9779)

* Ability to vote during approval stage

* Removal of Approve stage altogether

* Removal of approval stage

* Added tests to governance.sol

* removal of test skips

* contractkit build fix

* cli build fix

* contractkit test fixes

* lint fix

* contract kit fix

* cli test fixes

* formatting

* PR comments

Co-authored-by: pahor167 <pavel.hornak@clabs.co>

* Update Mainnet Oracles (#9785)

* Remove Prometheus to Stackdriver exports from ODIS (#9688)

* Disable Stackdriver in ODIS Staging and Alfajores

* Add Grafana required values

* Disable Stackdriver in ODIS Mainnet

* Small Prometheus metrics improvements (#9797)

* Disable Stackdriver for rc1staging

* Sort metrics dropping regex

* Expand regex for dropping kube_pod_container.+ metrics

* Re-add kube_pod_status_ dropping rules

* Typos: do not undo https://github.com/celo-org/celo-monorepo/pull/9770

* Upgraded Helm Charts versions. Added ingressClassName to ingresses (#9771)

* Updated grafana/grafana chart to version 6.32.3

* Grafana installed from public chart repository

* Add grafana repository when installing/upgrading grafana

* Fix linter

* Include Local Loki datasource

* nginx chart version 4.2.1

* Bumped prometheus to 2.38.0

* Cert-manager bumped to 1.9.1

* Added ingressClassName to ingress resources

Co-authored-by: alvarof2 <35505302+alvarof2@users.noreply.github.com>

* Comment about local grafana default datasources (#9829)

* Enable epoch rewards for rc1staging (#9702)

* Infra support for creating erlang cluster in blockscout pods (#9841)

* Give all blockscout nodes 'blockscout' as erlang node name

* Set erlang cookie from secret in deployments.

* Set pod ip as environment variable.

* Possibility of adding extraPodLabels to celo-blockchain podTemplates (#9842)

* Fixed loadtest template

* Baklava and alfajores upgraded to 1.6.0

* Added extraPodLabels to celo-blockchain podTemplates

* Include logs from namespace blockscout (#9860)

* RC7 -> RC8 (#9865)

* Squashed commit of the following:

commit 7f44cef046b465975aec476d6630db92e4b36f9e
Author: Martin Volpe <martin.volpe@gmail.com>
Date:   Fri May 13 15:10:45 2022 +0200

    Fixed release versions

commit 24968ec330c548be622cd3a58d5ea79c7f0c64f2
Author: Martin Volpe <martin.volpe@gmail.com>
Date:   Fri May 13 15:09:06 2022 +0200

    Added newline at the end

commit 1e70975a232a306caa8ccf4d629898b52dcf5a5c
Author: Marcin Chrzanowski <martin@clabs.co>
Date:   Tue Feb 22 10:18:55 2022 -0500

    Add version report

commit 8457f408b476576f67ee3ce2a963253ce63ab4fc
Author: Marcin Chrzanowski <martin@clabs.co>
Date:   Tue Feb 15 11:06:21 2022 -0500

    Add empty initialization data for release 6

commit a92491598c50445001d2abb7566fce0e8b5e7fb6
Author: Martín Volpe <volpe@clabs.co>
Date:   Mon May 9 22:24:24 2022 +0200

    Fix Oracle check (#9527)

commit 292c443f52779a345b5b26d28be650b2231d2854
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Wed May 4 14:36:53 2022 +0200

    Consistent code across GrandaMento and Exchange in setSpread (#9459)

commit 3cfceab5b49eb7cc2fe752d20bbb0c05ef13ae2a
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Thu Apr 28 15:45:35 2022 +0200

    Restored a missing test (#9460)

    Authored-by: Nina Barbakadze <ninabarbakadze@macbook-pro-4.localdomain>

commit 0b51c6576e2d6697b7bc31dda5e969df767151d6
Author: Martin <martin@clabs.co>
Date:   Fri Mar 11 11:09:29 2022 +0100

    Remove oracle check (#9367)

    ### Description

    A check in the Reserve's `addToken` function appeared to be a blocker for getting quicker, single-proposal stable token deployments. The check may have been important in the past, back when the Reserve was responsible for minting/burning stable tokens, and the `isToken` mapping set in the `addToken` function was used for permissioning these behaviors. However, looking at both the monorepo contracts and celo-blockchain, the `isToken` mapping and `_tokens` list of tokens are not used anywhere, thus the check is safe to remove. See [here](https://github.com/celo-org/celo-monorepo/issues/9195#issuecomment-1057942027) for more details.

    ### Tested

    Tests still pass.

    ### Related issues

    - Fixes #9197

commit a84a8457e106b3e6bec98aeff849ffd336ffc79b
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Thu Mar 10 16:10:37 2022 +0000

    Update default config file (#9372)

    ### Description

    Tiny PR that goes with [this docs PR](https://github.com/celo-org/docs/compare/eelanagaraj/link-10dlc-guidance?expand=1) update AS docs related to 10 DLC compliance.

commit 3e9f8e460c428d30287cccdef50a31ed1cbf142c
Author: Gaston Ponti <pontigaston@gmail.com>
Date:   Wed Mar 9 13:37:04 2022 -0300

    TxLookupLimit default to infinite (#9380)

    ### Description

    TxLookupLimit default to infinite (as it was before)

    ### Backwards compatibility

    Yes

commit 1cc59c705c687deb92390ba7712128535c806765
Author: Martin <martin@clabs.co>
Date:   Wed Mar 9 09:41:21 2022 +0100

    Test LinkedList.remove (#9377)

commit 0edc59d0d6d05d30ca8150112d63ac3774148c21
Author: Edwin O <okonkwo.ikechukwu01@gmail.com>
Date:   Fri Mar 4 14:28:13 2022 +0100

    Get pending withdrawal (#9369)

    ### Description

    LockedGold.sol currently provides a way to retrieve all pendingWithdrawals associated to a given account.

    To be able to extract a pendingWithdrawal at specific index, one would need to first do getPendingWithdrawals and then loop through the result to find the record 0(n) and has a DOS vector as found by @tkporter

    ### Tested

    - [x] unit test

    ### Related issues
     https://app.zenhub.com/workspaces/yield-61b75a715d3ecb001007ab9d/issues/celo-org/yield/16

    ### Backwards compatibility

    _Brief explanation of why these changes are/are not backwards compatible._
    This change is backward compatible because it is completely transparent and does not modify existing function signatures etc

commit 84194c71b14e95e76b41541cd0fdc621e3d8e8f1
Author: Eela Nagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Wed Mar 2 16:58:22 2022 +0100

    Update geth version and AS image tag (#9363)

commit a4af8e4413c69d9ca684b99b5212b507991a0820
Author: Victor "Nate" Graf <victor@clabs.co>
Date:   Wed Mar 2 00:26:36 2022 -0800

    Update Baklava nodes to celo-blockchain 1.5.4 (#9355)

    ### Description

    Update the version of cLabs `celo-blockchain` nodes in the Baklava testnet to 1.5.4

commit 40f67a37b986b17adc54df2219a80bcfec49d867
Author: pedro-clabs <77401336+pedro-clabs@users.noreply.github.com>
Date:   Tue Mar 1 17:07:29 2022 +0000

    Add mainnet CELOBRL oracles. (#9105)

    ### Tested

    Deployed to mainnet.

commit 22faf4e6fd74bdc8559cf86ec4ff31552aa07c5c
Author: Emil Hotkowski <emil.hotkowski@gmail.com>
Date:   Mon Feb 28 17:35:46 2022 +0100

    Attestation service pepper verification (#8692)

    ### Description

    I added new, optional verification of odis pepper.

    ### Tested

    I added tests.

    ### Backwards compatibility

    The new field is for now optional, and only when provided we do the verification.

commit cf87ed1f013238c98f68a06e8620b9b4620d00bb
Author: Cody Born <codyborn@outlook.com>
Date:   Mon Feb 28 05:08:12 2022 -0800

    Fix env var name for API key (#9340)

    ### Description

    ODIS Forno API Key env var was specified incorrectly.

    ### Tested

    Tested in Alfajores.

commit 81f84ebdcbf3126dd4d7385a622799d1ecb1713b
Author: Martín Volpe <martin.volpe@gmail.com>
Date:   Fri Feb 25 16:13:08 2022 -0300

    Update oracles full nodes to version 1.5.3 (#9339)

commit 8d3f3f0a5c73359820e99a070a7b48cee247f6b1
Author: Cody Born <codyborn@outlook.com>
Date:   Tue Feb 22 04:14:41 2022 -0800

    Use Forno API key in Signer (#9334)

    * Update combiner to leverage new CK client

    * Config var name must be all lowercase

    * update yarn.lock

    * Add Forno API key to Signer requests

    * Update operator docs

    * Update signer deployment tool

    * Add ODIS Signer API keys

commit 19e2f1347cfe350a7392ec853275223feec2db47
Author: Alec Schaefer <alec@cLabs.co>
Date:   Fri Feb 18 11:54:55 2022 -0500

    ODIS monitor fix (#9303)

    ### Description

    Fixes ODIS monitor function

    Disables domain endpoints

    Adds version number check to signer (and combiner, but the combiner status endpoint has apparently never worked)

    Updates package version numbers for deployment

    ### Other changes

    Version changes to facilitate release of ODIS combiner, signer, and monitor

    ### Tested

    NA

    ### Related issues

    NA

    ### Backwards compatibility

    Yes

    ### Documentation

    NA

commit ff9d776162a8af7072d8cc3396ac87cfdc310578
Author: Valentin Rodygin <valentin@clabs.co>
Date:   Fri Feb 18 11:27:13 2022 +0100

    Config params for the stats page in Blockscout (#9329)

    ### Description

    Added env variables that control the Stats page in Blockscout.

    ### Other changes

    No.

    ### Tested

    Tested on Alfajores.

    ### Backwards compatibility

    Yes.

commit 13906c531054d9c9629f33ef6d78d7f93c3f3176
Author: Victor "Nate" Graf <victor@clabs.co>
Date:   Thu Feb 17 15:49:49 2022 -0800

    Create @celo/encrypted-backup backup for ODIS hardened password encrypted backups (#8896)

    * create encrypted-backup package

    * basic backup and open functions working without any key hardening

    * basic backup and open functions working without any key hardening

    * use io-ts to create serialization and deserialization functions

    * extract the encryption and decryption logic from the main functions

    * add io-ts schema definitions for Domain types

    * add domain field to backup type and schema

    * mix in the domain hash to the key as a simple proxy for ODIS

    * add a stub to hold the place of circuit breaker functions

    * update the dependency graph

    * swap order of circuit breaker and odis stubs

    * [broken] move domains source from @celo/identity to @celo/phone-number-privacy

    * [broken] remove @celo/identity dependency from @celo/phone-number-privacy-common

    * finish removing @celo/identity and a dependency of @celo/phone-number-privacy-common

    * remove duplication and inconsistencies betweem @celo/identity and @celo/phone-number-privacy-common

    * fix linter errors

    * clean up domain state and response types

    * [checkpoint] partially implemented key hardening through ODIS

    * refactor phone-number-privacy a little

    * initial implementaion of odis key hardening logic

    * wire in odis key hardening

    * fix issues occuring during package initialization

    * tests now working against a mock implementation of ODIS

    * add (untested) circuit breaker client implementation

    * add comments and pipe in circuit breaker config values

    * fix issues founds in manual testing

    * add a mock and tests for circuit breaker client

    * add a NO_GANACHE env variable to disable starting ganache for testing

    * round out tests for the circuit breaker client

    * refactor the mock circuit breaker to be ready to export

    * use the circuit breaker for key hardening

    * bump package versions

    * add more information to error handling and debug messages

    * add doc strings to create and open backup functions

    * add wrapper function createPinEncryptedBackup with documentation

    * refactor mock odis

    * handle 429 status from ODIS and add some error condition tests to backup lib

    * seperate handling of fetch errors and add more error case tests

    * add tests for error cases in openBackup

    * remove DO NOT MERGE note

    * update dependency graph

    * add more information to comments

    * add links to the new documentation

    * fix build error in signer

    * change request type definitions and checkSequentialDelay function

    * fix linter errors

    * fix linter errors

    * but like really, fix linter errors

    * ok I was only joking before about fixing the linter errors. this time for sure.

    * add support for computational key hardening [lacks schema or tests]

    * extract odis mock to new file

    * add computational hardening to test config

    * add failure case tests for mutated backups

    * add computational hardening to schema

    * Update packages/sdk/identity/src/odis/circuit-breaker.ts

    Co-authored-by: Alec Schaefer <alec@cLabs.co>

    * consolidate imports

    * address review comments

    * add odis verification error type

    * add safety gate to prevent use of OPRF function for key hardening in prod

    * bump dep versions in phone-number-privacy-common

    * remove new code for encrypted backup

    * Revert "remove new code for encrypted backup"

    This reverts commit e6b4c62781a5f5ffa409caa6f809fdc277ee7fbc.

    * populate index.ts file

    * fix import

    * fix import again

    * update dep graphy

    * fix lint errors

    * fix lint error

    * update dependency graph

    * remove outdated DO NOT MERGE

    * add phone-number-privacy-common to package list and sort the list

    * add @types/express as dev dependency

    * update circuit breaker keys to production values

    * fix typos and add DO NOT MERGE comments for changes to be made

    * bump development version of phone-number-privacy-common package

    * address most of the DO NOT MERGE comments

    * add createPasswordEncryptedBackup function

    * add safety measure to prevent accidental usage of the createBackup API with an empty hardening config

    * fix usages of renamed Endpoint enum

    * fix enum types

    * remove accidentally added walletconnect package

    * fix lint error

    * fix another lint error

    * fix dangling reference to CustomSigner

    * remove dangling refernce to signWithRawKey

    Co-authored-by: Alec Schaefer <alec@cLabs.co>

commit 0ac97fd5677876654aae9296e65f76779da72266
Author: Alec Schaefer <alec@cLabs.co>
Date:   Tue Feb 8 20:58:52 2022 -0500

    Bump sdk versions to 1.5.3-dev (#9300)

commit a85bcfe02f6a3bc7a33947e816b05ffc37f09b53
Author: Alec Schaefer <alec@cLabs.co>
Date:   Tue Feb 8 02:27:11 2022 -0500

    add elliptic library to import-blacklist (#9302)

    ### Description

    Adds elliptic library to ts import blacklist for entire monorepo. This is to prevent vulnerabilities such as the one patched here https://github.com/celo-org/celo-monorepo/commit/a3ede3426f1af06f2126d79a1b4591e08d2624cb

    ### Other changes

    None

    ### Tested

    NA

    ### Related issues

    NA

    ### Backwards compatibility

    Yes

    ### Documentation

    None

commit c6852a0a4a237eba7918fb687bf661ef27fe724e
Author: Alec Schaefer <alec@cLabs.co>
Date:   Fri Feb 4 22:26:02 2022 -0500

    fix elliptic signing (#9271)

    ### Other changes

    Removes elliptic as a dependency from ODIS signer and combiner

    Updates get-contact-matches to rely on the common package's implementation of verifyDEKSignature

    [adds flake tracker to @celo/keystore and increases jest.timeout](https://github.com/celo-org/celo-monorepo/pull/9271/commits/2112edc37c0daf7171103e872cd7d39199d35d2f)

    ### Tested

    Test cases added to phone-number-privacy/common package ensuring that authenticateUser accepts both the new and the old signing schemes (backwards compatibility)

    Test cases added to @celo/identity ensuring that signWithRawKey signs the full message digest rather than the plain text message.

    ### Related issues

    - Fixes #9237

    ### Backwards compatibility

    The verifyDEKSignature function used by authenticateUser() will now accept requests with both the old (incorrect) and the new (correct) authorization signatures. Once clients have upgraded to use this change in the @celo/identity package, the verifyDEKSignature function will be updated again to only accept the new authorization signatures.

    To monitor frequency of requests with incorrect signatures, we have added a new WarningMessage so that we can easily create a log based metric. We will not remove support for the old signing method until ODIS is no longer receiving requests that use it.

    ### Documentation

    None

commit b64e4030bc08b2696ead71d41cfe6d2aa70cdf8a
Author: Enrique Ruiz <enrique@keyko.io>
Date:   Tue Feb 1 14:47:31 2022 +0100

    Publish contracts to sourcify after migration (#9220)

    * Publish contracts to sourcify after migration

    * Add useLiteralContent flag

    * Addressing some comments

    * Fix to work with a report.json file getting network and paths as parameter

    * Fix comments

    * Fix tests and add note

commit 51d6b0a5d36f57427ae2363d8ca4b421240b4e9a
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Tue Feb 1 12:09:44 2022 +0100

    Added a spread bound check in the setSpread function  (#9252)

    ### 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?_
    I've created a bound check for the spread to make sure that its value never exceeds 1.
    ### Other changes

    _Describe any minor or "drive-by" changes here._

    ### Tested

    _An explanation of how the changes were tested or an explanation as to why they don't need to be._
    I've added a condition in the test suite which checks, that the value of spread shouldn't exceed 1.
    ### 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_

commit f46bc14ff7e580b57202ad830ec4af9bb116faa8
Author: Cody Born <codyborn@outlook.com>
Date:   Mon Jan 31 15:00:18 2022 -0800

    Bump to v1.5.2 (#9153)

    * Bump to v1.5.1

    * Update yarn.lock

    * Update yarn.lock

    * Improve git security

    * Update umpirsky references

    * Updating ganache-core version

    * Update yarn.lock

    * Fix mergify deprecation

    * Fix mergify deprecation

    * Add condition to default merge queue

    * Cast AuthSigner into explicit types

    * Keep inter-repo dependencies in-sync

    * update out of sync packages

    * Testing changes to tsconfig

    * Testing moduleResolution

    * Revert tsconfig changes

    * Remove circular dependency

    * Add back other build steps

commit 2d2d52dd054afba23d55c5992aa572609d757c45
Author: Nicolas Brugneaux <nicolas.brugneaux@clabs.co>
Date:   Fri Jan 28 17:40:40 2022 +0100

    chore: remove wallet-walletconnect (#9187)

    Co-authored-by: Daniel Kesler <danielckesler@gmail.com>

commit 0118ecff10e760be1eaeb58adbd7830224968520
Author: Bogdan Dumitru <304771+bowd@users.noreply.github.com>
Date:   Thu Jan 27 13:29:35 2022 +0100

    CELOEUR Oracle Staging deployment (#7299)

    * Add .env.staging config

    * lint

    Co-authored-by: Martín Volpe <volpe@clabs.co>
    Co-authored-by: Martin Volpe <martin.volpe@gmail.com>

commit 8685981001b6643b346949ea51a25a2ea18e8546
Author: Javier Cortejoso <javier.cortejoso@gmail.com>
Date:   Wed Jan 19 17:47:09 2022 +0100

    Update deployment for celo-blockchain 1.5.x (#9021)

    * Updated new geth cmd options for pprof
    * Added new format for geth http/rcp/ws flags
    * Add option to increase rpc request timeouts in geth
    * Updated alfajores to 1.5.0
    * Updated baklava to 1.5.0

commit 29e2ca9f9d85c4d6fef623953f79669af8853ffe
Author: eelanagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Mon Jan 17 14:14:59 2022 +0100

    Re-bump Attestation Service to 1.6.0-dev

commit 3cd772b1121997635701dc80ae14c6a2f9ad7b47
Author: eelanagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Mon Jan 17 13:15:41 2022 +0100

    Fix newKit bug websocket providers in prep for AS v1.5.0

commit f1f02bf9cf71f05dc8a9bca073a560555482f45d
Author: eelanagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Thu Jan 13 19:07:50 2022 +0100

    Bump Attestation Service version to 1.6.0-dev

commit 38c753fb172af278c38f5c3f9041eba420cd6c0f
Author: eelanagaraj <7308464+eelanagaraj@users.noreply.github.com>
Date:   Thu Jan 13 13:52:35 2022 +0100

    Release attestation service v1.5.0

commit d752156e661191e5ff1104e87d70377fd16ca48a
Author: Martin Volpe <martin.volpe@gmail.com>
Date:   Fri May 13 15:10:45 2022 +0200

    Fixed release versions

commit 2c2769985117d2ba232c97fac1b2acaf6941b930
Author: Martin Volpe <martin.volpe@gmail.com>
Date:   Fri May 13 15:09:06 2022 +0200

    Added newline at the end

commit 50aa1df9d3f5e4264f374eeea9ffc6b330dea7e5
Author: Marcin Chrzanowski <martin@clabs.co>
Date:   Tue Feb 22 10:18:55 2022 -0500

    Add version report

commit 18213327e488b610a3e2c31717a79ea1de8d000a
Author: Marcin Chrzanowski <martin@clabs.co>
Date:   Tue Feb 15 11:06:21 2022 -0500

    Add empty initialization data for release 6

commit 373dd350d3f4a477c431435278c600b09483b334
Author: Yorke Rhodes <yorhodes@cLabs.co>
Date:   Tue Nov 30 13:53:06 2021 -0800

    Use OZ safeTransfer in genericTransfer (#9025)

    * Use OZ safeTransfer in genericTransfer

    * Add unit test for safeTransfer revert

commit 680c84b0a25187be62515584ee5769aed75197ad
Author: Yorke Rhodes <yorhodes@cLabs.co>
Date:   Tue Nov 30 13:52:35 2021 -0800

    Use SafeMath in getOffchainStorageRoots (#9026)

commit 662eacd07f94da85d55a02a2f935361b87e83589
Author: Yorke Rhodes <yorhodes@cLabs.co>
Date:   Tue Nov 30 13:44:55 2021 -0800

    Add revert message to removeStorageRoot (#9010)

    * Add revert message to removeStorageRoot

    * Update unit test

commit b5d80c742b7f4ed8a3615e0127e57e96f63b8341
Author: Martín Volpe <martin.volpe@gmail.com>
Date:   Thu Apr 28 14:26:00 2022 +0200

    Added version report CR7 (#9504)

commit 9acf3d041d949ee3aa023ee6afca2609fcd7a22c
Author: Martin <martin@clabs.co>
Date:   Fri Mar 11 10:49:50 2022 +0100

    Add version report for relase 6 (#9386)

    * Add version report for relase 6

    * Generate report against v5

commit 160eed127314f0c82ee2a63b582b5feef3b1a2da
Author: Martin <martin@clabs.co>
Date:   Thu Mar 10 22:57:03 2022 +0100

    Fix test (#9385)

commit 7e9e31a9d7c479ad265a0788886fa055422530fc
Author: Edwin O <okonkwo.ikechukwu01@gmail.com>
Date:   Thu Mar 10 19:05:40 2022 +0100

    Fix typographical errors to improve readablity. (#9250)

    Co-authored-by: Martín Volpe <volpe@clabs.co>
    Co-authored-by: Martin <martin@clabs.co>

commit ae09bf66190a02835ebfbb26ace8506f05eb5208
Author: Martin <martin@clabs.co>
Date:   Thu Mar 10 18:46:31 2022 +0100

    Increment Validators and Accounts versions (#9256)

    * Update prior release tag for CI version checking

    * Fetch the necessary branch

    * Use node 12 on prior release

    * Increment version numbers

    * Bump ExchangeBRL version

    * Add empty initalization data

commit 7849aa80ddb95ef9fc75705b55eb24e72e4169b7
Author: Martin <martin@clabs.co>
Date:   Tue Mar 8 14:43:23 2022 +0100

    Disallow a 0x0 address beneficiary (#9283)

    * Disallow address 0x0 beneficiaries

    * Add function to remove payment delegation

    * Add documentation

    * Require deletion of payment delegation is done by account

    * Specify deletePaymentDelegation as non privileged

commit 7828bd633fbb108f02578a3e372336149e5d3b96
Author: Martin <martin@clabs.co>
Date:   Tue Mar 8 12:26:45 2022 +0100

    Fix indentation (#9285)

commit ca4afce61a5201419b7770863b108e58efcc885e
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Mon Mar 7 15:03:15 2022 +0100

    replaced unnecessary calculations with SECONDS_IN_A_WEEK constant (#9269)

    Co-authored-by: Nina Barbakadze <ninabarbakadze@ninas-mbp.localdomain>
    Co-authored-by: Martín Volpe <volpe@clabs.co>

commit 4625c3fb2899a5145fa02bae16c2857e70ff0660
Author: Nina Barbakadze <barbakadzeninaa@gmail.com>
Date:   Tue Feb 22 21:21:23 2022 +0100

    Resolve inadequate NatSpec (#9270)

* Delete .mergify.yml

* Fixed wrong merge

* Rolled back wallet connect

* lint

* fix lint

* Force CircleCI to fetch all tags

* Brought report from master

* Add nodeSelector and tolerations to fullnode sts template (#9630)

* Update setup.md (#9847)

* docs: Fix some links in SETUP.md

* docs: Point Go instruction to celo-blockchain repo

* Removed cLabs oracles that were handed over to DiWu (#9858)

* Addapt transfer e2e test to Espresso (#9876)

* Addapt transfer e2e test to Espresso

* Fix lint

* Force espresso

* Removed versions for UsingRegistry and patch tooling (#9866)

* Set rate limits default values (#9877)

* Fixed "createFn is not a function" (#9880)

* Blockscout web readonly (#9885)

* Disable write api on web.

* Add explicit erlang-cluster label for pods that should connect.

* Set web to connect to replica db.

* Set labels on the pod rather than the deployment. derp.

* Reenable write api + master db access for blockscout web. (#9886)

* add support for versioned signTypedData methods (#9853)

* add support for versioned signTypedData methods

* improve docs

* stringify data for v3 and v4 of signTypedData

* add support for versioned signTypedData methods

* improve docs

* stringify data for v3 and v4 of signTypedData

* v2 doenst exist

* pr comments from @nicolasbrugneaux

* Leftover changes for CR8 merge (#9881)

* Made certora disabling more explicit
* Added report for CR7 and CI fixing
* Lint
* Removed leftover comments

* adding makerdojo (#9879)

Co-authored-by: Valentin Rodygin <valentin@clabs.co>

* celo-fullnode autoscaling (#9874)

* Added celo-fullnode HPA

* Added values.yaml file for blockscout's rc1 new archive nodes

* Added extraPodLabels to blockscout's new archive nodes

* Removed empty newline

* Fix hpa

* Added some default values

* Removed default values from blockscout…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants