Commit Graph

3071 Commits

Author SHA1 Message Date
Justin Hernandez
a7d735eea5 Merge pull request #1479 from selfxyz/staging
Release to Production - 2025-12-07
2025-12-25 09:25:43 -08:00
Javier Cortejoso
088a9d8e65 Merge pull request #1523 from selfxyz/jcortejoso/no-path-filter
SELF-1684: Ensure checks are run with pull requests to staging/main
2025-12-24 16:31:52 +01:00
Nesopie
ec69e2086c chore: skip nullifier tests (#1527) 2025-12-24 11:21:52 +01:00
Javier Cortejoso
4252757081 Runs on self-hosted node 2025-12-24 10:06:02 +01:00
Javier Cortejoso
f76cc80f07 Test circuits in other runner 2025-12-23 11:03:16 +01:00
Javier Cortejoso
cd6037649c Fix path in npm-publish workflow to correctly reference mobile-sdk-alpha package.json for version checks. 2025-12-23 09:50:16 +01:00
Javier Cortejoso
db10e24106 Remove actions/checkout@v6 from npm-publish workflow to streamline dependency installation process. 2025-12-22 18:57:17 +01:00
Javier Cortejoso
655026c790 Update GitHub workflows to use actions/checkout@v6 for improved compatibility and performance across all CI configurations. This change replaces the previous version v4 in circuits, contracts, and other workflow files. 2025-12-22 12:28:10 +01:00
Javier Cortejoso
ab3ad25888 Enhance GitHub workflows to improve error handling during file change checks. Added error handling for git diff command in circuits.yml and contracts.yml to ensure robust execution and prevent workflow failures due to diff errors. 2025-12-19 17:00:57 +01:00
Javier Cortejoso
ffef0bb504 Install nodejs and corepack 2025-12-19 12:31:30 +01:00
Javier Cortejoso
6efffb6a91 Use self-hosted runner 2025-12-19 12:24:40 +01:00
Javier Cortejoso
df7f7f9b43 Update GitHub workflows to set fetch-depth to 0 for actions/checkout in circuits.yml and contracts.yml. This change ensures that the full history is available for subsequent steps in the workflows. 2025-12-19 10:53:21 +01:00
Javier Cortejoso
b68f52ed14 Enhance GitHub workflows to conditionally run tests based on file changes. Added checks for 'circuits' in circuits.yml and 'contracts' or 'common' in contracts.yml to determine if tests should execute on dev branch. This avoids too wide changelist in trigger filter that is problematic 2025-12-19 10:36:38 +01:00
Javier Cortejoso
f3d7f6bb6a Triggering GitHub workflows 2025-12-19 10:20:16 +01:00
Justin Hernandez
f1bddc1a7a Merge pull request #1516 from selfxyz/release/staging-2025-12-16
Release to Staging - 2025-12-16
2025-12-17 07:26:57 -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
6a9b8442ce Merge pull request #1502 from selfxyz/release/staging-2025-12-14
Release alpha build for 2.9.5
2025-12-14 14:11:08 -08: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
28250a548a Merge pull request #1494 from selfxyz/release/staging-2025-12-12
Release to Staging - 2025-12-12
2025-12-13 23:21:54 -08:00
Justin Hernandez
42e10ebc5c Merge branch 'staging' into release/staging-2025-12-12 2025-12-13 17:26:23 -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
Javier Cortejoso
ae5c56f15b Merge pull request #1488 from selfxyz/jcortejoso/flaky-tests
Bugfix: Workaround Mobile CI tests flakiness
2025-12-11 22:36:38 +01:00
Javier Cortejoso
d9d9e4f159 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. 2025-12-11 19:30:44 +01:00
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
1d60a7d341 Merge pull request #1474 from selfxyz/release/staging-2025-12-05
Release to Staging - 2025-12-05
2025-12-06 01:00:51 -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