Skip to content

Commit f6f48a2

Browse files
ctrlc03cedoor0xjeibaumsterndaodesigner
authored
V1.0.6
* 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 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor <me@cedoor.dev> Co-authored-by: Jeeiii <giacomo.corrias7@gmail.com> Co-authored-by: Daehyun Paik <paik@a30a.dev> * 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 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor <me@cedoor.dev> Co-authored-by: Jeeiii <giacomo.corrias7@gmail.com> Co-authored-by: Daehyun Paik <paik@a30a.dev> * Separate deployment and testing --------- Co-authored-by: daodesigner <58278045+daodesigner@users.noreply.github.com> Co-authored-by: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor <me@cedoor.dev> Co-authored-by: Jeeiii <giacomo.corrias7@gmail.com> * 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 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor <me@cedoor.dev> Co-authored-by: Jeeiii <giacomo.corrias7@gmail.com> Co-authored-by: Daehyun Paik <paik@a30a.dev> * Separate deployment and testing --------- Co-authored-by: daodesigner <58278045+daodesigner@users.noreply.github.com> Co-authored-by: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor <me@cedoor.dev> Co-authored-by: Jeeiii <giacomo.corrias7@gmail.com> --------- Co-authored-by: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor <me@cedoor.dev> Co-authored-by: Jeeiii <giacomo.corrias7@gmail.com> Co-authored-by: Daehyun Paik <paik@a30a.dev> * 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 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor <me@cedoor.dev> Co-authored-by: Jeeiii <giacomo.corrias7@gmail.com> Co-authored-by: Daehyun Paik <paik@a30a.dev> * Separate deployment and testing --------- Co-authored-by: daodesigner <58278045+daodesigner@users.noreply.github.com> Co-authored-by: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor <me@cedoor.dev> Co-authored-by: Jeeiii <giacomo.corrias7@gmail.com> * Separate deploy and test (#99) --------- Co-authored-by: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor <me@cedoor.dev> Co-authored-by: Jeeiii <giacomo.corrias7@gmail.com> Co-authored-by: Daehyun Paik <paik@a30a.dev> * 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 * …
1 parent a6dcd68 commit f6f48a2

File tree

15 files changed

+122
-75
lines changed

15 files changed

+122
-75
lines changed

.github/workflows/publish-dev-packages.yaml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222

2323
- name: Initialize Project
2424
run: |
25-
yarn install --immutable
25+
yarn install
2626
yarn build
2727
env:
2828
NODE_OPTIONS: "--max_old_space_size=4096"
@@ -31,6 +31,11 @@ jobs:
3131
run: |
3232
npm install -g lerna@7.1.4
3333
34+
- name: Filling package.json dependencies with latest version
35+
run: |
36+
sed -i -e 's/"@p0tion\/actions": "\^1.0.5"/"@devtion\/actions": "latest"/g' ./packages/backend/package.json
37+
sed -i -e 's/"@p0tion\/actions": "\^1.0.5"/"@devtion\/actions": "latest"/g' ./packages/phase2cli/package.json
38+
3439
- name: Modify package name
3540
run: |
3641
sed -i -e 's/"name": "@p0tion\/phase2cli"/"name": "@devtion\/devcli"/g' ./packages/phase2cli/package.json
@@ -40,7 +45,7 @@ jobs:
4045
- name: Publish packages
4146
run: |
4247
# Prevent `git commit error` when running `lerna version`
43-
# It will not pushed to GitHub. It is ephemeral
48+
# It will not be pushed to GitHub. It is ephemeral
4449
git config --global user.email "you@example.com"
4550
git config --global user.name "Your Name"
4651
@@ -50,7 +55,7 @@ jobs:
5055
echo "${{ vars.CLI_ENV_FILE }}" > ./packages/phase2cli/dist/.env
5156
5257
53-
lerna version 0.0.0-$(git rev-parse --short HEAD) --no-push --ignore-scripts --message "chore(release): publish packages" --yes
58+
lerna version 0.0.0-$(git rev-parse --short HEAD~1) --no-push --ignore-scripts --message "chore(release): publish packages" --yes
5459
lerna publish from-git --yes
5560
env:
5661
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.github/workflows/publish-production-packages.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ jobs:
3333
3434
- name: Publish packages
3535
run: |
36+
# Prevent `git commit error` when running `lerna version`
37+
# It will not be pushed to GitHub. It is ephemeral
38+
git config --global user.email "you@example.com"
39+
git config --global user.name "Your Name"
40+
3641
echo "${{ vars.CLI_ENV_FILE }}" > ./packages/phase2cli/dist/.env
3742
3843
lerna version 0.0.0-$(git rev-parse --short HEAD) --no-push --ignore-scripts --message "chore(release): publish packages" --yes

.github/workflows/publish-staging-packages.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,14 @@ jobs:
1919
registry-url: "https://registry.npmjs.org"
2020
cache: yarn
2121

22+
- name: Filling package.json dependencies with latest version
23+
run: |
24+
sed -i -e 's/"@p0tion\/actions": "\^1.0.5"/"@stagtion\/actions": "latest"/g' ./packages/backend/package.json
25+
sed -i -e 's/"@p0tion\/actions": "\^1.0.5"/"@stagtion\/actions": "latest"/g' ./packages/phase2cli/package.json
26+
2227
- name: Initialize Project
2328
run: |
24-
yarn install --immutable
29+
yarn install
2530
yarn build
2631
env:
2732
NODE_OPTIONS: "--max_old_space_size=4096"
@@ -39,7 +44,7 @@ jobs:
3944
- name: Publish packages
4045
run: |
4146
# Prevent `git commit error` when running `lerna version`
42-
# It will not pushed to GitHub. It is ephemeral
47+
# It will not be pushed to GitHub. It is ephemeral
4348
git config --global user.email "you@example.com"
4449
git config --global user.name "Your Name"
4550
@@ -48,8 +53,7 @@ jobs:
4853
4954
echo "${{ vars.CLI_ENV_FILE }}" > ./packages/phase2cli/dist/.env
5055
51-
52-
lerna version 0.0.0-$(git rev-parse --short HEAD) --no-push --ignore-scripts --message "chore(release): publish packages" --yes
56+
lerna version 0.0.0-$(git rev-parse --short HEAD~1) --no-push --ignore-scripts --message "chore(release): publish packages" --yes
5357
lerna publish from-git --yes
5458
env:
5559
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

lerna.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"packages/*"
44
],
55
"npmClient": "yarn",
6-
"version": "1.0.5",
6+
"version": "1.0.6",
77
"changelogPreset": {
88
"name": "conventionalcommits",
99
"issuePrefixes": [

packages/actions/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@p0tion/actions",
3-
"version": "1.0.5",
3+
"version": "1.0.6",
44
"description": "A set of actions and helpers for CLI commands",
55
"repository": "git@github.com:privacy-scaling-explorations/p0tion.git",
66
"homepage": "https://github.com/privacy-scaling-explorations/p0tion",

packages/actions/src/helpers/constants.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,12 @@ export const commonTerms = {
217217
verificationStartedAt: "verificationStartedAt"
218218
}
219219
},
220+
avatars: {
221+
name: "avatars",
222+
fields: {
223+
avatarUrl: "avatarUrl"
224+
}
225+
},
220226
ceremonies: {
221227
name: "ceremonies",
222228
fields: {
Lines changed: 28 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,29 @@
11
import fetch from "@adobe/node-fetch-retry"
22
/**
3-
* This function will return the number of public repos of a user
4-
* @param user <string> The username of the user
5-
* @returns <number> The number of public repos
3+
* This function queries the GitHub API to fetch users statistics
4+
* @param user {string} the user uid
5+
* @returns {any} the stats from the GitHub API
66
*/
7-
const getNumberOfPublicReposGitHub = async (user: string): Promise<number> => {
8-
const response = await fetch(`https://api.github.com/user/${user}/repos`, {
7+
const getGitHubStats = async (user: string): Promise<any> => {
8+
const response = await fetch(`https://api.github.com/user/${user}`, {
99
method: "GET",
1010
headers: {
1111
Authorization: `token ${process.env.GITHUB_ACCESS_TOKEN!}`
1212
}
1313
})
1414
if (response.status !== 200)
15-
throw new Error("It was not possible to retrieve the number of public repositories. Please try again.")
16-
const jsonData: any = await response.json()
17-
return jsonData.length
18-
}
19-
/**
20-
* This function will return the number of followers of a user
21-
* @param user <string> The username of the user
22-
* @returns <number> The number of followers
23-
*/
24-
const getNumberOfFollowersGitHub = async (user: string): Promise<number> => {
25-
const response = await fetch(`https://api.github.com/user/${user}/followers`, {
26-
method: "GET",
27-
headers: {
28-
Authorization: `token ${process.env.GITHUB_ACCESS_TOKEN!}`
29-
}
30-
})
31-
if (response.status !== 200)
32-
throw new Error("It was not possible to retrieve the number of followers. Please try again.")
33-
const jsonData: any = await response.json()
34-
return jsonData.length
35-
}
36-
/**
37-
* This function will return the number of following of a user
38-
* @param user <string> The username of the user
39-
* @returns <number> The number of following users
40-
*/
41-
const getNumberOfFollowingGitHub = async (user: string): Promise<number> => {
42-
const response = await fetch(`https://api.github.com/user/${user}/following`, {
43-
method: "GET",
44-
headers: {
45-
Authorization: `token ${process.env.GITHUB_ACCESS_TOKEN!}`
46-
}
47-
})
48-
49-
if (response.status !== 200)
50-
throw new Error("It was not possible to retrieve the number of following. Please try again.")
15+
throw new Error("It was not possible to retrieve the user's statistic. Please try again.")
5116

5217
const jsonData: any = await response.json()
5318

54-
return jsonData.length
19+
const data = {
20+
following: jsonData.following,
21+
followers: jsonData.followers,
22+
publicRepos: jsonData.public_repos,
23+
avatarUrl: jsonData.avatar_url
24+
}
25+
26+
return data
5527
}
5628

5729
/**
@@ -60,27 +32,33 @@ const getNumberOfFollowingGitHub = async (user: string): Promise<number> => {
6032
* @param minimumAmountOfFollowing <number> The minimum amount of following the user should have
6133
* @param minimumAmountOfFollowers <number> The minimum amount of followers the user should have
6234
* @param minimumAmountOfPublicRepos <number> The minimum amount of public repos the user should have
63-
* @returns <boolean> True if the user is reputable enough, false otherwise
35+
* @returns <any> Return the avatar URL of the user if the user is reputable, false otherwise
6436
*/
6537
export const githubReputation = async (
6638
userLogin: string,
6739
minimumAmountOfFollowing: number,
6840
minimumAmountOfFollowers: number,
6941
minimumAmountOfPublicRepos: number
70-
): Promise<boolean> => {
42+
): Promise<any> => {
7143
if (!process.env.GITHUB_ACCESS_TOKEN)
7244
throw new Error(
7345
"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."
7446
)
75-
const following = await getNumberOfFollowingGitHub(userLogin)
76-
const repos = await getNumberOfPublicReposGitHub(userLogin)
77-
const followers = await getNumberOfFollowersGitHub(userLogin)
47+
48+
const { following, followers, publicRepos, avatarUrl } = await getGitHubStats(userLogin)
7849

7950
if (
8051
following < minimumAmountOfFollowing ||
81-
repos < minimumAmountOfPublicRepos ||
52+
publicRepos < minimumAmountOfPublicRepos ||
8253
followers < minimumAmountOfFollowers
8354
)
84-
return false
85-
return true
55+
return {
56+
reputable: false,
57+
avatarUrl: ""
58+
}
59+
60+
return {
61+
reputable: true,
62+
avatarUrl: avatarUrl
63+
}
8664
}

packages/backend/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,32 @@ yarn firebase:init
100100

101101
### Deployment
102102

103+
#### AWS Infrastructure
104+
105+
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).
106+
- 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.
107+
1. Create an access key for a user with Admin privileges (__NOT ROOT USER__)
108+
2. Setup the `awscli` ([docs](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)) and add the keys for this user.
109+
3. Install `terraform` ([docs](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli))
110+
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:
111+
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
112+
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
113+
5. zip the Lambda folder:
114+
1. `cd lambda`
115+
2. `zip -r ../lambda.zip .`
116+
6. Run terraform:
117+
1. `terraform init`
118+
2. `terraform plan`
119+
3. `terraform apply`
120+
4. `terraform output secret_key`
121+
- To print the secret access key for the IAM user
122+
6. Store the other values (sns_topic_arn etc.)
123+
- These will be needed for the .env file configuration
124+
125+
The IAM user created with the steps above can be used for all p0tion's features.
126+
127+
#### Firebase
128+
103129
Deploy the current configuration to the `prod` project running
104130

105131
```bash

packages/backend/firestore.rules

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,10 @@ service cloud.firestore {
1717
if request.auth != null &&
1818
request.auth.token.coordinator;
1919
}
20+
// applies to the avatars
21+
match /avatars/{participantId} {
22+
// any authenticated user can read
23+
allow read: if true;
24+
}
2025
}
2126
}

packages/backend/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@p0tion/backend",
3-
"version": "1.0.5",
3+
"version": "1.0.6",
44
"description": "MPC Phase 2 backend for Firebase services management",
55
"repository": "git@github.com:privacy-scaling-explorations/p0tion.git",
66
"homepage": "https://github.com/privacy-scaling-explorations/p0tion",
@@ -67,7 +67,7 @@
6767
"@aws-sdk/client-ssm": "^3.357.0",
6868
"@aws-sdk/middleware-endpoint": "^3.329.0",
6969
"@aws-sdk/s3-request-presigner": "^3.329.0",
70-
"@p0tion/actions": "^1.0.5",
70+
"@p0tion/actions": "^1.0.6",
7171
"blakejs": "^1.2.1",
7272
"dotenv": "^16.0.3",
7373
"ethers": "5.7.2",

0 commit comments

Comments
 (0)