Commit Graph

3050 Commits

Author SHA1 Message Date
Justin Hernandez
6172497abf chore: upgrade yarn to 4.12.0 (#1530)
* use yarn 4.12.0

* upgrade tsx

* update 4.6.0 references to 4.12.0

* update lock file

* update lock file

* update lock
2025-12-25 12:12:38 -08:00
github-actions[bot]
bc158ee730 chore: bump iOS version to 2.9.6 (#1529)
* chore: bump mobile app version to 2.9.6

Update build numbers and deployment timestamps after successful deployment.

* bump version too

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-12-25 11:19:01 -08:00
Justin Hernandez
7dbd46f245 Add docstring reporting script and workflows (#1333)
* Trim docstring coverage snapshots

* format all the tings

* update lock

* Update docstring coverage snapshots (#1521)

* docstring fixes

* address agent feedback

* update lock files

* address agent feedback

* lock react-native-svg version to prevent pipeline failures

* update docstring logic

* remove docstring coverage from ci

* remove old report, fix cursorignroe rule
2025-12-25 11:17:42 -08:00
Javier Cortejoso
8c96f6fd5c Merge pull request #1523 from selfxyz/jcortejoso/no-path-filter (#1528)
SELF-1684: Ensure checks are run with pull requests to staging/main
2025-12-25 01:05:09 +01:00
Nesopie
a10149b3d6 chore: skip nullifier tests (#1527) 2025-12-24 15:35:54 +05:30
github-actions[bot]
508c183f9f chore: bump mobile app version to 2.9.6 (#1525)
Update build numbers and deployment timestamps after successful deployment.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-22 15:10:45 -08:00
Javier Cortejoso
2a092f5571 chore: Using Namespace.so for MacOS Runners (#1500)
* chore: update CI workflows to include Java setup and modify runner environments

- Added Java installation checks and setup steps to multiple CI workflows to ensure Java is available for builds.
- Changed runner environments for iOS builds from `macos-latest-large` to `namespace-profile-apple-silicon-6cpu` for better resource management.
- Updated push triggers for CI workflows to include specific branches and paths for more controlled execution.

* refactor: streamline AES-GCM encryption tag validation in encryptAES256GCM function

- Removed redundant checks for the AES-GCM authentication tag, simplifying the code while maintaining functionality.
- Updated the return structure to directly convert the authentication tag to a binary format, enhancing clarity and efficiency.

* chore: add Actionlint configuration for custom runner labels

* chore: update mobile deployment workflows for testing configuration

* chore: included a step to set the INSTALL_JAVA environment variable to false

* chore: update logging in setup-native-source script for improved debugging

* chore: simplify mobile CI workflow by removing redundant iOS and Android build steps

- Removed extensive iOS and Android build steps from the mobile CI workflow, as build verification is now handled by the mobile-e2e.yml workflow.

* chore: update mobile workflows to remove push triggers for improved clarity

- Removed push triggers from mobile CI, E2E, and bundle analysis workflows to streamline execution and focus on pull request events.
- This change enhances workflow clarity and reduces unnecessary runs on branch pushes.

* Revert "chore: simplify mobile CI workflow by removing redundant iOS and Android build steps"

This reverts commit 30d5f585c2.

* Updated the conditions for running iOS and Android build jobs to only trigger on workflow dispatch events, reducing unnecessary executions.

* chore: enhance mobile CI workflows with push triggers for improved execution control

- Added push triggers for dev, staging, and main branches in mobile bundle analysis, E2E, and demo E2E workflows to ensure builds are triggered on relevant changes.
- Included conditions for running iOS E2E tests based on issue comments, allowing for more flexible testing workflows.

* Addind workflow_dispatch option

* chore: refine mobile E2E workflows by removing issue comment triggers

- Eliminated issue comment event triggers from mobile E2E workflows to streamline execution and focus on workflow dispatch and push events.
- This change enhances clarity and reduces unnecessary complexity in the CI process.

* chore: remove checkout action from npm publish workflow

- Eliminated the checkout action from the npm publish workflow to streamline the process and reduce unnecessary steps.
- This change aims to enhance the efficiency of the CI pipeline.
2025-12-22 17:15:37 +01:00
Seshanth.S
b783f56d70 Add logging severity configuration to DevSettingsScreen (#1520)
* Add logging severity configuration to DevSettingsScreen

* consolidate logging severity type

* extend loggers properly with severity type

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-12-18 12:12:45 -08:00
github-actions[bot]
9324a3fdee chore: bump mobile app version to 2.9.5 (#1519)
Update build numbers and deployment timestamps after successful deployment.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-17 08:19:38 -08:00
Justin Hernandez
e1c7ecdbb8 SELF-1662: Improve prove deeplink navigation (#1517)
* Improve prove deeplink navigation

* fix tests
2025-12-16 20:43:14 -08:00
Justin Hernandez
a6194665ec SELF-1572: Update document scan prompt (#1511)
* Update document scan prompt

* formatting

* fix scan instruction location

* use helper for title text
2025-12-16 14:43:45 -08:00
Justin Hernandez
5321f3757b SELF-1670: Hide document-only settings without documents (#1512)
* Hide document-only settings without documents

* revert document info screen changes, rely on hiding option from settings view

* agent feedback

* hide settings options that depend on having a document
2025-12-16 14:12:30 -08:00
Leszek Stachowski
35fdc69117 CountryPickerScreen: remove info icon (#1515) 2025-12-16 14:09:13 -08:00
Seshanth.S
6b9e888c9b update PCR0Manager (#1514) 2025-12-16 11:47:03 -08:00
Justin Hernandez
da733163f9 SELF-1268: Fix paste button on recovery screen (#1513)
* Fix paste button on recovery screen

* Improve recovery paste button accessibility

* recovery screen bugfix

* simplify fix. remove pressable logic
2025-12-16 09:33:12 -08:00
Justin Hernandez
50dba6de15 SELF-1665: address sentry replay preview (#1509)
* fix sentry replays

* clean up comments
2025-12-15 20:44:59 -08:00
Justin Hernandez
e5e7b108a0 SELF-1553: Add back navigation to QR scanner view (#1508)
* Add back navigation to QR scanner view

* linting

* remove custom hook. use default package
2025-12-15 18:21:36 -08:00
Seshanth.S
adc002b91d Hide Secondary button in AadhaarUploadError screen (#1506) 2025-12-16 01:19:13 +05:30
Seshanth.S
db9bce8262 fix returnNewDateString() (#1505) 2025-12-15 08:58:59 -08:00
github-actions[bot]
4d04f48a06 chore: bump mobile app version to 2.9.5 (#1504)
Update build numbers and deployment timestamps after successful deployment.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-15 07:07:07 -08:00
Seshanth.S
f54c668274 SELF-1645: Disable Verify button for expired documents (#1497)
* Disable Verify button for expired documents

* coderabbit feedbacks
2025-12-15 13:06:09 +01:00
Justin Hernandez
e8461664cd address flaky proving test; migrate to common tests (#1503)
* update flaky test and migrate to common tests

* remove comment

* prettier
2025-12-14 13:15:46 -08:00
Justin Hernandez
c66a1b17f9 bump version to 2.9.5; make webview tests async (#1501) 2025-12-14 12:16:48 -08:00
github-actions[bot]
529b15f382 chore: bump mobile app version to 2.9.4 (#1499)
Update build numbers and deployment timestamps after successful deployment.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-14 00:12:03 -08:00
Justin Hernandez
59f9780ffb SELF-1610: fix internal webview wallet connect links (#1489)
* save working android implementation

* save working webview

* more webview space

* fix close button

* nav icons match footer icons

* fix webscreen tests. android works as expected

* save almost working implementation

* skip tests for seshanth to review

* tighten up allowed webview schemes

* lock down to cloud.google.com

* remove logging

* make screen wider

* fix padding

* revert test change

* skip tests for now

* agent feedback

* update lock

* fix padding

* agent feedback and abstract methods

* Handle Coinbase wallet popups externally (#1496)

* Handle Coinbase wallet popups externally

* Clarify Coinbase popup redirect handling

* open coinbase wallet request in new window

* agent feedback

* add system alert to warn user they are being redirected to their browser

* fix footer icons; open app.aave.com in external browser for ios

* finalize aave ios flow for testing

* agent feedback

* feedback
2025-12-13 17:14:21 -08:00
Seshanth.S
5ec6405a4d aadhaar: revert new commitment generation logic (#1495) 2025-12-13 03:38:32 +05:30
Aaron DeRuvo
198297e96e SELF-1554 : Fix Country Picker (#1492)
* country picker is always euclid.

* track when users press the info icon
2025-12-12 17:13:26 +01:00
Evi Nova
a3ec81b8fa Fix/contract test fixes (#1490)
* fix: remove outdated tests

* fix: failing tests fixed and updated

* fix: proper gitcommit entry with metadata

* chore: yarn prettier
2025-12-12 22:43:00 +10:00
Javier Cortejoso
4b09e5b96f Remove personal access token (#1481)
* Refactor NFC scanner tests to use a global variable for platform OS, allowing dynamic switching between iOS and Android during tests. This change improves test isolation and avoids hoisting issues with jest.mock.

* feat: add GitHub App token generation action for self repositories

- Introduced a new action to generate GitHub App tokens for accessing repositories within the selfxyz organization.
- Updated multiple workflows to utilize the new action for token generation, ensuring secure access to private repositories during CI processes.
- Modified Podfile and scripts to support authentication using the generated token, enhancing the cloning of private modules in CI environments.

* chore: enhance CI workflows with Git authentication for CocoaPods

- Updated multiple CI workflows to include a step for configuring Git authentication for CocoaPods, ensuring secure access to private repositories without embedding credentials in URLs.
- Added masking for sensitive tokens in logs to enhance security during CI processes.
- Modified the Podfile to avoid printing authentication details in CI logs, improving overall security practices.

* chore: enhance CI workflows with optional Git authentication configuration

- Added new inputs to the GitHub action for generating GitHub tokens, allowing optional configuration of a ~/.netrc entry for Git authentication.
- Updated multiple CI workflows to utilize the new configuration, improving security and simplifying access to private repositories during builds.
- Removed redundant Git authentication steps from workflows, streamlining the CI process while maintaining secure access to necessary resources.

* chore: update Podfile for secure Git authentication in CI

- Modified the Podfile to enhance security by avoiding the embedding of credentials in URLs for accessing the NFCPassportReader repository during CI processes.
- Added comments to guide developers on using workflow-provided authentication methods, improving overall security practices in the project.
2025-12-12 12:38:23 +01:00
Nesopie
0c54572616 fix: use the full chain (#1491) 2025-12-12 14:40:26 +05:30
Nesopie
3471b62d4e chore: add new aadhaar verifier (#1486) 2025-12-11 12:10:52 +05:30
Evi Nova
bc4e52bb1e Refactor/multitiered multisig roles (#1483)
* refactor: switch to multitiered governance with multisigs

* feat: add scripts for assisting with upgrading contracts and

* test: add tests for governance upgrade

* chore: install Foundry with Hardhat compatability

* fix: add separate intializeGovernance function for upgrading

Uses reinitializer modifier for proper security around function call

* feat: migrate new function to AccessControl governance

* test: full end to end upgrade typescript test

* chore: add hardhat-upgrade

* chore: add foundry outputs to gitignore

* test: add Foundry upgrade script and test for deployed contracts

* refactor: update PCR0 inputs to be 32 bytes for GCP image hashes

Still pad to 48 bytes to ensure compatibility with mobile app.

* feat: add PCR0 migration script + test file

* fix: use custom natspec to prevent constructor warnings on upgrade

* test: cleanup tests and add role transfer to upgrade script

* test: add deployed libraries to foundry.toml for proper library linking

* chore: add /contracts/broadcast to gitignore for foundry deployments

* fix: set variable in initializer instead of defining in declaration

* test: improve upgrade test script to check all state variables

* docs: better explain safety behind using unsafeSkipStorageCheck

* doc: add guide for upgrading to AccessControl governance

* style: change multisig role names

CRITICAL_ROLE -> SECURITY_ROLE (3/5)
STANDARD_ROLE -> OPERATIONRS_ROLE (2/5)

* refactor: change OFAC + CSCA root update functions to 2/5 multisig

* fix: package version clashes + outdated code from old ver of packages

OpenZeppelin v5.5.0 no longer requires __UUPS_Upgradeable_Init, new OZ version requires opcodes that need cancun evmVersion, hard defining @noble/hashes led to clashes with other dependencies

* fix: fix PCR0 tests broken from change in byte size

* feat: add contract upgrade tooling with Safe multisig integration

- Add unified 'upgrade' Hardhat task with automatic safety checks
- Add deployment registry for version tracking
- Add Safe SDK integration for auto-proposing upgrades
- Update UPGRADE_GUIDE.md with new workflow documentation
- Validate version increments, reinitializer, and storage layout

* fix: revert fix on Hub V1 contract that is not supported

* style: update upgraded contracts to not use custom:version-history

* fix: V1 test requires old style as well

* fix: correct registry currentVersion to reflect actual deployed versions

On-chain verification confirmed all contracts are using OLD Ownable2StepUpgradeable:
- Hub: 2.11.0 (was incorrectly 2.12.0)
- Registry: 1.1.0 (was incorrectly 1.2.0)
- IdCard: 1.1.0 (was incorrectly 1.2.0)
- Aadhaar: 1.1.0 (was incorrectly 1.2.0)

Owner address: 0xcaee7aaf115f04d836e2d362a7c07f04db436bd0

* fix: upgrade script now correctly handles pre-defined versions in registry

When upgrading to a version that already exists in registry.json (like 2.12.0),
the script now uses that version's initializerVersion instead of incrementing
from the latest version. This fixes the reinitializer validation for the
governance upgrade.

* fix: upgrade script handles Ownable contracts and outputs transaction data

- Detect Ownable pattern before creating Safe proposals
- Output transaction data for owner direct execution in --prepare-only mode
- Use initializerFunction from registry (initializeGovernance) instead of constructing names
- Skip Safe proposal creation for initial Ownable → AccessControl upgrade
- After upgrade, owner grants SECURITY_ROLE to Safe for future upgrades

* feat: IdentityVerificationHub v2.12.0 deployed on Celo

- Implementation: 0x05FB9D7830889cc389E88198f6A224eA87F01151
- Changelog: Governance upgrade

* feat: IdentityRegistryIdCard v1.2.0 deployed on Celo

- Implementation: 0x7d5e4b7D4c3029aF134D50642674Af8F875118a4
- Changelog: Governance upgrade

* feat: IdentityRegistryAadhaar v1.2.0 deployed on Celo

- Implementation: 0xbD861A9cecf7B0A9631029d55A8CE1155e50697c
- Changelog: Governance upgrade

* feat: IdentityRegistry v1.2.0 deployed on Celo

- Implementation: 0x81E7F74560FAF7eE8DE3a36A5a68B6cbc429Cd36
- Changelog: Governance upgrade

* feat: add multisig addresses to registry

* feat: PCR0Manager v1.2.0 deployed on Celo

- Implementation: 0x9743fe2C1c3D2b068c56dE314e9B10DA9c904717
- Changelog: Governance upgrade

* refactor: cleanup old scripts

* chore: yarn prettier formatting
2025-12-10 17:30:50 +10:00
Aaron DeRuvo
fc82b6b2b3 Prepares app for Euclid (#1473)
* setup IS_EUCLID build variable for conditionally using euclid desgins
create a headless header that only handles the status bar, for the new screens since they manage their own
make sure new screens get proper insets
add recoveryphrase 3.0
fix country picker



* this lint runs twice. once in repo wide lint and once here. so lets just run once to save resources



Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-09 12:56:05 +01:00
Vishalkulkarni45
8587182778 SELF-1394: Fix/aadhaar registry (#1449)
* fix: remove timestamp while cal qrhash

* chore: pad the timestamp with 0 instead of skipping it

---------

Co-authored-by: ayman <aymanshaik1015@gmail.com>
2025-12-09 16:10:34 +05:30
Javier Cortejoso
3e9c209973 chore: switch mobile CI runners from macOS to Ubuntu (#1458)
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-12-08 09:55:01 +01:00
Justin Hernandez
b2987ffd54 workflow fixes (#1478) 2025-12-07 15:42:51 -08:00
github-actions[bot]
5c7d6625e6 chore: bump mobile app version to 2.9.4 (#1476)
Update build numbers and deployment timestamps after successful deployment.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-06 08:47:16 -08:00
Justin Hernandez
202d0f8122 SELF-483: Enable backup recovery prompts (#834)
* Guard recovery prompts

* refactor(app): gate recovery prompts with allow list (#1251)

* fix typing

* fix header

* fix app loading

* fix tests

* Limit recovery prompts to home allowlist (#1460)

* fix test

* fix typing pipeline

* format and fix linting and tests

* tests pass

* fix tests

* split up testing

* save wip

* save button fix

* fix count

* fix modal width

* remove consologging

* remove depcrecated login count

* linting

* lint

* early return
2025-12-05 21:34:50 -08:00
Justin Hernandez
89b16486ee bump version and build to match stores (#1475) 2025-12-05 20:35:12 -08:00
turnoffthiscomputer
f553c2895d Update Discord support link in README.md 2025-12-05 13:19:21 +01:00
turnoffthiscomputer
08a5466c0b Add contribution guidelines and update README for clarity (#1472)
- Introduced a new `contribute.md` file outlining contribution guidelines, security vulnerability reporting, branching strategy, and code standards.
- Updated `README.md` to reference the new contribution guidelines and provide clearer instructions for opening pull requests, including links to Discord and Telegram for support.
2025-12-05 12:52:21 +01:00
Justin Hernandez
efe9ddfd52 use nvmrc, update cache dependency path (#1470) 2025-12-05 02:06:56 -08:00
Justin Hernandez
de9e91772e add discord and update telegram links (#1471) 2025-12-05 02:06:26 -08:00
Justin Hernandez
2555a9415d update open zeppelin (#1469) 2025-12-04 23:43:25 -08:00
Justin Hernandez
1c3b054f3b chore: address failing test_circuits pipeline (#1465)
* test bump for contracts

* Patch ethereum-cryptography assertions (#1466)

* check patches

* Apply patches in workspace node_modules (#1467)

* comment out init method

* pin packages and finally fix pipelines?

* address coderabbit feedback

* downgrading due to cve
2025-12-04 23:20:55 -08:00
Seshanth.S
f0fe69d23f SELF-1177 - Separate button states during backup (#1402)
* AccountRecoveryChoiceScreen: seperate button states

* clean up logging

* improve analytics

---------

Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-12-05 12:15:22 +05:30
Justin Hernandez
967ce31cc9 Use eslint to run prettier (#1463)
* sort packages

* consolidate prettier under eslint fix

* lint and lock files
2025-12-03 07:04:01 -08:00
Justin Hernandez
64ab5fc91c Minor app fixes two point nine rd2 (#1462)
* better tests

* lockfile naming fixes

* format

* fix ci issues
2025-12-02 22:20:17 -08:00
Justin Hernandez
569c606776 chore: remove gitguardian references (#1461) 2025-12-02 21:46:06 -08:00
Leszek Stachowski
f2d2d821c2 DocumentCameraScreen copy changes (#1414)
Co-authored-by: Justin Hernandez <justin.hernandez@self.xyz>
2025-12-02 21:10:21 -08:00