Skip to content

Commit

Permalink
V1.0.6
Browse files Browse the repository at this point in the history
* fix: set cli as a es module

* fix: bump 0.3.0; minor missing imports for enums

* feat (EC2-demo) testing VMs

* feat(ec2) - continuing with poc

* fix(sybil) - add tests

* fix(sybil) - added prod test switch

* build: update external packages dependencies

* feat(public ceremonies) - allow to download ceremony data to everyone

* refactor: move auto-generated types to root

* refactor: improve package configuration; remove unused files

* refactor: complete configuration; lint and small fix

* fix: wrong prod Firebase project for CI

* refactor: update phase2cli package config; fixed bin overwrite when installing

* refactor: use meta import to optimize repository file read

* refactor: use ts-node instead of dist to execute phase2cli

* refactor: update .env and package.json imports

* fix: wrong path for environment config file

* fix(public-data) remove cloud function

* fix(public-data) remove function from index.ts

* fix(public data)  yarn.locl

* fix: missing skipLibCheck option was causing docs script to exit

* fix: add missing options to ts config

* chore(release): publish 0.3.0

* build: update yarn version

* fix: spinner does not stop correctly after contribution verification

* chore(release): publish 0.3.1

* fix: missing updates for current contributor fields when coordinating

* fix: duplicate messages when waiting for contribution; remove wrong listener

* chore(release): publish 0.3.5

* fix(sybil checks): amended env var name and added to the backend

* fix(s3): creating public bucket with object ACL enabled

configuring S3 to allow download of verification transcript

* fix(tests): fixed tests

* fix: unconsistency when resuming a contribution

* fix: add missing alternative case; fix wrong tests

* chore(release): publish 0.4.0

* fix: wrong ci env project

* fix: missing sort for ceremony circuits

* fix: wrong document property lead to error when checking github antisybil

* build: missing dependencies on actions package

* chore(release): publish 0.4.1

* chore(release): publish 0.4.2

* test: update github anti-sybil tests

* fix(ux): added more verbose messages to inform the user of waiting times and errors

* feat(ec2): added tests and ip function

* feat(ec2): merge udpates and add tests

* feat(vms): added ssm code and more tests + changes on backend

* feat(vms): refactoring

* fix: imports and package version

* feat(vms): added tests

* fix(vms): tests

* feat(ec2): fixed bug in running commands at deployment and refactored setup

* test(ec2): added setup e2e test

* fix(vms): refactoring and code fixes

* fix(vm): bug fix

* fix(vm): missing files

* feat(vms): implemented e2e test for contribution verification

* feat(vms): tests and refactoring

* fix(vms): remove redundant code

* test(vms): completed e2e tests with VMs

* fix(vms): cleanup test

* fix(vms): remove redundant parameter on VM startup - ssh keypair

* fix(vms): add tags on EC2 creation

* refactor: add missing hash computation; minor conflicts and changes

* fix(vms): fix VM commands

* test(vms): fix test to also delete the verification transcript

* chore: publish 0.4.7

* test(vms): refactoring of VM tests with extra debug options

* test(vms): fixed finalize test and cloud function. Adding extra debugging for verification

* fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF

* chore: publish 0.4.8

* fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash

* fix(vms): fixed cloud function for VM verification

* chore: publish 0.4.9

* fix(vms): fix cloud function bug related to the wrong verification transcript path

* test(vms): fix broken tests due to VM upgrade

* fix(vms): disable eslint rule for regex

* feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization

* feat(vms): add marker file in userData to avoid running initialization code more than once

* fix(vms): fix userData commands

* refactor: add VM prices

* refactor: add selector for VM disk type

* test: update tests

* refactor: complete and remove old todos

* refactor: add retry mechanism for VM

* fix: wrong path to Verifier smart contract template

* feat(vms): implement terraform script to deploy AWS inf

* fix(vms): fix import error

* fix: correct failing tests

* fix(vms): fix cloud function multipartupload wrong parameter name

* chore: publish 0.4.10

* fix(vms): fix terraform and lambda config

* fix(vms): temp revert of retry feature in verifyContribution

* fix(vms): fix emulator tests

* fix(vms): fix prod tests

* refactor: improve verifycontribution function code; minor changes to code readability

* fix(vms): fix prod test - wrong parameter order in ec2 tests

* chore: publish 0.5.0

* fix: missing else statement for verifycontribution function; wrong return on custom promise

* fix(vms): revert part of the verifyContribution refactoring and update terraform

* fix(vms): retry mechanism for VM startup

* refactor: add options for contribute command

* refactor: make coordinator artifacts publicly downloadable by default

* chore: update backend firebase default prod project

* fix(tests): add extra sleep when setting custom claims to allow propagation

* fix(tests): skip a test that would fail due to environment not clean

* fix(tests): fix issues with user not being recognized as coordinator

* fix(tests): add extra sleep and coordinator checks within tests

* refactor: avoid mandatory memory check; add missing loader and messages to improve ux

* feat(setup): start to implement non interactive setup

* feat(setup): implement non interactive setup

* fix(setup): change test file

* fix(setup): remove non working test

* fix(setup): change setup test file

* fix(setup): amend after PR review

* feat(setup): add option to pass the authentication token as cli param

passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like
GitHub actions.

* fix(tests): add extra coordinator user to resolve random test failure

* fix(tests): add extra sleep after user creation

* fix(auth): fix non interactive auth and force token refresh for coordinator

* fix(setup): fix local path to circuit artifacts + change error in security tests

* fix(setup): add missing circuit artifacts local path

allow circuit artifacts to be in a separate folder for setup so that it can be used with
definitelySetup

* fix(tests): fix tests

* refactor: improve ux ui of auth and logout commands

* feat(setup): add a cli command to validate the ceremony setup file and the constraints

* refactor: add spinners to avoid delays; add custom feedback messages for contributor

* chore: correct text

* feat(list ceremonies): add a command to list all ceremonies

* feat(list): exit with code 1 when calling showError with exit=true

* fix(tests and setup): fix tests and cleanup config file

* chore: publish 1.0.0

* fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm)

* Revise workflow

* Fix a typo

* V1.1

* fix: set cli as a es module

* fix: bump 0.3.0; minor missing imports for enums

* feat (EC2-demo) testing VMs

* feat(ec2) - continuing with poc

* fix(sybil) - add tests

* fix(sybil) - added prod test switch

* build: update external packages dependencies

* feat(public ceremonies) - allow to download ceremony data to everyone

* refactor: move auto-generated types to root

* refactor: improve package configuration; remove unused files

* refactor: complete configuration; lint and small fix

* fix: wrong prod Firebase project for CI

* refactor: update phase2cli package config; fixed bin overwrite when installing

* refactor: use meta import to optimize repository file read

* refactor: use ts-node instead of dist to execute phase2cli

* refactor: update .env and package.json imports

* fix: wrong path for environment config file

* fix(public-data) remove cloud function

* fix(public-data) remove function from index.ts

* fix(public data)  yarn.locl

* fix: missing skipLibCheck option was causing docs script to exit

* fix: add missing options to ts config

* chore(release): publish 0.3.0

* build: update yarn version

* fix: spinner does not stop correctly after contribution verification

* chore(release): publish 0.3.1

* fix: missing updates for current contributor fields when coordinating

* fix: duplicate messages when waiting for contribution; remove wrong listener

* chore(release): publish 0.3.5

* fix(sybil checks): amended env var name and added to the backend

* fix(s3): creating public bucket with object ACL enabled

configuring S3 to allow download of verification transcript

* fix(tests): fixed tests

* fix: unconsistency when resuming a contribution

* fix: add missing alternative case; fix wrong tests

* chore(release): publish 0.4.0

* fix: wrong ci env project

* fix: missing sort for ceremony circuits

* fix: wrong document property lead to error when checking github antisybil

* build: missing dependencies on actions package

* chore(release): publish 0.4.1

* chore(release): publish 0.4.2

* test: update github anti-sybil tests

* fix(ux): added more verbose messages to inform the user of waiting times and errors

* feat(ec2): added tests and ip function

* feat(ec2): merge udpates and add tests

* feat(vms): added ssm code and more tests + changes on backend

* feat(vms): refactoring

* fix: imports and package version

* feat(vms): added tests

* fix(vms): tests

* feat(ec2): fixed bug in running commands at deployment and refactored setup

* test(ec2): added setup e2e test

* fix(vms): refactoring and code fixes

* fix(vm): bug fix

* fix(vm): missing files

* feat(vms): implemented e2e test for contribution verification

* feat(vms): tests and refactoring

* fix(vms): remove redundant code

* test(vms): completed e2e tests with VMs

* fix(vms): cleanup test

* fix(vms): remove redundant parameter on VM startup - ssh keypair

* fix(vms): add tags on EC2 creation

* refactor: add missing hash computation; minor conflicts and changes

* fix(vms): fix VM commands

* test(vms): fix test to also delete the verification transcript

* chore: publish 0.4.7

* test(vms): refactoring of VM tests with extra debug options

* test(vms): fixed finalize test and cloud function. Adding extra debugging for verification

* fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF

* chore: publish 0.4.8

* fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash

* fix(vms): fixed cloud function for VM verification

* chore: publish 0.4.9

* fix(vms): fix cloud function bug related to the wrong verification transcript path

* test(vms): fix broken tests due to VM upgrade

* fix(vms): disable eslint rule for regex

* feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization

* feat(vms): add marker file in userData to avoid running initialization code more than once

* fix(vms): fix userData commands

* refactor: add VM prices

* refactor: add selector for VM disk type

* test: update tests

* refactor: complete and remove old todos

* refactor: add retry mechanism for VM

* fix: wrong path to Verifier smart contract template

* feat(vms): implement terraform script to deploy AWS inf

* fix(vms): fix import error

* fix: correct failing tests

* fix(vms): fix cloud function multipartupload wrong parameter name

* chore: publish 0.4.10

* fix(vms): fix terraform and lambda config

* fix(vms): temp revert of retry feature in verifyContribution

* fix(vms): fix emulator tests

* fix(vms): fix prod tests

* refactor: improve verifycontribution function code; minor changes to code readability

* fix(vms): fix prod test - wrong parameter order in ec2 tests

* chore: publish 0.5.0

* fix: missing else statement for verifycontribution function; wrong return on custom promise

* fix(vms): revert part of the verifyContribution refactoring and update terraform

* fix(vms): retry mechanism for VM startup

* refactor: add options for contribute command

* refactor: make coordinator artifacts publicly downloadable by default

* chore: update backend firebase default prod project

* fix(tests): add extra sleep when setting custom claims to allow propagation

* fix(tests): skip a test that would fail due to environment not clean

* fix(tests): fix issues with user not being recognized as coordinator

* fix(tests): add extra sleep and coordinator checks within tests

* refactor: avoid mandatory memory check; add missing loader and messages to improve ux

* feat(setup): start to implement non interactive setup

* feat(setup): implement non interactive setup

* fix(setup): change test file

* fix(setup): remove non working test

* fix(setup): change setup test file

* fix(setup): amend after PR review

* feat(setup): add option to pass the authentication token as cli param

passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like
GitHub actions.

* fix(tests): add extra coordinator user to resolve random test failure

* fix(tests): add extra sleep after user creation

* fix(auth): fix non interactive auth and force token refresh for coordinator

* fix(setup): fix local path to circuit artifacts + change error in security tests

* fix(setup): add missing circuit artifacts local path

allow circuit artifacts to be in a separate folder for setup so that it can be used with
definitelySetup

* fix(tests): fix tests

* refactor: improve ux ui of auth and logout commands

* feat(setup): add a cli command to validate the ceremony setup file and the constraints

* refactor: add spinners to avoid delays; add custom feedback messages for contributor

* chore: correct text

* feat(list ceremonies): add a command to list all ceremonies

* feat(list): exit with code 1 when calling showError with exit=true

* fix(tests and setup): fix tests and cleanup config file

* chore: publish 1.0.0

* fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm)

* Revise workflow

* Fix a typo

---------

Co-authored-by: ctrlc03 <[email protected]>
Co-authored-by: cedoor <[email protected]>
Co-authored-by: Jeeiii <[email protected]>
Co-authored-by: Daehyun Paik <[email protected]>

* V1.1.1

* V1.1

* fix: set cli as a es module

* fix: bump 0.3.0; minor missing imports for enums

* feat (EC2-demo) testing VMs

* feat(ec2) - continuing with poc

* fix(sybil) - add tests

* fix(sybil) - added prod test switch

* build: update external packages dependencies

* feat(public ceremonies) - allow to download ceremony data to everyone

* refactor: move auto-generated types to root

* refactor: improve package configuration; remove unused files

* refactor: complete configuration; lint and small fix

* fix: wrong prod Firebase project for CI

* refactor: update phase2cli package config; fixed bin overwrite when installing

* refactor: use meta import to optimize repository file read

* refactor: use ts-node instead of dist to execute phase2cli

* refactor: update .env and package.json imports

* fix: wrong path for environment config file

* fix(public-data) remove cloud function

* fix(public-data) remove function from index.ts

* fix(public data)  yarn.locl

* fix: missing skipLibCheck option was causing docs script to exit

* fix: add missing options to ts config

* chore(release): publish 0.3.0

* build: update yarn version

* fix: spinner does not stop correctly after contribution verification

* chore(release): publish 0.3.1

* fix: missing updates for current contributor fields when coordinating

* fix: duplicate messages when waiting for contribution; remove wrong listener

* chore(release): publish 0.3.5

* fix(sybil checks): amended env var name and added to the backend

* fix(s3): creating public bucket with object ACL enabled

configuring S3 to allow download of verification transcript

* fix(tests): fixed tests

* fix: unconsistency when resuming a contribution

* fix: add missing alternative case; fix wrong tests

* chore(release): publish 0.4.0

* fix: wrong ci env project

* fix: missing sort for ceremony circuits

* fix: wrong document property lead to error when checking github antisybil

* build: missing dependencies on actions package

* chore(release): publish 0.4.1

* chore(release): publish 0.4.2

* test: update github anti-sybil tests

* fix(ux): added more verbose messages to inform the user of waiting times and errors

* feat(ec2): added tests and ip function

* feat(ec2): merge udpates and add tests

* feat(vms): added ssm code and more tests + changes on backend

* feat(vms): refactoring

* fix: imports and package version

* feat(vms): added tests

* fix(vms): tests

* feat(ec2): fixed bug in running commands at deployment and refactored setup

* test(ec2): added setup e2e test

* fix(vms): refactoring and code fixes

* fix(vm): bug fix

* fix(vm): missing files

* feat(vms): implemented e2e test for contribution verification

* feat(vms): tests and refactoring

* fix(vms): remove redundant code

* test(vms): completed e2e tests with VMs

* fix(vms): cleanup test

* fix(vms): remove redundant parameter on VM startup - ssh keypair

* fix(vms): add tags on EC2 creation

* refactor: add missing hash computation; minor conflicts and changes

* fix(vms): fix VM commands

* test(vms): fix test to also delete the verification transcript

* chore: publish 0.4.7

* test(vms): refactoring of VM tests with extra debug options

* test(vms): fixed finalize test and cloud function. Adding extra debugging for verification

* fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF

* chore: publish 0.4.8

* fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash

* fix(vms): fixed cloud function for VM verification

* chore: publish 0.4.9

* fix(vms): fix cloud function bug related to the wrong verification transcript path

* test(vms): fix broken tests due to VM upgrade

* fix(vms): disable eslint rule for regex

* feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization

* feat(vms): add marker file in userData to avoid running initialization code more than once

* fix(vms): fix userData commands

* refactor: add VM prices

* refactor: add selector for VM disk type

* test: update tests

* refactor: complete and remove old todos

* refactor: add retry mechanism for VM

* fix: wrong path to Verifier smart contract template

* feat(vms): implement terraform script to deploy AWS inf

* fix(vms): fix import error

* fix: correct failing tests

* fix(vms): fix cloud function multipartupload wrong parameter name

* chore: publish 0.4.10

* fix(vms): fix terraform and lambda config

* fix(vms): temp revert of retry feature in verifyContribution

* fix(vms): fix emulator tests

* fix(vms): fix prod tests

* refactor: improve verifycontribution function code; minor changes to code readability

* fix(vms): fix prod test - wrong parameter order in ec2 tests

* chore: publish 0.5.0

* fix: missing else statement for verifycontribution function; wrong return on custom promise

* fix(vms): revert part of the verifyContribution refactoring and update terraform

* fix(vms): retry mechanism for VM startup

* refactor: add options for contribute command

* refactor: make coordinator artifacts publicly downloadable by default

* chore: update backend firebase default prod project

* fix(tests): add extra sleep when setting custom claims to allow propagation

* fix(tests): skip a test that would fail due to environment not clean

* fix(tests): fix issues with user not being recognized as coordinator

* fix(tests): add extra sleep and coordinator checks within tests

* refactor: avoid mandatory memory check; add missing loader and messages to improve ux

* feat(setup): start to implement non interactive setup

* feat(setup): implement non interactive setup

* fix(setup): change test file

* fix(setup): remove non working test

* fix(setup): change setup test file

* fix(setup): amend after PR review

* feat(setup): add option to pass the authentication token as cli param

passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like
GitHub actions.

* fix(tests): add extra coordinator user to resolve random test failure

* fix(tests): add extra sleep after user creation

* fix(auth): fix non interactive auth and force token refresh for coordinator

* fix(setup): fix local path to circuit artifacts + change error in security tests

* fix(setup): add missing circuit artifacts local path

allow circuit artifacts to be in a separate folder for setup so that it can be used with
definitelySetup

* fix(tests): fix tests

* refactor: improve ux ui of auth and logout commands

* feat(setup): add a cli command to validate the ceremony setup file and the constraints

* refactor: add spinners to avoid delays; add custom feedback messages for contributor

* chore: correct text

* feat(list ceremonies): add a command to list all ceremonies

* feat(list): exit with code 1 when calling showError with exit=true

* fix(tests and setup): fix tests and cleanup config file

* chore: publish 1.0.0

* fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm)

* Revise workflow

* Fix a typo

---------

Co-authored-by: ctrlc03 <[email protected]>
Co-authored-by: cedoor <[email protected]>
Co-authored-by: Jeeiii <[email protected]>
Co-authored-by: Daehyun Paik <[email protected]>

* Separate deployment and testing

---------

Co-authored-by: daodesigner <[email protected]>
Co-authored-by: ctrlc03 <[email protected]>
Co-authored-by: cedoor <[email protected]>
Co-authored-by: Jeeiii <[email protected]>

* V1.1.1 (#98)

* fix: set cli as a es module

* fix: bump 0.3.0; minor missing imports for enums

* feat (EC2-demo) testing VMs

* feat(ec2) - continuing with poc

* fix(sybil) - add tests

* fix(sybil) - added prod test switch

* build: update external packages dependencies

* feat(public ceremonies) - allow to download ceremony data to everyone

* refactor: move auto-generated types to root

* refactor: improve package configuration; remove unused files

* refactor: complete configuration; lint and small fix

* fix: wrong prod Firebase project for CI

* refactor: update phase2cli package config; fixed bin overwrite when installing

* refactor: use meta import to optimize repository file read

* refactor: use ts-node instead of dist to execute phase2cli

* refactor: update .env and package.json imports

* fix: wrong path for environment config file

* fix(public-data) remove cloud function

* fix(public-data) remove function from index.ts

* fix(public data)  yarn.locl

* fix: missing skipLibCheck option was causing docs script to exit

* fix: add missing options to ts config

* chore(release): publish 0.3.0

* build: update yarn version

* fix: spinner does not stop correctly after contribution verification

* chore(release): publish 0.3.1

* fix: missing updates for current contributor fields when coordinating

* fix: duplicate messages when waiting for contribution; remove wrong listener

* chore(release): publish 0.3.5

* fix(sybil checks): amended env var name and added to the backend

* fix(s3): creating public bucket with object ACL enabled

configuring S3 to allow download of verification transcript

* fix(tests): fixed tests

* fix: unconsistency when resuming a contribution

* fix: add missing alternative case; fix wrong tests

* chore(release): publish 0.4.0

* fix: wrong ci env project

* fix: missing sort for ceremony circuits

* fix: wrong document property lead to error when checking github antisybil

* build: missing dependencies on actions package

* chore(release): publish 0.4.1

* chore(release): publish 0.4.2

* test: update github anti-sybil tests

* fix(ux): added more verbose messages to inform the user of waiting times and errors

* feat(ec2): added tests and ip function

* feat(ec2): merge udpates and add tests

* feat(vms): added ssm code and more tests + changes on backend

* feat(vms): refactoring

* fix: imports and package version

* feat(vms): added tests

* fix(vms): tests

* feat(ec2): fixed bug in running commands at deployment and refactored setup

* test(ec2): added setup e2e test

* fix(vms): refactoring and code fixes

* fix(vm): bug fix

* fix(vm): missing files

* feat(vms): implemented e2e test for contribution verification

* feat(vms): tests and refactoring

* fix(vms): remove redundant code

* test(vms): completed e2e tests with VMs

* fix(vms): cleanup test

* fix(vms): remove redundant parameter on VM startup - ssh keypair

* fix(vms): add tags on EC2 creation

* refactor: add missing hash computation; minor conflicts and changes

* fix(vms): fix VM commands

* test(vms): fix test to also delete the verification transcript

* chore: publish 0.4.7

* test(vms): refactoring of VM tests with extra debug options

* test(vms): fixed finalize test and cloud function. Adding extra debugging for verification

* fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF

* chore: publish 0.4.8

* fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash

* fix(vms): fixed cloud function for VM verification

* chore: publish 0.4.9

* fix(vms): fix cloud function bug related to the wrong verification transcript path

* test(vms): fix broken tests due to VM upgrade

* fix(vms): disable eslint rule for regex

* feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization

* feat(vms): add marker file in userData to avoid running initialization code more than once

* fix(vms): fix userData commands

* refactor: add VM prices

* refactor: add selector for VM disk type

* test: update tests

* refactor: complete and remove old todos

* refactor: add retry mechanism for VM

* fix: wrong path to Verifier smart contract template

* feat(vms): implement terraform script to deploy AWS inf

* fix(vms): fix import error

* fix: correct failing tests

* fix(vms): fix cloud function multipartupload wrong parameter name

* chore: publish 0.4.10

* fix(vms): fix terraform and lambda config

* fix(vms): temp revert of retry feature in verifyContribution

* fix(vms): fix emulator tests

* fix(vms): fix prod tests

* refactor: improve verifycontribution function code; minor changes to code readability

* fix(vms): fix prod test - wrong parameter order in ec2 tests

* chore: publish 0.5.0

* fix: missing else statement for verifycontribution function; wrong return on custom promise

* fix(vms): revert part of the verifyContribution refactoring and update terraform

* fix(vms): retry mechanism for VM startup

* refactor: add options for contribute command

* refactor: make coordinator artifacts publicly downloadable by default

* chore: update backend firebase default prod project

* fix(tests): add extra sleep when setting custom claims to allow propagation

* fix(tests): skip a test that would fail due to environment not clean

* fix(tests): fix issues with user not being recognized as coordinator

* fix(tests): add extra sleep and coordinator checks within tests

* refactor: avoid mandatory memory check; add missing loader and messages to improve ux

* feat(setup): start to implement non interactive setup

* feat(setup): implement non interactive setup

* fix(setup): change test file

* fix(setup): remove non working test

* fix(setup): change setup test file

* fix(setup): amend after PR review

* feat(setup): add option to pass the authentication token as cli param

passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like
GitHub actions.

* fix(tests): add extra coordinator user to resolve random test failure

* fix(tests): add extra sleep after user creation

* fix(auth): fix non interactive auth and force token refresh for coordinator

* fix(setup): fix local path to circuit artifacts + change error in security tests

* fix(setup): add missing circuit artifacts local path

allow circuit artifacts to be in a separate folder for setup so that it can be used with
definitelySetup

* fix(tests): fix tests

* refactor: improve ux ui of auth and logout commands

* feat(setup): add a cli command to validate the ceremony setup file and the constraints

* refactor: add spinners to avoid delays; add custom feedback messages for contributor

* chore: correct text

* feat(list ceremonies): add a command to list all ceremonies

* feat(list): exit with code 1 when calling showError with exit=true

* fix(tests and setup): fix tests and cleanup config file

* chore: publish 1.0.0

* fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm)

* Revise workflow

* Fix a typo

* V1.1.1

* V1.1

* fix: set cli as a es module

* fix: bump 0.3.0; minor missing imports for enums

* feat (EC2-demo) testing VMs

* feat(ec2) - continuing with poc

* fix(sybil) - add tests

* fix(sybil) - added prod test switch

* build: update external packages dependencies

* feat(public ceremonies) - allow to download ceremony data to everyone

* refactor: move auto-generated types to root

* refactor: improve package configuration; remove unused files

* refactor: complete configuration; lint and small fix

* fix: wrong prod Firebase project for CI

* refactor: update phase2cli package config; fixed bin overwrite when installing

* refactor: use meta import to optimize repository file read

* refactor: use ts-node instead of dist to execute phase2cli

* refactor: update .env and package.json imports

* fix: wrong path for environment config file

* fix(public-data) remove cloud function

* fix(public-data) remove function from index.ts

* fix(public data)  yarn.locl

* fix: missing skipLibCheck option was causing docs script to exit

* fix: add missing options to ts config

* chore(release): publish 0.3.0

* build: update yarn version

* fix: spinner does not stop correctly after contribution verification

* chore(release): publish 0.3.1

* fix: missing updates for current contributor fields when coordinating

* fix: duplicate messages when waiting for contribution; remove wrong listener

* chore(release): publish 0.3.5

* fix(sybil checks): amended env var name and added to the backend

* fix(s3): creating public bucket with object ACL enabled

configuring S3 to allow download of verification transcript

* fix(tests): fixed tests

* fix: unconsistency when resuming a contribution

* fix: add missing alternative case; fix wrong tests

* chore(release): publish 0.4.0

* fix: wrong ci env project

* fix: missing sort for ceremony circuits

* fix: wrong document property lead to error when checking github antisybil

* build: missing dependencies on actions package

* chore(release): publish 0.4.1

* chore(release): publish 0.4.2

* test: update github anti-sybil tests

* fix(ux): added more verbose messages to inform the user of waiting times and errors

* feat(ec2): added tests and ip function

* feat(ec2): merge udpates and add tests

* feat(vms): added ssm code and more tests + changes on backend

* feat(vms): refactoring

* fix: imports and package version

* feat(vms): added tests

* fix(vms): tests

* feat(ec2): fixed bug in running commands at deployment and refactored setup

* test(ec2): added setup e2e test

* fix(vms): refactoring and code fixes

* fix(vm): bug fix

* fix(vm): missing files

* feat(vms): implemented e2e test for contribution verification

* feat(vms): tests and refactoring

* fix(vms): remove redundant code

* test(vms): completed e2e tests with VMs

* fix(vms): cleanup test

* fix(vms): remove redundant parameter on VM startup - ssh keypair

* fix(vms): add tags on EC2 creation

* refactor: add missing hash computation; minor conflicts and changes

* fix(vms): fix VM commands

* test(vms): fix test to also delete the verification transcript

* chore: publish 0.4.7

* test(vms): refactoring of VM tests with extra debug options

* test(vms): fixed finalize test and cloud function. Adding extra debugging for verification

* fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF

* chore: publish 0.4.8

* fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash

* fix(vms): fixed cloud function for VM verification

* chore: publish 0.4.9

* fix(vms): fix cloud function bug related to the wrong verification transcript path

* test(vms): fix broken tests due to VM upgrade

* fix(vms): disable eslint rule for regex

* feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization

* feat(vms): add marker file in userData to avoid running initialization code more than once

* fix(vms): fix userData commands

* refactor: add VM prices

* refactor: add selector for VM disk type

* test: update tests

* refactor: complete and remove old todos

* refactor: add retry mechanism for VM

* fix: wrong path to Verifier smart contract template

* feat(vms): implement terraform script to deploy AWS inf

* fix(vms): fix import error

* fix: correct failing tests

* fix(vms): fix cloud function multipartupload wrong parameter name

* chore: publish 0.4.10

* fix(vms): fix terraform and lambda config

* fix(vms): temp revert of retry feature in verifyContribution

* fix(vms): fix emulator tests

* fix(vms): fix prod tests

* refactor: improve verifycontribution function code; minor changes to code readability

* fix(vms): fix prod test - wrong parameter order in ec2 tests

* chore: publish 0.5.0

* fix: missing else statement for verifycontribution function; wrong return on custom promise

* fix(vms): revert part of the verifyContribution refactoring and update terraform

* fix(vms): retry mechanism for VM startup

* refactor: add options for contribute command

* refactor: make coordinator artifacts publicly downloadable by default

* chore: update backend firebase default prod project

* fix(tests): add extra sleep when setting custom claims to allow propagation

* fix(tests): skip a test that would fail due to environment not clean

* fix(tests): fix issues with user not being recognized as coordinator

* fix(tests): add extra sleep and coordinator checks within tests

* refactor: avoid mandatory memory check; add missing loader and messages to improve ux

* feat(setup): start to implement non interactive setup

* feat(setup): implement non interactive setup

* fix(setup): change test file

* fix(setup): remove non working test

* fix(setup): change setup test file

* fix(setup): amend after PR review

* feat(setup): add option to pass the authentication token as cli param

passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like
GitHub actions.

* fix(tests): add extra coordinator user to resolve random test failure

* fix(tests): add extra sleep after user creation

* fix(auth): fix non interactive auth and force token refresh for coordinator

* fix(setup): fix local path to circuit artifacts + change error in security tests

* fix(setup): add missing circuit artifacts local path

allow circuit artifacts to be in a separate folder for setup so that it can be used with
definitelySetup

* fix(tests): fix tests

* refactor: improve ux ui of auth and logout commands

* feat(setup): add a cli command to validate the ceremony setup file and the constraints

* refactor: add spinners to avoid delays; add custom feedback messages for contributor

* chore: correct text

* feat(list ceremonies): add a command to list all ceremonies

* feat(list): exit with code 1 when calling showError with exit=true

* fix(tests and setup): fix tests and cleanup config file

* chore: publish 1.0.0

* fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm)

* Revise workflow

* Fix a typo

---------

Co-authored-by: ctrlc03 <[email protected]>
Co-authored-by: cedoor <[email protected]>
Co-authored-by: Jeeiii <[email protected]>
Co-authored-by: Daehyun Paik <[email protected]>

* Separate deployment and testing

---------

Co-authored-by: daodesigner <[email protected]>
Co-authored-by: ctrlc03 <[email protected]>
Co-authored-by: cedoor <[email protected]>
Co-authored-by: Jeeiii <[email protected]>

---------

Co-authored-by: ctrlc03 <[email protected]>
Co-authored-by: cedoor <[email protected]>
Co-authored-by: Jeeiii <[email protected]>
Co-authored-by: Daehyun Paik <[email protected]>

* Separate deploy and test (#99)

* Dev (#100)

* fix: set cli as a es module

* fix: bump 0.3.0; minor missing imports for enums

* feat (EC2-demo) testing VMs

* feat(ec2) - continuing with poc

* fix(sybil) - add tests

* fix(sybil) - added prod test switch

* build: update external packages dependencies

* feat(public ceremonies) - allow to download ceremony data to everyone

* refactor: move auto-generated types to root

* refactor: improve package configuration; remove unused files

* refactor: complete configuration; lint and small fix

* fix: wrong prod Firebase project for CI

* refactor: update phase2cli package config; fixed bin overwrite when installing

* refactor: use meta import to optimize repository file read

* refactor: use ts-node instead of dist to execute phase2cli

* refactor: update .env and package.json imports

* fix: wrong path for environment config file

* fix(public-data) remove cloud function

* fix(public-data) remove function from index.ts

* fix(public data)  yarn.locl

* fix: missing skipLibCheck option was causing docs script to exit

* fix: add missing options to ts config

* chore(release): publish 0.3.0

* build: update yarn version

* fix: spinner does not stop correctly after contribution verification

* chore(release): publish 0.3.1

* fix: missing updates for current contributor fields when coordinating

* fix: duplicate messages when waiting for contribution; remove wrong listener

* chore(release): publish 0.3.5

* fix(sybil checks): amended env var name and added to the backend

* fix(s3): creating public bucket with object ACL enabled

configuring S3 to allow download of verification transcript

* fix(tests): fixed tests

* fix: unconsistency when resuming a contribution

* fix: add missing alternative case; fix wrong tests

* chore(release): publish 0.4.0

* fix: wrong ci env project

* fix: missing sort for ceremony circuits

* fix: wrong document property lead to error when checking github antisybil

* build: missing dependencies on actions package

* chore(release): publish 0.4.1

* chore(release): publish 0.4.2

* test: update github anti-sybil tests

* fix(ux): added more verbose messages to inform the user of waiting times and errors

* feat(ec2): added tests and ip function

* feat(ec2): merge udpates and add tests

* feat(vms): added ssm code and more tests + changes on backend

* feat(vms): refactoring

* fix: imports and package version

* feat(vms): added tests

* fix(vms): tests

* feat(ec2): fixed bug in running commands at deployment and refactored setup

* test(ec2): added setup e2e test

* fix(vms): refactoring and code fixes

* fix(vm): bug fix

* fix(vm): missing files

* feat(vms): implemented e2e test for contribution verification

* feat(vms): tests and refactoring

* fix(vms): remove redundant code

* test(vms): completed e2e tests with VMs

* fix(vms): cleanup test

* fix(vms): remove redundant parameter on VM startup - ssh keypair

* fix(vms): add tags on EC2 creation

* refactor: add missing hash computation; minor conflicts and changes

* fix(vms): fix VM commands

* test(vms): fix test to also delete the verification transcript

* chore: publish 0.4.7

* test(vms): refactoring of VM tests with extra debug options

* test(vms): fixed finalize test and cloud function. Adding extra debugging for verification

* fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF

* chore: publish 0.4.8

* fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash

* fix(vms): fixed cloud function for VM verification

* chore: publish 0.4.9

* fix(vms): fix cloud function bug related to the wrong verification transcript path

* test(vms): fix broken tests due to VM upgrade

* fix(vms): disable eslint rule for regex

* feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization

* feat(vms): add marker file in userData to avoid running initialization code more than once

* fix(vms): fix userData commands

* refactor: add VM prices

* refactor: add selector for VM disk type

* test: update tests

* refactor: complete and remove old todos

* refactor: add retry mechanism for VM

* fix: wrong path to Verifier smart contract template

* feat(vms): implement terraform script to deploy AWS inf

* fix(vms): fix import error

* fix: correct failing tests

* fix(vms): fix cloud function multipartupload wrong parameter name

* chore: publish 0.4.10

* fix(vms): fix terraform and lambda config

* fix(vms): temp revert of retry feature in verifyContribution

* fix(vms): fix emulator tests

* fix(vms): fix prod tests

* refactor: improve verifycontribution function code; minor changes to code readability

* fix(vms): fix prod test - wrong parameter order in ec2 tests

* chore: publish 0.5.0

* fix: missing else statement for verifycontribution function; wrong return on custom promise

* fix(vms): revert part of the verifyContribution refactoring and update terraform

* fix(vms): retry mechanism for VM startup

* refactor: add options for contribute command

* refactor: make coordinator artifacts publicly downloadable by default

* chore: update backend firebase default prod project

* fix(tests): add extra sleep when setting custom claims to allow propagation

* fix(tests): skip a test that would fail due to environment not clean

* fix(tests): fix issues with user not being recognized as coordinator

* fix(tests): add extra sleep and coordinator checks within tests

* refactor: avoid mandatory memory check; add missing loader and messages to improve ux

* feat(setup): start to implement non interactive setup

* feat(setup): implement non interactive setup

* fix(setup): change test file

* fix(setup): remove non working test

* fix(setup): change setup test file

* fix(setup): amend after PR review

* feat(setup): add option to pass the authentication token as cli param

passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like
GitHub actions.

* fix(tests): add extra coordinator user to resolve random test failure

* fix(tests): add extra sleep after user creation

* fix(auth): fix non interactive auth and force token refresh for coordinator

* fix(setup): fix local path to circuit artifacts + change error in security tests

* fix(setup): add missing circuit artifacts local path

allow circuit artifacts to be in a separate folder for setup so that it can be used with
definitelySetup

* fix(tests): fix tests

* refactor: improve ux ui of auth and logout commands

* feat(setup): add a cli command to validate the ceremony setup file and the constraints

* refactor: add spinners to avoid delays; add custom feedback messages for contributor

* chore: correct text

* feat(list ceremonies): add a command to list all ceremonies

* feat(list): exit with code 1 when calling showError with exit=true

* fix(tests and setup): fix tests and cleanup config file

* chore: publish 1.0.0

* fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm)

* Revise workflow

* Fix a typo

* V1.1.1

* V1.1

* fix: set cli as a es module

* fix: bump 0.3.0; minor missing imports for enums

* feat (EC2-demo) testing VMs

* feat(ec2) - continuing with poc

* fix(sybil) - add tests

* fix(sybil) - added prod test switch

* build: update external packages dependencies

* feat(public ceremonies) - allow to download ceremony data to everyone

* refactor: move auto-generated types to root

* refactor: improve package configuration; remove unused files

* refactor: complete configuration; lint and small fix

* fix: wrong prod Firebase project for CI

* refactor: update phase2cli package config; fixed bin overwrite when installing

* refactor: use meta import to optimize repository file read

* refactor: use ts-node instead of dist to execute phase2cli

* refactor: update .env and package.json imports

* fix: wrong path for environment config file

* fix(public-data) remove cloud function

* fix(public-data) remove function from index.ts

* fix(public data)  yarn.locl

* fix: missing skipLibCheck option was causing docs script to exit

* fix: add missing options to ts config

* chore(release): publish 0.3.0

* build: update yarn version

* fix: spinner does not stop correctly after contribution verification

* chore(release): publish 0.3.1

* fix: missing updates for current contributor fields when coordinating

* fix: duplicate messages when waiting for contribution; remove wrong listener

* chore(release): publish 0.3.5

* fix(sybil checks): amended env var name and added to the backend

* fix(s3): creating public bucket with object ACL enabled

configuring S3 to allow download of verification transcript

* fix(tests): fixed tests

* fix: unconsistency when resuming a contribution

* fix: add missing alternative case; fix wrong tests

* chore(release): publish 0.4.0

* fix: wrong ci env project

* fix: missing sort for ceremony circuits

* fix: wrong document property lead to error when checking github antisybil

* build: missing dependencies on actions package

* chore(release): publish 0.4.1

* chore(release): publish 0.4.2

* test: update github anti-sybil tests

* fix(ux): added more verbose messages to inform the user of waiting times and errors

* feat(ec2): added tests and ip function

* feat(ec2): merge udpates and add tests

* feat(vms): added ssm code and more tests + changes on backend

* feat(vms): refactoring

* fix: imports and package version

* feat(vms): added tests

* fix(vms): tests

* feat(ec2): fixed bug in running commands at deployment and refactored setup

* test(ec2): added setup e2e test

* fix(vms): refactoring and code fixes

* fix(vm): bug fix

* fix(vm): missing files

* feat(vms): implemented e2e test for contribution verification

* feat(vms): tests and refactoring

* fix(vms): remove redundant code

* test(vms): completed e2e tests with VMs

* fix(vms): cleanup test

* fix(vms): remove redundant parameter on VM startup - ssh keypair

* fix(vms): add tags on EC2 creation

* refactor: add missing hash computation; minor conflicts and changes

* fix(vms): fix VM commands

* test(vms): fix test to also delete the verification transcript

* chore: publish 0.4.7

* test(vms): refactoring of VM tests with extra debug options

* test(vms): fixed finalize test and cloud function. Adding extra debugging for verification

* fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF

* chore: publish 0.4.8

* fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash

* fix(vms): fixed cloud function for VM verification

* chore: publish 0.4.9

* fix(vms): fix cloud function bug related to the wrong verification transcript path

* test(vms): fix broken tests due to VM upgrade

* fix(vms): disable eslint rule for regex

* feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization

* feat(vms): add marker file in userData to avoid running initialization code more than once

* fix(vms): fix userData commands

* refactor: add VM prices

* refactor: add selector for VM disk type

* test: update tests

* refactor: complete and remove old todos

* refactor: add retry mechanism for VM

* fix: wrong path to Verifier smart contract template

* feat(vms): implement terraform script to deploy AWS inf

* fix(vms): fix import error

* fix: correct failing tests

* fix(vms): fix cloud function multipartupload wrong parameter name

* chore: publish 0.4.10

* fix(vms): fix terraform and lambda config

* fix(vms): temp revert of retry feature in verifyContribution

* fix(vms): fix emulator tests

* fix(vms): fix prod tests

* refactor: improve verifycontribution function code; minor changes to code readability

* fix(vms): fix prod test - wrong parameter order in ec2 tests

* chore: publish 0.5.0

* fix: missing else statement for verifycontribution function; wrong return on custom promise

* fix(vms): revert part of the verifyContribution refactoring and update terraform

* fix(vms): retry mechanism for VM startup

* refactor: add options for contribute command

* refactor: make coordinator artifacts publicly downloadable by default

* chore: update backend firebase default prod project

* fix(tests): add extra sleep when setting custom claims to allow propagation

* fix(tests): skip a test that would fail due to environment not clean

* fix(tests): fix issues with user not being recognized as coordinator

* fix(tests): add extra sleep and coordinator checks within tests

* refactor: avoid mandatory memory check; add missing loader and messages to improve ux

* feat(setup): start to implement non interactive setup

* feat(setup): implement non interactive setup

* fix(setup): change test file

* fix(setup): remove non working test

* fix(setup): change setup test file

* fix(setup): amend after PR review

* feat(setup): add option to pass the authentication token as cli param

passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like
GitHub actions.

* fix(tests): add extra coordinator user to resolve random test failure

* fix(tests): add extra sleep after user creation

* fix(auth): fix non interactive auth and force token refresh for coordinator

* fix(setup): fix local path to circuit artifacts + change error in security tests

* fix(setup): add missing circuit artifacts local path

allow circuit artifacts to be in a separate folder for setup so that it can be used with
definitelySetup

* fix(tests): fix tests

* refactor: improve ux ui of auth and logout commands

* feat(setup): add a cli command to validate the ceremony setup file and the constraints

* refactor: add spinners to avoid delays; add custom feedback messages for contributor

* chore: correct text

* feat(list ceremonies): add a command to list all ceremonies

* feat(list): exit with code 1 when calling showError with exit=true

* fix(tests and setup): fix tests and cleanup config file

* chore: publish 1.0.0

* fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm)

* Revise workflow

* Fix a typo

---------

Co-authored-by: ctrlc03 <[email protected]>
Co-authored-by: cedoor <[email protected]>
Co-authored-by: Jeeiii <[email protected]>
Co-authored-by: Daehyun Paik <[email protected]>

* Separate deployment and testing

---------

Co-authored-by: daodesigner <[email protected]>
Co-authored-by: ctrlc03 <[email protected]>
Co-authored-by: cedoor <[email protected]>
Co-authored-by: Jeeiii <[email protected]>

* Separate deploy and test (#99)

---------

Co-authored-by: ctrlc03 <[email protected]>
Co-authored-by: cedoor <[email protected]>
Co-authored-by: Jeeiii <[email protected]>
Co-authored-by: Daehyun Paik <[email protected]>

* feat(setup): non interactive setup with artifacts download

* feat(setup): add cloud function for file transfer and unit tests

* feat(setup): add transfer of object inside phase2cli

* feat(setup): remove return value and amend tests

* fix(setup): revert transfer of object and add region to config

* feat(setup) fix test template

* fix(setup): fix not waiting for file download

* fix(setup): remove redundant function

* chore(release): publish 1.0.1

* fix(vms): specify region in sns command

* fix(vms) - missing param

* fix(vms): missing doc

* fix(vms): fix default region

* chore(release): publish 1.0.2

* fix(setup): fix vm command due to differences in AMI config between regions

* chore(release): publish 1.0.4

* fix (ceremony) - fix various bugs (#116)

* fix(setup): add spinners

* fix(bugs): fix backend and cli bugs

* fix(regions): move cloud functions to same region as firestore and s3

* fix(tests): add new region on test utils

* merge(dev) - ready to deploy on staging (#109)

* fix: set cli as a es module

* fix: bump 0.3.0; minor missing imports for enums

* feat (EC2-demo) testing VMs

* feat(ec2) - continuing with poc

* fix(sybil) - add tests

* fix(sybil) - added prod test switch

* build: update external packages dependencies

* feat(public ceremonies) - allow to download ceremony data to everyone

* refactor: move auto-generated types to root

* refactor: improve package configuration; remove unused files

* refactor: complete configuration; lint and small fix

* fix: wrong prod Firebase project for CI

* refactor: update phase2cli package config; fixed bin overwrite when installing

* refactor: use meta import to optimize repository file read

* refactor: use ts-node instead of dist to execute phase2cli

* refactor: update .env and package.json imports

* fix: wrong path for environment config file

* fix(public-data) remove cloud function

* fix(public-data) remove function from index.ts

* fix(public data)  yarn.locl

* fix: missing skipLibCheck option was causing docs script to exit

* fix: add missing options to ts config

* chore(release): publish 0.3.0

* build: update yarn version

* fix: spinner does not stop correctly after contribution verification

* chore(release): publish 0.3.1

* fix: missing updates for current contributor fields when coordinating

* fix: duplicate messages when waiting for contribution; remove wrong listener

* chore(release): publish 0.3.5

* fix(sybil checks): amended env var name and added to the backend

* fix(s3): creating public bucket with object ACL enabled

configuring S3 to allow download of verification transcript

* fix(tests): fixed tests

* fix: unconsistency when resuming a contribution

* fix: add missing alternative case; fix wrong tests

* chore(release): publish 0.4.0

* fix: wrong ci env project

* fix: missing sort for ceremony circuits

* fix: wrong document property lead to error when checking github antisybil

* build: missing dependencies on actions package

* chore(release): publish 0.4.1

* chore(release): publish 0.4.2

* test: update github anti-sybil tests

* fix(ux): added more verbose messages to inform the user of waiting times and errors

* feat(ec2): added tests and ip function

* feat(ec2): merge udpates and add tests

* feat(vms): added ssm code and more tests + changes on backend

* feat(vms): refactoring

* fix: imports and package version

* feat(vms): added tests

* fix(vms): tests

* feat(ec2): fixed bug in running commands at deployment and refactored setup

* test(ec2): added setup e2e test

* fix(vms): refactoring and code fixes

* fix(vm): bug fix

* fix(vm): missing files

* feat(vms): implemented e2e test for contribution verification

* feat(vms): tests and refactoring

* fix(vms): remove redundant code

* test(vms): completed e2e tests with VMs

* fix(vms): cleanup test

* fix(vms): remove redundant parameter on VM startup - ssh keypair

* fix(vms): add tags on EC2 creation

* refactor: add missing hash computation; minor conflicts and changes

* fix(vms): fix VM commands

* test(vms): fix test to also delete the verification transcript

* chore: publish 0.4.7

* test(vms): refactoring of VM tests with extra debug options

* test(vms): fixed finalize test and cloud function. Adding extra debugging for verification

* fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF

* chore: publish 0.4.8

* fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash

* fix(vms): fixed cloud function for VM verification

* chore: publish 0.4.9

* fix(vms): fix cloud function bug related to the wrong verification transcript path

* test(vms): fix broken tests due to VM upgrade

* fix(vms): disable eslint rule for regex

* feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization

* feat(vms): add marker file in userData to avoid running initialization code more than once

* fix(vms): fix userData commands

* refactor: add VM prices

* refactor: add selector for VM disk type

* test: update tests

* refactor: complete and remove old todos

* refactor: add retry mechanism for VM

* fix: wrong path to Verifier smart contract template

* feat(vms): implement terraform script to deploy AWS inf

* fix(vms): fix import error

* fix: correct failing tests

* fix(vms): fix cloud function multipartupload wrong parameter name

* chore: publish 0.4.10

* fix(vms): fix terraform and lambda config

* fix(vms): temp revert of retry feature in verifyContribution

* fix(vms): fix emulator tests

* fix(vms): fix prod tests

* refactor: improve verifycontribution function code; minor changes to code readability

* fix(vms): fix prod test - wrong parameter order in ec2 tests

* chore: publish 0.5.0

* fix: missing else statement for verifycontribution function; wrong return on custom promise

* fix(vms): revert part of the verifyContribution refactoring and update terraform

* fix(vms): retry mechanism for VM startup

* refactor: add options for contribute command

* refactor: make coordinator artifacts publicly downloadable by default

* chore: update backend firebase default prod project

* fix(tests): add extra sleep when setting custom claims to allow propagation

* fix(tests): skip a test that would fail due to environment not clean

* fix(tests): fix issues with user not being recognized as coordinator

* fix(tests): add extra sleep and coordinator checks within tests

* refactor: avoid mandatory memory check; add missing loader and messages to improve ux

* feat(setup): start to implement non interactive setup

* feat(setup): implement non interactive setup

* fix(setup): change test file

* fix(setup): remove non working test

* fix(setup): change setup test file

* fix(setup): amend after PR review

* feat(setup): add option to pass the authentication token as cli param

passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like
GitHub actions.

* fix(tests): add extra coordinator user to resolve random test failure

* fix(tests): add extra sleep after user creation

* fix(auth): fix non interactive auth and force token refresh for coordinator

* fix(setup): fix local path to circuit artifacts + change error in security tests

* fix(setup): add missing circuit artifacts local path

allow circuit artifacts to be in a separate folder for setup so that it can be used with
definitelySetup

* fix(tests): fix tests

* refactor: improve ux ui of auth and logout commands

* feat(setup): add a cli command to validate the ceremony setup file and the constraints

* refactor: add spinners to avoid delays; add custom feedback messages for contributor

* chore: correct text

* feat(list ceremonies): add a command to list all ceremonies

* feat(list): exit with code 1 when calling showError with exit=true

* fix(tests and setup): fix tests and cleanup config file

* chore: publish 1.0.0

* fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm)

* Revise workflow

* Fix a typo

* V1.1.1

* V1.1

* fix: set cli as a es module

* fix: bump 0.3.0; minor missing imports for enums

* feat (EC2-demo) testing VMs

* feat(ec2) - continuing with poc

* fix(sybil) - add tests

* fix(sybil) - added prod test switch

* build: update external packages dependencies

* feat(public ceremonies) - allow to download ceremony data to everyone

* refactor: move auto-generated types to root

* refactor: improve package configuration; remove unused files

* refactor: complete configuration; lint and small fix

* fix: wrong prod Firebase project for CI

* refactor: update phase2cli package config; fixed bin overwrite when installing

* refactor: use meta import to optimize repository file read

* refactor: use ts-node instead of dist to execute phase2cli

* refactor: update .env and package.json imports

* fix: wrong path for environment config file

* fix(public-data) remove cloud function

* fix(public-data) remove function from index.ts

* fix(public data)  yarn.locl

* fix: missing skipLibCheck option was causing docs script to exit

* fix: add missing options to ts config

* chore(release): publish 0.3.0

* build: update yarn version

* fix: spinner does not stop correctly after contribution verification

* chore(release): publish 0.3.1

* fix: missing updates for current contributor fields when coordinating

* fix: duplicate messages when waiting for contribution; remove wrong listener

* chore(release): publish 0.3.5

* fix(sybil checks): amended env var name and added to the backend

* fix(s3): creating public bucket with object ACL enabled

configuring S3 to allow download of verification transcript

* fix(tests): fixed tests

* fix: unconsistency when resuming a contribution

* fix: add missing alternative case; fix wrong tests

* chore(release): publish 0.4.0

* fix: wrong ci env project

* fix: missing sort for ceremony circuits

* fix: wrong document property lead to error when checking github antisybil

* build: missing dependencies on actions package

* chore(release): publish 0.4.1

* chore(release): publish 0.4.2

* test: update github anti-sybil tests

* fix(ux): added more verbose messages to inform the user of waiting times and errors

* feat(ec2): added tests and ip function

* feat(ec2): merge udpates and add tests

* feat(vms): added ssm code and more tests + changes on backend

* feat(vms): refactoring

* fix: imports and package version

* feat(vms): added tests

* fix(vms): tests

* feat(ec2): fixed bug in running commands at deployment and refactored setup

* test(ec2): added setup e2e test

* fix(vms): refactoring and code fixes

* fix(vm): bug fix

* fix(vm): missing files

* feat(vms): implemented e2e test for contribution verification

* feat(vms): tests and refactoring

* fix(vms): remove redundant code

* test(vms): completed e2e tests with VMs

* fix(vms): cleanup test

* fix(vms): remove redundant parameter on VM startup - ssh keypair

* fix(vms): add tags on EC2 creation

* refactor: add missing hash computation; minor conflicts and changes

* fix(vms): fix VM commands

* test(vms): fix test to also delete the verification transcript

* chore: publish 0.4.7

* test(vms): refactoring of VM tests with extra debug options

* …
  • Loading branch information
6 people authored Aug 16, 2023
1 parent a6dcd68 commit f6f48a2
Show file tree
Hide file tree
Showing 15 changed files with 122 additions and 75 deletions.
11 changes: 8 additions & 3 deletions .github/workflows/publish-dev-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

- name: Initialize Project
run: |
yarn install --immutable
yarn install
yarn build
env:
NODE_OPTIONS: "--max_old_space_size=4096"
Expand All @@ -31,6 +31,11 @@ jobs:
run: |
npm install -g [email protected]
- name: Filling package.json dependencies with latest version
run: |
sed -i -e 's/"@p0tion\/actions": "\^1.0.5"/"@devtion\/actions": "latest"/g' ./packages/backend/package.json
sed -i -e 's/"@p0tion\/actions": "\^1.0.5"/"@devtion\/actions": "latest"/g' ./packages/phase2cli/package.json
- name: Modify package name
run: |
sed -i -e 's/"name": "@p0tion\/phase2cli"/"name": "@devtion\/devcli"/g' ./packages/phase2cli/package.json
Expand All @@ -40,7 +45,7 @@ jobs:
- name: Publish packages
run: |
# Prevent `git commit error` when running `lerna version`
# It will not pushed to GitHub. It is ephemeral
# It will not be pushed to GitHub. It is ephemeral
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
Expand All @@ -50,7 +55,7 @@ jobs:
echo "${{ vars.CLI_ENV_FILE }}" > ./packages/phase2cli/dist/.env
lerna version 0.0.0-$(git rev-parse --short HEAD) --no-push --ignore-scripts --message "chore(release): publish packages" --yes
lerna version 0.0.0-$(git rev-parse --short HEAD~1) --no-push --ignore-scripts --message "chore(release): publish packages" --yes
lerna publish from-git --yes
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
5 changes: 5 additions & 0 deletions .github/workflows/publish-production-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ jobs:
- name: Publish packages
run: |
# Prevent `git commit error` when running `lerna version`
# It will not be pushed to GitHub. It is ephemeral
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
echo "${{ vars.CLI_ENV_FILE }}" > ./packages/phase2cli/dist/.env
lerna version 0.0.0-$(git rev-parse --short HEAD) --no-push --ignore-scripts --message "chore(release): publish packages" --yes
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/publish-staging-packages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,14 @@ jobs:
registry-url: "https://registry.npmjs.org"
cache: yarn

- name: Filling package.json dependencies with latest version
run: |
sed -i -e 's/"@p0tion\/actions": "\^1.0.5"/"@stagtion\/actions": "latest"/g' ./packages/backend/package.json
sed -i -e 's/"@p0tion\/actions": "\^1.0.5"/"@stagtion\/actions": "latest"/g' ./packages/phase2cli/package.json
- name: Initialize Project
run: |
yarn install --immutable
yarn install
yarn build
env:
NODE_OPTIONS: "--max_old_space_size=4096"
Expand All @@ -39,7 +44,7 @@ jobs:
- name: Publish packages
run: |
# Prevent `git commit error` when running `lerna version`
# It will not pushed to GitHub. It is ephemeral
# It will not be pushed to GitHub. It is ephemeral
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
Expand All @@ -48,8 +53,7 @@ jobs:
echo "${{ vars.CLI_ENV_FILE }}" > ./packages/phase2cli/dist/.env
lerna version 0.0.0-$(git rev-parse --short HEAD) --no-push --ignore-scripts --message "chore(release): publish packages" --yes
lerna version 0.0.0-$(git rev-parse --short HEAD~1) --no-push --ignore-scripts --message "chore(release): publish packages" --yes
lerna publish from-git --yes
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"packages/*"
],
"npmClient": "yarn",
"version": "1.0.5",
"version": "1.0.6",
"changelogPreset": {
"name": "conventionalcommits",
"issuePrefixes": [
Expand Down
2 changes: 1 addition & 1 deletion packages/actions/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@p0tion/actions",
"version": "1.0.5",
"version": "1.0.6",
"description": "A set of actions and helpers for CLI commands",
"repository": "[email protected]:privacy-scaling-explorations/p0tion.git",
"homepage": "https://github.com/privacy-scaling-explorations/p0tion",
Expand Down
6 changes: 6 additions & 0 deletions packages/actions/src/helpers/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,12 @@ export const commonTerms = {
verificationStartedAt: "verificationStartedAt"
}
},
avatars: {
name: "avatars",
fields: {
avatarUrl: "avatarUrl"
}
},
ceremonies: {
name: "ceremonies",
fields: {
Expand Down
78 changes: 28 additions & 50 deletions packages/actions/src/helpers/security.ts
Original file line number Diff line number Diff line change
@@ -1,57 +1,29 @@
import fetch from "@adobe/node-fetch-retry"
/**
* This function will return the number of public repos of a user
* @param user <string> The username of the user
* @returns <number> The number of public repos
* This function queries the GitHub API to fetch users statistics
* @param user {string} the user uid
* @returns {any} the stats from the GitHub API
*/
const getNumberOfPublicReposGitHub = async (user: string): Promise<number> => {
const response = await fetch(`https://api.github.com/user/${user}/repos`, {
const getGitHubStats = async (user: string): Promise<any> => {
const response = await fetch(`https://api.github.com/user/${user}`, {
method: "GET",
headers: {
Authorization: `token ${process.env.GITHUB_ACCESS_TOKEN!}`
}
})
if (response.status !== 200)
throw new Error("It was not possible to retrieve the number of public repositories. Please try again.")
const jsonData: any = await response.json()
return jsonData.length
}
/**
* This function will return the number of followers of a user
* @param user <string> The username of the user
* @returns <number> The number of followers
*/
const getNumberOfFollowersGitHub = async (user: string): Promise<number> => {
const response = await fetch(`https://api.github.com/user/${user}/followers`, {
method: "GET",
headers: {
Authorization: `token ${process.env.GITHUB_ACCESS_TOKEN!}`
}
})
if (response.status !== 200)
throw new Error("It was not possible to retrieve the number of followers. Please try again.")
const jsonData: any = await response.json()
return jsonData.length
}
/**
* This function will return the number of following of a user
* @param user <string> The username of the user
* @returns <number> The number of following users
*/
const getNumberOfFollowingGitHub = async (user: string): Promise<number> => {
const response = await fetch(`https://api.github.com/user/${user}/following`, {
method: "GET",
headers: {
Authorization: `token ${process.env.GITHUB_ACCESS_TOKEN!}`
}
})

if (response.status !== 200)
throw new Error("It was not possible to retrieve the number of following. Please try again.")
throw new Error("It was not possible to retrieve the user's statistic. Please try again.")

const jsonData: any = await response.json()

return jsonData.length
const data = {
following: jsonData.following,
followers: jsonData.followers,
publicRepos: jsonData.public_repos,
avatarUrl: jsonData.avatar_url
}

return data
}

/**
Expand All @@ -60,27 +32,33 @@ const getNumberOfFollowingGitHub = async (user: string): Promise<number> => {
* @param minimumAmountOfFollowing <number> The minimum amount of following the user should have
* @param minimumAmountOfFollowers <number> The minimum amount of followers the user should have
* @param minimumAmountOfPublicRepos <number> The minimum amount of public repos the user should have
* @returns <boolean> True if the user is reputable enough, false otherwise
* @returns <any> Return the avatar URL of the user if the user is reputable, false otherwise
*/
export const githubReputation = async (
userLogin: string,
minimumAmountOfFollowing: number,
minimumAmountOfFollowers: number,
minimumAmountOfPublicRepos: number
): Promise<boolean> => {
): Promise<any> => {
if (!process.env.GITHUB_ACCESS_TOKEN)
throw new Error(
"The GitHub access token is missing. Please insert a valid token to be used for anti-sybil checks on user registation, and then try again."
)
const following = await getNumberOfFollowingGitHub(userLogin)
const repos = await getNumberOfPublicReposGitHub(userLogin)
const followers = await getNumberOfFollowersGitHub(userLogin)

const { following, followers, publicRepos, avatarUrl } = await getGitHubStats(userLogin)

if (
following < minimumAmountOfFollowing ||
repos < minimumAmountOfPublicRepos ||
publicRepos < minimumAmountOfPublicRepos ||
followers < minimumAmountOfFollowers
)
return false
return true
return {
reputable: false,
avatarUrl: ""
}

return {
reputable: true,
avatarUrl: avatarUrl
}
}
26 changes: 26 additions & 0 deletions packages/backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,32 @@ yarn firebase:init

### Deployment

#### AWS Infrastructure

0. Login or create a [new AWS Account](https://portal.aws.amazon.com/billing/signup?nc2=h_ct&src=header_signup&redirect_url=https%3A%2F%2Faws.amazon.com%2Fregistration-confirmation#/start/email).
- The AWS free tier account will cover a good number of requests for ceremonies but there could be some costs based on your ceremony circuits size.
1. Create an access key for a user with Admin privileges (__NOT ROOT USER__)
2. Setup the `awscli` ([docs](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)) and add the keys for this user.
3. Install `terraform` ([docs](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli))
4. Decide on an AWS region (by default this is **us-east-1**) - if you want to change you will need to do the following:
1. update **aws/lambda/index.mjs** ([exact line](https://github.com/privacy-scaling-explorations/p0tion/blob/dev/packages/backend/aws/lambda/index.mjs#L3)) to the new region
2. update **main.tf** ([exact line](https://github.com/privacy-scaling-explorations/p0tion/blob/dev/packages/backend/aws/main.tf#L2)) to the new region
5. zip the Lambda folder:
1. `cd lambda`
2. `zip -r ../lambda.zip .`
6. Run terraform:
1. `terraform init`
2. `terraform plan`
3. `terraform apply`
4. `terraform output secret_key`
- To print the secret access key for the IAM user
6. Store the other values (sns_topic_arn etc.)
- These will be needed for the .env file configuration

The IAM user created with the steps above can be used for all p0tion's features.

#### Firebase

Deploy the current configuration to the `prod` project running

```bash
Expand Down
5 changes: 5 additions & 0 deletions packages/backend/firestore.rules
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,10 @@ service cloud.firestore {
if request.auth != null &&
request.auth.token.coordinator;
}
// applies to the avatars
match /avatars/{participantId} {
// any authenticated user can read
allow read: if true;
}
}
}
4 changes: 2 additions & 2 deletions packages/backend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@p0tion/backend",
"version": "1.0.5",
"version": "1.0.6",
"description": "MPC Phase 2 backend for Firebase services management",
"repository": "[email protected]:privacy-scaling-explorations/p0tion.git",
"homepage": "https://github.com/privacy-scaling-explorations/p0tion",
Expand Down Expand Up @@ -67,7 +67,7 @@
"@aws-sdk/client-ssm": "^3.357.0",
"@aws-sdk/middleware-endpoint": "^3.329.0",
"@aws-sdk/s3-request-presigner": "^3.329.0",
"@p0tion/actions": "^1.0.5",
"@p0tion/actions": "^1.0.6",
"blakejs": "^1.2.1",
"dotenv": "^16.0.3",
"ethers": "5.7.2",
Expand Down
28 changes: 21 additions & 7 deletions packages/backend/src/functions/user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,11 @@ export const registerAuthUser = functions
const { uid } = user
// Reference to a document using uid.
const userRef = firestore.collection(commonTerms.collections.users.name).doc(uid)
// html encode the display name
const encodedDisplayName = encode(displayName)
// html encode the display name (or put the ID if the name is not displayed)
const encodedDisplayName = user.displayName === "Null" || user.displayName === null ? user.uid : encode(displayName)

// store the avatar URL of a contributor
let avatarUrl: string = ""
// we only do reputation check if the user is not a coordinator
if (
!(
Expand All @@ -56,25 +59,27 @@ export const registerAuthUser = functions

// this return true or false
try {
const res = await githubReputation(
const { reputable, avatarUrl: avatarURL } = await githubReputation(
user.providerData[0].uid,
vars.minimumFollowing,
vars.minimumFollowers,
vars.minimumPublicRepos
)
if (!res) {
if (!reputable) {
// Delete user
await auth.deleteUser(user.uid)
// Throw error
logAndThrowError(
makeError(
"permission-denied",
"The user is not allowed to sign up because their Github reputation is not high enough.",
`The user ${user.displayName} is not allowed to sign up because their Github reputation is not high enough. Please contact the administrator if you think this is a mistake.`
`The user ${user.displayName === "Null" || user.displayName === null ? user.uid : user.displayName } is not allowed to sign up because their Github reputation is not high enough. Please contact the administrator if you think this is a mistake.`
)
)
}
printLog(`Github reputation check passed for user ${user.displayName}`, LogLevel.DEBUG)
}
// store locally
avatarUrl = avatarURL
printLog(`Github reputation check passed for user ${user.displayName === "Null" || user.displayName === null ? user.uid : user.displayName }`, LogLevel.DEBUG)
} catch (error: any) {
// Delete user
await auth.deleteUser(user.uid)
Expand All @@ -89,6 +94,8 @@ export const registerAuthUser = functions
}
}
// Set document (nb. we refer to providerData[0] because we use Github OAuth provider only).
// In future releases we might want to loop through the providerData array as we support
// more providers.
await userRef.set({
name: encodedDisplayName,
encodedDisplayName,
Expand All @@ -101,7 +108,14 @@ export const registerAuthUser = functions
photoURL: photoURL || "",
lastUpdated: getCurrentServerTimestampInMillis()
})

// we want to create a new collection for the users to store the avatars
const avatarRef = firestore.collection(commonTerms.collections.avatars.name).doc(uid)
await avatarRef.set({
avatarUrl: avatarUrl || "",
})
printLog(`Authenticated user document with identifier ${uid} has been correctly stored`, LogLevel.DEBUG)
printLog(`Authenticated user avatar with identifier ${uid} has been correctly stored`, LogLevel.DEBUG)
})
/**
* Set custom claims for role-based access control on the newly created user.
Expand Down
2 changes: 2 additions & 0 deletions packages/phase2cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ or run specific commands with `npx`:
npx @p0tion/phase2cli contribute
```

> Please note that phase2cli only runs on Linux or Mac systems. If a Windows user, please install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) first.
## 📜 Usage

### Local Development
Expand Down
5 changes: 3 additions & 2 deletions packages/phase2cli/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@p0tion/phase2cli",
"type": "module",
"version": "1.0.5",
"version": "1.0.6",
"description": "All-in-one interactive command-line for interfacing with zkSNARK Phase 2 Trusted Setup ceremonies",
"repository": "[email protected]:privacy-scaling-explorations/p0tion.git",
"homepage": "https://github.com/privacy-scaling-explorations/p0tion",
Expand Down Expand Up @@ -64,10 +64,11 @@
},
"dependencies": {
"@adobe/node-fetch-retry": "^2.2.0",
"@aws-sdk/client-s3": "^3.329.0",
"@octokit/auth-oauth-app": "^5.0.5",
"@octokit/auth-oauth-device": "^4.0.4",
"@octokit/request": "^6.2.3",
"@p0tion/actions": "^1.0.5",
"@p0tion/actions": "^1.0.6",
"blakejs": "^1.2.1",
"boxen": "^7.1.0",
"chalk": "^5.2.0",
Expand Down
Loading

0 comments on commit f6f48a2

Please sign in to comment.