mirror of
https://github.com/selfxyz/self.git
synced 2026-01-09 14:48:06 -05:00
SEL-56: Setup Yarn Workspaces (#584)
This commit is contained in:
3
.github/actions/yarn-install/action.yml
vendored
3
.github/actions/yarn-install/action.yml
vendored
@@ -22,9 +22,8 @@ runs:
|
|||||||
with:
|
with:
|
||||||
node-version: 20
|
node-version: 20
|
||||||
cache: 'yarn'
|
cache: 'yarn'
|
||||||
cache-dependency-path: ${{ inputs.working_directory }}/yarn.lock
|
cache-dependency-path: yarn.lock
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
shell: bash
|
shell: bash
|
||||||
run: yarn install --immutable
|
run: yarn install --immutable
|
||||||
working-directory: ${{ inputs.working_directory }}
|
|
||||||
|
|||||||
10
.github/workflows/app.yml
vendored
10
.github/workflows/app.yml
vendored
@@ -3,6 +3,7 @@ name: App CI
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
|
- "common/**"
|
||||||
- "app/**"
|
- "app/**"
|
||||||
- ".github/workflows/app.yml"
|
- ".github/workflows/app.yml"
|
||||||
- ".github/actions/**"
|
- ".github/actions/**"
|
||||||
@@ -14,8 +15,6 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
uses: ./.github/actions/yarn-install
|
uses: ./.github/actions/yarn-install
|
||||||
with:
|
|
||||||
working_directory: ./app
|
|
||||||
- name: Run linter
|
- name: Run linter
|
||||||
run: yarn lint
|
run: yarn lint
|
||||||
working-directory: ./app
|
working-directory: ./app
|
||||||
@@ -29,10 +28,9 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
uses: ./.github/actions/yarn-install
|
uses: ./.github/actions/yarn-install
|
||||||
with:
|
|
||||||
working_directory: ./app
|
- name: Build
|
||||||
- name: Install app dependencies
|
run: yarn build:deps
|
||||||
run: yarn install-app
|
|
||||||
working-directory: ./app
|
working-directory: ./app
|
||||||
- name: Test
|
- name: Test
|
||||||
run: yarn test
|
run: yarn test
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
name: OpenPassport CI/CD
|
name: Self Circuits CI/CD
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
@@ -50,21 +50,19 @@ jobs:
|
|||||||
|
|
||||||
- name: Print Circom version
|
- name: Print Circom version
|
||||||
run: circom --version
|
run: circom --version
|
||||||
|
- name: "enable yarn"
|
||||||
|
run: corepack enable yarn
|
||||||
- name: Install Yarn dependencies
|
- name: Install Yarn dependencies
|
||||||
working-directory: ./circuits
|
run: yarn workspaces focus @selfxyz/circuits
|
||||||
run: yarn install-circuits --immutable
|
|
||||||
|
|
||||||
- name: Run lint
|
- name: Run lint
|
||||||
working-directory: ./circuits
|
working-directory: ./circuits
|
||||||
run: yarn lint
|
run: yarn lint
|
||||||
|
- name: Build (Circuits + Self dependencies)
|
||||||
|
run: yarn build:deps
|
||||||
|
working-directory: ./circuits
|
||||||
- name: Run Tests (Circuits)
|
- name: Run Tests (Circuits)
|
||||||
working-directory: ./circuits
|
working-directory: ./circuits
|
||||||
env:
|
env:
|
||||||
FULL_TEST_SUITE: false
|
FULL_TEST_SUITE: false
|
||||||
run: yarn test
|
run: yarn test
|
||||||
|
|
||||||
- name: Run Tests (Common)
|
|
||||||
working-directory: ./common
|
|
||||||
run: yarn test
|
|
||||||
41
.github/workflows/contracts.yml
vendored
Normal file
41
.github/workflows/contracts.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
name: Self Contracts CI/CD
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- dev
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'contracts/**'
|
||||||
|
- 'common/**'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- dev
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'contracts/**'
|
||||||
|
- 'common/**'
|
||||||
|
jobs:
|
||||||
|
test_contracts:
|
||||||
|
if: github.event.pull_request.draft == false
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
environment: development
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set Node.js 20.x
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 20
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install Dependencies
|
||||||
|
uses: ./.github/actions/yarn-install
|
||||||
|
- name: Build Common Dependencies
|
||||||
|
run: yarn workspace @selfxyz/common build
|
||||||
|
- name: Build Contracts)
|
||||||
|
run: yarn build
|
||||||
|
working-directory: ./contracts
|
||||||
|
- name: Run Tests (Contracts)
|
||||||
|
working-directory: ./contracts
|
||||||
|
# skip until they get fixed
|
||||||
|
if: false
|
||||||
|
run: yarn test
|
||||||
34
.github/workflows/general-checks.yml
vendored
Normal file
34
.github/workflows/general-checks.yml
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
name: General Self CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install Dependencies
|
||||||
|
uses: ./.github/actions/yarn-install
|
||||||
|
- name: Run linter
|
||||||
|
run: yarn lint
|
||||||
|
|
||||||
|
type-check:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install Dependencies
|
||||||
|
uses: ./.github/actions/yarn-install
|
||||||
|
- name: Build dependencies
|
||||||
|
shell: bash
|
||||||
|
run: yarn types
|
||||||
|
test-common:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install Dependencies
|
||||||
|
uses: ./.github/actions/yarn-install
|
||||||
|
- name: Build dependencies
|
||||||
|
shell: bash
|
||||||
|
run: yarn workspace @selfxyz/common build
|
||||||
|
- name: Run @selfxyz/common tests
|
||||||
|
run: yarn workspace @selfxyz/common test
|
||||||
63
.github/workflows/npm-publish.yml
vendored
63
.github/workflows/npm-publish.yml
vendored
@@ -7,6 +7,7 @@ on:
|
|||||||
paths:
|
paths:
|
||||||
- 'sdk/core/package.json'
|
- 'sdk/core/package.json'
|
||||||
- 'sdk/qrcode/package.json'
|
- 'sdk/qrcode/package.json'
|
||||||
|
- 'common/package.json'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
detect-changes:
|
detect-changes:
|
||||||
@@ -14,6 +15,7 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
core_changed: ${{ steps.check-version.outputs.core_changed }}
|
core_changed: ${{ steps.check-version.outputs.core_changed }}
|
||||||
qrcode_changed: ${{ steps.check-version.outputs.qrcode_changed }}
|
qrcode_changed: ${{ steps.check-version.outputs.qrcode_changed }}
|
||||||
|
common_changed: ${{ steps.check-version.outputs.common_changed }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@@ -24,6 +26,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
git diff HEAD^ HEAD --name-only | grep -q "sdk/core/package.json" && echo "core_changed=true" >> $GITHUB_OUTPUT || echo "core_changed=false" >> $GITHUB_OUTPUT
|
git diff HEAD^ HEAD --name-only | grep -q "sdk/core/package.json" && echo "core_changed=true" >> $GITHUB_OUTPUT || echo "core_changed=false" >> $GITHUB_OUTPUT
|
||||||
git diff HEAD^ HEAD --name-only | grep -q "sdk/qrcode/package.json" && echo "qrcode_changed=true" >> $GITHUB_OUTPUT || echo "qrcode_changed=false" >> $GITHUB_OUTPUT
|
git diff HEAD^ HEAD --name-only | grep -q "sdk/qrcode/package.json" && echo "qrcode_changed=true" >> $GITHUB_OUTPUT || echo "qrcode_changed=false" >> $GITHUB_OUTPUT
|
||||||
|
git diff HEAD^ HEAD --name-only | grep -q "common/package.json" && echo "common_changed=true" >> $GITHUB_OUTPUT || echo "common_changed=false" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
if git diff HEAD^ HEAD -- sdk/core/package.json | grep -q '"version":'; then
|
if git diff HEAD^ HEAD -- sdk/core/package.json | grep -q '"version":'; then
|
||||||
echo "core_changed=true" >> $GITHUB_OUTPUT
|
echo "core_changed=true" >> $GITHUB_OUTPUT
|
||||||
@@ -33,6 +36,10 @@ jobs:
|
|||||||
echo "qrcode_changed=true" >> $GITHUB_OUTPUT
|
echo "qrcode_changed=true" >> $GITHUB_OUTPUT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if git diff HEAD^ HEAD -- common/package.json | grep -q '"version":'; then
|
||||||
|
echo "common_changed=true" >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
|
||||||
publish-core:
|
publish-core:
|
||||||
needs: detect-changes
|
needs: detect-changes
|
||||||
if: needs.detect-changes.outputs.core_changed == 'true'
|
if: needs.detect-changes.outputs.core_changed == 'true'
|
||||||
@@ -46,22 +53,17 @@ jobs:
|
|||||||
node-version: '18'
|
node-version: '18'
|
||||||
registry-url: 'https://registry.npmjs.org'
|
registry-url: 'https://registry.npmjs.org'
|
||||||
|
|
||||||
- name: Install dependencies (common first)
|
- name: Install Dependencies
|
||||||
run: |
|
uses: ./.github/actions/yarn-install
|
||||||
cd common
|
|
||||||
yarn install
|
|
||||||
cd ../sdk/core
|
|
||||||
yarn install
|
|
||||||
|
|
||||||
- name: Build package
|
- name: Build package
|
||||||
run: |
|
run: |
|
||||||
cd sdk/core
|
yarn workspace @selfxyz/core build:deps
|
||||||
yarn build
|
|
||||||
|
|
||||||
- name: Publish to npm
|
- name: Publish to npm
|
||||||
|
working-directory: sdk/core
|
||||||
run: |
|
run: |
|
||||||
cd sdk/core
|
yarn npm publish --access public
|
||||||
npm publish --access public
|
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
@@ -78,21 +80,42 @@ jobs:
|
|||||||
node-version: '18'
|
node-version: '18'
|
||||||
registry-url: 'https://registry.npmjs.org'
|
registry-url: 'https://registry.npmjs.org'
|
||||||
|
|
||||||
- name: Install dependencies (common first)
|
- name: Install Dependencies
|
||||||
run: |
|
uses: ./.github/actions/yarn-install
|
||||||
cd common
|
|
||||||
yarn install
|
|
||||||
cd ../sdk/qrcode
|
|
||||||
yarn install
|
|
||||||
|
|
||||||
- name: Build package
|
- name: Build package
|
||||||
run: |
|
run: |
|
||||||
cd sdk/qrcode
|
yarn workspace @sdk/qrcode build:deps
|
||||||
yarn build
|
|
||||||
|
|
||||||
- name: Publish to npm
|
- name: Publish to npm
|
||||||
|
working-directory: sdk/qrcode
|
||||||
run: |
|
run: |
|
||||||
cd sdk/qrcode
|
yarn npm publish --access public
|
||||||
npm publish --access public
|
env:
|
||||||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
|
publish-common:
|
||||||
|
needs: detect-changes
|
||||||
|
if: needs.detect-changes.outputs.common_changed == 'true'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Set up Node.js
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: '18'
|
||||||
|
registry-url: 'https://registry.npmjs.org'
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Install Dependencies
|
||||||
|
uses: ./.github/actions/yarn-install
|
||||||
|
|
||||||
|
- name: Build package
|
||||||
|
run: |
|
||||||
|
yarn workspace @selfxyz/common build
|
||||||
|
|
||||||
|
- name: Publish to npm
|
||||||
|
working-directory: common
|
||||||
|
run: |
|
||||||
|
yarn npm publish --access public
|
||||||
env:
|
env:
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -8,3 +8,4 @@ showcase
|
|||||||
.codegpt
|
.codegpt
|
||||||
**/.yarn/
|
**/.yarn/
|
||||||
output/*
|
output/*
|
||||||
|
*.tsbuildinfo
|
||||||
|
|||||||
3
.watchmanconfig
Normal file
3
.watchmanconfig
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
root: true,
|
root: true,
|
||||||
extends: ['@react-native', 'plugin:prettier/recommended'],
|
extends: [
|
||||||
plugins: ['simple-import-sort', 'prettier'],
|
'@react-native',
|
||||||
|
'plugin:prettier/recommended',
|
||||||
|
'plugin:jest/recommended',
|
||||||
|
],
|
||||||
|
plugins: ['simple-import-sort', 'prettier', 'jest'],
|
||||||
ignorePatterns: ['ios/', 'android/', 'deployments/', 'node_modules/'],
|
ignorePatterns: ['ios/', 'android/', 'deployments/', 'node_modules/'],
|
||||||
rules: {
|
rules: {
|
||||||
// Import sorting rules
|
// Import sorting rules
|
||||||
1
app/.tool-versions
Normal file
1
app/.tool-versions
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ruby 3.2.6
|
||||||
@@ -1,3 +1,2 @@
|
|||||||
nodeLinker: node-modules
|
|
||||||
enableScripts: true
|
enableScripts: true
|
||||||
checksumBehavior: 'update'
|
checksumBehavior: 'update'
|
||||||
|
|||||||
@@ -32,10 +32,11 @@
|
|||||||
|
|
||||||
> All of the commands in this guide are run from the `self/app` directory
|
> All of the commands in this guide are run from the `self/app` directory
|
||||||
|
|
||||||
Install dependencies
|
Install dependencies + build
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn install
|
|
||||||
yarn install-app
|
yarn install-app
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Android
|
### Android
|
||||||
|
|||||||
@@ -12,13 +12,13 @@ apply plugin: 'com.google.gms.google-services'
|
|||||||
react {
|
react {
|
||||||
/* Folders */
|
/* Folders */
|
||||||
// The root of your project, i.e. where "package.json" lives. Default is '../..'
|
// The root of your project, i.e. where "package.json" lives. Default is '../..'
|
||||||
// root = file("../../")
|
root = file("../..")
|
||||||
// The folder where the react-native NPM package is. Default is ../../node_modules/react-native
|
// The folder where the react-native NPM package is. Default is ../../node_modules/react-native
|
||||||
// reactNativeDir = file("../../node_modules/react-native")
|
reactNativeDir = file("../../../node_modules/react-native")
|
||||||
// The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
|
// The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen
|
||||||
// codegenDir = file("../../node_modules/@react-native/codegen")
|
codegenDir = file("../../../node_modules/@react-native/codegen")
|
||||||
// The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
|
// The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js
|
||||||
// cliFile = file("../../node_modules/react-native/cli.js")
|
cliFile = file("../../../node_modules/react-native/cli.js")
|
||||||
|
|
||||||
/* Variants */
|
/* Variants */
|
||||||
// The list of variants to that are debuggable. For those we're going to
|
// The list of variants to that are debuggable. For those we're going to
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -37,10 +37,10 @@ allprojects {
|
|||||||
google()
|
google()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven {
|
maven {
|
||||||
url("$rootDir/../node_modules/react-native/android")
|
url("$rootDir/../../node_modules/react-native/android")
|
||||||
}
|
}
|
||||||
maven {
|
maven {
|
||||||
url("$rootDir/../node_modules/jsc-android/dist")
|
url("$rootDir/../../node_modules/jsc-android/dist")
|
||||||
}
|
}
|
||||||
maven { url 'https://jitpack.io' }
|
maven { url 'https://jitpack.io' }
|
||||||
jcenter()
|
jcenter()
|
||||||
|
|||||||
@@ -8,90 +8,6 @@
|
|||||||
{
|
{
|
||||||
"path": "src/assets/fonts/DINOT-Medium.otf",
|
"path": "src/assets/fonts/DINOT-Medium.otf",
|
||||||
"sha1": "e993d15a13bc4e2c66dac255d7fa569486345f88"
|
"sha1": "e993d15a13bc4e2c66dac255d7fa569486345f88"
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Black.otf",
|
|
||||||
"sha1": "5df89a5ca8b710fac50ccde5539bc2aececb184c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-BlackItalic.otf",
|
|
||||||
"sha1": "a2988d597f61e19ee05a4b7404086b8ca43d0731"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Bold.otf",
|
|
||||||
"sha1": "892e9a770a5340e46c9c7d9f25fa2699d9275923"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-BoldItalic.otf",
|
|
||||||
"sha1": "8774206d7703bfe27f6d5302e5385983c26e13a1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ExtraBold.otf",
|
|
||||||
"sha1": "d458dab978fd1894de0eed6adacacb4853596473"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ExtraBoldItalic.otf",
|
|
||||||
"sha1": "e63778737330052f9015dbd76ba904fcf05b87d7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ExtraLight.otf",
|
|
||||||
"sha1": "2c396705e77547af57076584bdd5895c2c81141a"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ExtraLightItalic.otf",
|
|
||||||
"sha1": "d367b8910d04480c7cf0be5bb87126170e676c2b"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Italic.otf",
|
|
||||||
"sha1": "1d8db12a427db7418be418b77bafb9a916ac0534"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Light.otf",
|
|
||||||
"sha1": "c89f3036b53490be4b25d15e9a3cd4caf3e67d0c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-LightItalic.otf",
|
|
||||||
"sha1": "6716c0590ef33f9ca0155cd5c5d99f8ca90b5834"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Medium.otf",
|
|
||||||
"sha1": "279fa3c60d682531d549d0ec9ed91f1b83402d40"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-MediumItalic.otf",
|
|
||||||
"sha1": "89d0a6cca45c1ac1cb30c1957b9520b703c42933"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Regular.otf",
|
|
||||||
"sha1": "4786a0feb4c853189782709a5ac5b5dfb696942b"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-SemiBold.otf",
|
|
||||||
"sha1": "ce2ccd0b91ffb1f8c894b6d60f21443e0769217c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-SemiBoldItalic.otf",
|
|
||||||
"sha1": "8cf127ce6e16f95dccdae0eb553493d625bd0756"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Thin.otf",
|
|
||||||
"sha1": "b9a1ad08b8f1724544ae075d66c98b7fb507b80d"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ThinItalic.otf",
|
|
||||||
"sha1": "cf2dcfd6aa812f641e3d2c81af69a6c553539083"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-silkscreen/files/slkscr.ttf",
|
|
||||||
"sha1": "417bc8219cf9d819c538c052397f3352dda426a7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-silkscreen/files/slkscr.woff",
|
|
||||||
"sha1": "30d9b6f1b318c955d613dcf18d572f9aee9a35c8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-silkscreen/files/slkscrb.ttf",
|
|
||||||
"sha1": "a960fd4e201077cda027756743c344ffcb8285fb"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
|
pluginManagement { includeBuild("../../node_modules/@react-native/gradle-plugin") }
|
||||||
plugins { id("com.facebook.react.settings") }
|
plugins { id("com.facebook.react.settings") }
|
||||||
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
|
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
|
||||||
rootProject.name = 'OpenPassport'
|
rootProject.name = 'OpenPassport'
|
||||||
include ':app'
|
include ':app'
|
||||||
includeBuild('../node_modules/@react-native/gradle-plugin')
|
includeBuild('../../node_modules/@react-native/gradle-plugin')
|
||||||
include ':react-native-passport-reader'
|
include ':react-native-passport-reader'
|
||||||
project(':react-native-passport-reader').projectDir = new File(rootProject.projectDir, './react-native-passport-reader/android')
|
project(':react-native-passport-reader').projectDir = new File(rootProject.projectDir, './react-native-passport-reader/android')
|
||||||
include ':passportreader'
|
include ':passportreader'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"name": "OpenPassport",
|
"name": "OpenPassport",
|
||||||
"displayName": "OpenPassport"
|
"displayName": "Self App"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ struct ScannerWithInstructions: View {
|
|||||||
}
|
}
|
||||||
.frame(height: 320)
|
.frame(height: 320)
|
||||||
Text("Hold your passport on a flat surface while scanning")
|
Text("Hold your passport on a flat surface while scanning")
|
||||||
.font(.custom("Inter-Regular", size: 20))
|
|
||||||
.foregroundColor(.black)
|
.foregroundColor(.black)
|
||||||
.multilineTextAlignment(.center)
|
.multilineTextAlignment(.center)
|
||||||
.frame(width: 300)
|
.frame(width: 300)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>$(EXECUTABLE_NAME)</string>
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
<key>CFBundleGetInfoString</key>
|
<key>CFBundleGetInfoString</key>
|
||||||
<string />
|
<string></string>
|
||||||
<key>CFBundleIconName</key>
|
<key>CFBundleIconName</key>
|
||||||
<string>AppIcon</string>
|
<string>AppIcon</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
@@ -24,53 +24,6 @@
|
|||||||
<string>2.5.2</string>
|
<string>2.5.2</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
|
||||||
<key>LSApplicationCategoryType</key>
|
|
||||||
<string />
|
|
||||||
<key>LSRequiresIPhoneOS</key>
|
|
||||||
<true />
|
|
||||||
<key>NFCReaderUsageDescription</key>
|
|
||||||
<string>Need NFC to read Passport</string>
|
|
||||||
<key>NSAppTransportSecurity</key>
|
|
||||||
<string />
|
|
||||||
<!-- Do not change NSAllowsArbitraryLoads to true, or you will risk app rejection! -->
|
|
||||||
<key>NSAllowsArbitraryLoads</key>
|
|
||||||
<false />
|
|
||||||
<key>NSAllowsLocalNetworking</key>
|
|
||||||
<true />
|
|
||||||
<key>ITSAppUsesNonExemptEncryption</key>
|
|
||||||
<false />
|
|
||||||
<key>NSCameraUsageDescription</key>
|
|
||||||
<string>Needed to scan the passport MRZ.</string>
|
|
||||||
<key>NSFaceIDUsageDescription</key>
|
|
||||||
<string>Needed to secure the secret</string>
|
|
||||||
<key>NSHumanReadableCopyright</key>
|
|
||||||
<string />
|
|
||||||
<key>NSLocationWhenInUseUsageDescription</key>
|
|
||||||
<string />
|
|
||||||
<key>NSPhotoLibraryUsageDescription</key>
|
|
||||||
<string>We need access to your photo library to allow you to choose passport photos or save generated QR codes.</string>
|
|
||||||
<key>UILaunchStoryboardName</key>
|
|
||||||
<string>LaunchScreen</string>
|
|
||||||
<key>UIRequiredDeviceCapabilities</key>
|
|
||||||
<array>
|
|
||||||
<string>arm64</string>
|
|
||||||
</array>
|
|
||||||
<key>UISupportedInterfaceOrientations</key>
|
|
||||||
<array>
|
|
||||||
<string>UIInterfaceOrientationPortrait</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
||||||
</array>
|
|
||||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
||||||
<false />
|
|
||||||
<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
|
|
||||||
<array>
|
|
||||||
<string>A0000002471001</string>
|
|
||||||
<string>A0000002472001</string>
|
|
||||||
<string>00000000000000</string>
|
|
||||||
</array>
|
|
||||||
<key>CFBundleURLTypes</key>
|
<key>CFBundleURLTypes</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
@@ -80,30 +33,37 @@
|
|||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||||
|
<key>ITSAppUsesNonExemptEncryption</key>
|
||||||
|
<false/>
|
||||||
|
<key>LSApplicationCategoryType</key>
|
||||||
|
<string></string>
|
||||||
|
<key>LSRequiresIPhoneOS</key>
|
||||||
|
<true/>
|
||||||
|
<key>NFCReaderUsageDescription</key>
|
||||||
|
<string>Need NFC to read Passport</string>
|
||||||
|
<!-- Do not change NSAllowsArbitraryLoads to true, or you will risk app rejection! -->
|
||||||
|
<key>NSAllowsArbitraryLoads</key>
|
||||||
|
<false/>
|
||||||
|
<key>NSAllowsLocalNetworking</key>
|
||||||
|
<true/>
|
||||||
|
<key>NSAppTransportSecurity</key>
|
||||||
|
<string></string>
|
||||||
|
<key>NSCameraUsageDescription</key>
|
||||||
|
<string>Needed to scan the passport MRZ.</string>
|
||||||
|
<key>NSFaceIDUsageDescription</key>
|
||||||
|
<string>Needed to secure the secret</string>
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string></string>
|
||||||
|
<key>NSLocationWhenInUseUsageDescription</key>
|
||||||
|
<string></string>
|
||||||
|
<key>NSPhotoLibraryUsageDescription</key>
|
||||||
|
<string>We need access to your photo library to allow you to choose passport photos or save generated QR codes.</string>
|
||||||
<key>UIAppFonts</key>
|
<key>UIAppFonts</key>
|
||||||
<array>
|
<array>
|
||||||
<string>Advercase-Regular.otf</string>
|
<string>Advercase-Regular.otf</string>
|
||||||
<string>DINOT-Medium.otf</string>
|
<string>DINOT-Medium.otf</string>
|
||||||
<string>Inter-Black.otf</string>
|
|
||||||
<string>Inter-BlackItalic.otf</string>
|
|
||||||
<string>Inter-Bold.otf</string>
|
|
||||||
<string>Inter-BoldItalic.otf</string>
|
|
||||||
<string>Inter-ExtraBold.otf</string>
|
|
||||||
<string>Inter-ExtraBoldItalic.otf</string>
|
|
||||||
<string>Inter-ExtraLight.otf</string>
|
|
||||||
<string>Inter-ExtraLightItalic.otf</string>
|
|
||||||
<string>Inter-Italic.otf</string>
|
|
||||||
<string>Inter-Light.otf</string>
|
|
||||||
<string>Inter-LightItalic.otf</string>
|
|
||||||
<string>Inter-Medium.otf</string>
|
|
||||||
<string>Inter-MediumItalic.otf</string>
|
|
||||||
<string>Inter-Regular.otf</string>
|
|
||||||
<string>Inter-SemiBold.otf</string>
|
|
||||||
<string>Inter-SemiBoldItalic.otf</string>
|
|
||||||
<string>Inter-Thin.otf</string>
|
|
||||||
<string>Inter-ThinItalic.otf</string>
|
|
||||||
<string>slkscr.ttf</string>
|
|
||||||
<string>slkscrb.ttf</string>
|
|
||||||
</array>
|
</array>
|
||||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||||
<true/>
|
<true/>
|
||||||
@@ -112,5 +72,27 @@
|
|||||||
<string>fetch</string>
|
<string>fetch</string>
|
||||||
<string>remote-notification</string>
|
<string>remote-notification</string>
|
||||||
</array>
|
</array>
|
||||||
|
<key>UILaunchStoryboardName</key>
|
||||||
|
<string>LaunchScreen</string>
|
||||||
|
<key>UIRequiredDeviceCapabilities</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
<key>UIStatusBarHidden</key>
|
||||||
|
<false/>
|
||||||
|
<key>UISupportedInterfaceOrientations</key>
|
||||||
|
<array>
|
||||||
|
<string>UIInterfaceOrientationPortrait</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||||
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
|
</array>
|
||||||
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||||
|
<false/>
|
||||||
|
<key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
|
||||||
|
<array>
|
||||||
|
<string>A0000002471001</string>
|
||||||
|
<string>A0000002472001</string>
|
||||||
|
<string>00000000000000</string>
|
||||||
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
source 'https://cdn.cocoapods.org/'
|
||||||
use_frameworks!
|
use_frameworks!
|
||||||
require "tmpdir"
|
require "tmpdir"
|
||||||
|
|
||||||
@@ -30,7 +31,7 @@ target "Self" do
|
|||||||
pod "QKMRZScanner"
|
pod "QKMRZScanner"
|
||||||
pod "lottie-ios"
|
pod "lottie-ios"
|
||||||
pod "SwiftQRScanner", :git => "https://github.com/vinodiOS/SwiftQRScanner"
|
pod "SwiftQRScanner", :git => "https://github.com/vinodiOS/SwiftQRScanner"
|
||||||
pod "RNReactNativeHapticFeedback", :path => "../node_modules/react-native-haptic-feedback", :modular_headers => true
|
pod "RNReactNativeHapticFeedback", :path => "../../node_modules/react-native-haptic-feedback", :modular_headers => true
|
||||||
|
|
||||||
use_react_native!(
|
use_react_native!(
|
||||||
:path => config[:reactNativePath],
|
:path => config[:reactNativePath],
|
||||||
|
|||||||
@@ -1406,7 +1406,7 @@ PODS:
|
|||||||
- React-Core
|
- React-Core
|
||||||
- react-native-nfc-manager (3.16.1):
|
- react-native-nfc-manager (3.16.1):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-quick-crypto (0.7.12):
|
- react-native-quick-crypto (0.7.13):
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- glog
|
- glog
|
||||||
- OpenSSL-Universal
|
- OpenSSL-Universal
|
||||||
@@ -1429,7 +1429,7 @@ PODS:
|
|||||||
- ReactCommon/turbomodule/bridging
|
- ReactCommon/turbomodule/bridging
|
||||||
- ReactCommon/turbomodule/core
|
- ReactCommon/turbomodule/core
|
||||||
- Yoga
|
- Yoga
|
||||||
- react-native-safe-area-context (5.2.0):
|
- react-native-safe-area-context (5.4.1):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-sqlite-storage (6.0.1):
|
- react-native-sqlite-storage (6.0.1):
|
||||||
- React-Core
|
- React-Core
|
||||||
@@ -1676,7 +1676,7 @@ PODS:
|
|||||||
- React-logger (= 0.75.4)
|
- React-logger (= 0.75.4)
|
||||||
- React-perflogger (= 0.75.4)
|
- React-perflogger (= 0.75.4)
|
||||||
- React-utils (= 0.75.4)
|
- React-utils (= 0.75.4)
|
||||||
- RNCAsyncStorage (2.1.1):
|
- RNCAsyncStorage (2.1.2):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNCClipboard (1.13.2):
|
- RNCClipboard (1.13.2):
|
||||||
- React-Core
|
- React-Core
|
||||||
@@ -1690,7 +1690,7 @@ PODS:
|
|||||||
- FirebaseCoreExtension
|
- FirebaseCoreExtension
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNFBApp
|
- RNFBApp
|
||||||
- RNGestureHandler (2.24.0):
|
- RNGestureHandler (2.25.0):
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2024.01.01.00)
|
- RCT-Folly (= 2024.01.01.00)
|
||||||
@@ -1711,7 +1711,7 @@ PODS:
|
|||||||
- ReactCommon/turbomodule/bridging
|
- ReactCommon/turbomodule/bridging
|
||||||
- ReactCommon/turbomodule/core
|
- ReactCommon/turbomodule/core
|
||||||
- Yoga
|
- Yoga
|
||||||
- RNGoogleSignin (13.2.0):
|
- RNGoogleSignin (13.3.1):
|
||||||
- GoogleSignIn (~> 7.1)
|
- GoogleSignIn (~> 7.1)
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNKeychain (10.0.0):
|
- RNKeychain (10.0.0):
|
||||||
@@ -1802,7 +1802,7 @@ PODS:
|
|||||||
- ReactCommon/turbomodule/core
|
- ReactCommon/turbomodule/core
|
||||||
- Sentry/HybridSDK (= 8.48.0)
|
- Sentry/HybridSDK (= 8.48.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- RNSVG (15.11.1):
|
- RNSVG (15.12.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- segment-analytics-react-native (2.21.0):
|
- segment-analytics-react-native (2.21.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
@@ -1820,103 +1820,103 @@ PODS:
|
|||||||
- Yoga (0.0.0)
|
- Yoga (0.0.0)
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
- boost (from `../../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
||||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
- DoubleConversion (from `../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||||
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
|
- FBLazyVector (from `../../node_modules/react-native/Libraries/FBLazyVector`)
|
||||||
- Firebase
|
- Firebase
|
||||||
- FirebaseCore
|
- FirebaseCore
|
||||||
- FirebaseCoreInternal
|
- FirebaseCoreInternal
|
||||||
- FirebaseMessaging
|
- FirebaseMessaging
|
||||||
- fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`)
|
- fmt (from `../../node_modules/react-native/third-party-podspecs/fmt.podspec`)
|
||||||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
- glog (from `../../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||||
- GoogleUtilities
|
- GoogleUtilities
|
||||||
- lottie-ios
|
- lottie-ios
|
||||||
- lottie-react-native (from `../node_modules/lottie-react-native`)
|
- lottie-react-native (from `../../node_modules/lottie-react-native`)
|
||||||
- NFCPassportReader (from `https://github.com/zk-passport/NFCPassportReader`, commit `e3e869b14fb7fb2417928079db3967f203523580`)
|
- NFCPassportReader (from `https://github.com/zk-passport/NFCPassportReader`, commit `e3e869b14fb7fb2417928079db3967f203523580`)
|
||||||
- QKMRZScanner
|
- QKMRZScanner
|
||||||
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
- RCT-Folly (from `../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
||||||
- RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
- RCT-Folly/Fabric (from `../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
||||||
- RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
|
- RCTDeprecation (from `../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
|
||||||
- RCTRequired (from `../node_modules/react-native/Libraries/Required`)
|
- RCTRequired (from `../../node_modules/react-native/Libraries/Required`)
|
||||||
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
|
- RCTTypeSafety (from `../../node_modules/react-native/Libraries/TypeSafety`)
|
||||||
- React (from `../node_modules/react-native/`)
|
- React (from `../../node_modules/react-native/`)
|
||||||
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
|
- React-callinvoker (from `../../node_modules/react-native/ReactCommon/callinvoker`)
|
||||||
- React-Core (from `../node_modules/react-native/`)
|
- React-Core (from `../../node_modules/react-native/`)
|
||||||
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
|
- React-Core/RCTWebSocket (from `../../node_modules/react-native/`)
|
||||||
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
|
- React-CoreModules (from `../../node_modules/react-native/React/CoreModules`)
|
||||||
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
|
- React-cxxreact (from `../../node_modules/react-native/ReactCommon/cxxreact`)
|
||||||
- React-debug (from `../node_modules/react-native/ReactCommon/react/debug`)
|
- React-debug (from `../../node_modules/react-native/ReactCommon/react/debug`)
|
||||||
- React-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`)
|
- React-defaultsnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/defaults`)
|
||||||
- React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`)
|
- React-domnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/dom`)
|
||||||
- React-Fabric (from `../node_modules/react-native/ReactCommon`)
|
- React-Fabric (from `../../node_modules/react-native/ReactCommon`)
|
||||||
- React-FabricComponents (from `../node_modules/react-native/ReactCommon`)
|
- React-FabricComponents (from `../../node_modules/react-native/ReactCommon`)
|
||||||
- React-FabricImage (from `../node_modules/react-native/ReactCommon`)
|
- React-FabricImage (from `../../node_modules/react-native/ReactCommon`)
|
||||||
- React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`)
|
- React-featureflags (from `../../node_modules/react-native/ReactCommon/react/featureflags`)
|
||||||
- React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`)
|
- React-featureflagsnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`)
|
||||||
- React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`)
|
- React-graphics (from `../../node_modules/react-native/ReactCommon/react/renderer/graphics`)
|
||||||
- React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`)
|
- React-idlecallbacksnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`)
|
||||||
- React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
|
- React-ImageManager (from `../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
|
||||||
- React-jsc (from `../node_modules/react-native/ReactCommon/jsc`)
|
- React-jsc (from `../../node_modules/react-native/ReactCommon/jsc`)
|
||||||
- React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`)
|
- React-jserrorhandler (from `../../node_modules/react-native/ReactCommon/jserrorhandler`)
|
||||||
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
|
- React-jsi (from `../../node_modules/react-native/ReactCommon/jsi`)
|
||||||
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
|
- React-jsiexecutor (from `../../node_modules/react-native/ReactCommon/jsiexecutor`)
|
||||||
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`)
|
- React-jsinspector (from `../../node_modules/react-native/ReactCommon/jsinspector-modern`)
|
||||||
- React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`)
|
- React-jsitracing (from `../../node_modules/react-native/ReactCommon/hermes/executor/`)
|
||||||
- React-logger (from `../node_modules/react-native/ReactCommon/logger`)
|
- React-logger (from `../../node_modules/react-native/ReactCommon/logger`)
|
||||||
- React-Mapbuffer (from `../node_modules/react-native/ReactCommon`)
|
- React-Mapbuffer (from `../../node_modules/react-native/ReactCommon`)
|
||||||
- React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
|
- React-microtasksnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
|
||||||
- react-native-biometrics (from `../node_modules/react-native-biometrics`)
|
- react-native-biometrics (from `../../node_modules/react-native-biometrics`)
|
||||||
- react-native-cloud-storage (from `../node_modules/react-native-cloud-storage`)
|
- react-native-cloud-storage (from `../../node_modules/react-native-cloud-storage`)
|
||||||
- react-native-get-random-values (from `../node_modules/react-native-get-random-values`)
|
- react-native-get-random-values (from `../../node_modules/react-native-get-random-values`)
|
||||||
- "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
|
- "react-native-netinfo (from `../../node_modules/@react-native-community/netinfo`)"
|
||||||
- react-native-nfc-manager (from `../node_modules/react-native-nfc-manager`)
|
- react-native-nfc-manager (from `../../node_modules/react-native-nfc-manager`)
|
||||||
- react-native-quick-crypto (from `../node_modules/react-native-quick-crypto`)
|
- react-native-quick-crypto (from `../../node_modules/react-native-quick-crypto`)
|
||||||
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
|
- react-native-safe-area-context (from `../../node_modules/react-native-safe-area-context`)
|
||||||
- react-native-sqlite-storage (from `../node_modules/react-native-sqlite-storage`)
|
- react-native-sqlite-storage (from `../../node_modules/react-native-sqlite-storage`)
|
||||||
- React-nativeconfig (from `../node_modules/react-native/ReactCommon`)
|
- React-nativeconfig (from `../../node_modules/react-native/ReactCommon`)
|
||||||
- React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
|
- React-NativeModulesApple (from `../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
|
||||||
- React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
|
- React-perflogger (from `../../node_modules/react-native/ReactCommon/reactperflogger`)
|
||||||
- React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`)
|
- React-performancetimeline (from `../../node_modules/react-native/ReactCommon/react/performance/timeline`)
|
||||||
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
|
- React-RCTActionSheet (from `../../node_modules/react-native/Libraries/ActionSheetIOS`)
|
||||||
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
|
- React-RCTAnimation (from `../../node_modules/react-native/Libraries/NativeAnimation`)
|
||||||
- React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`)
|
- React-RCTAppDelegate (from `../../node_modules/react-native/Libraries/AppDelegate`)
|
||||||
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
|
- React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`)
|
||||||
- React-RCTFabric (from `../node_modules/react-native/React`)
|
- React-RCTFabric (from `../../node_modules/react-native/React`)
|
||||||
- React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
|
- React-RCTImage (from `../../node_modules/react-native/Libraries/Image`)
|
||||||
- React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
|
- React-RCTLinking (from `../../node_modules/react-native/Libraries/LinkingIOS`)
|
||||||
- React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
|
- React-RCTNetwork (from `../../node_modules/react-native/Libraries/Network`)
|
||||||
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
|
- React-RCTSettings (from `../../node_modules/react-native/Libraries/Settings`)
|
||||||
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
|
- React-RCTText (from `../../node_modules/react-native/Libraries/Text`)
|
||||||
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
|
- React-RCTVibration (from `../../node_modules/react-native/Libraries/Vibration`)
|
||||||
- React-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`)
|
- React-rendererconsistency (from `../../node_modules/react-native/ReactCommon/react/renderer/consistency`)
|
||||||
- React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`)
|
- React-rendererdebug (from `../../node_modules/react-native/ReactCommon/react/renderer/debug`)
|
||||||
- React-rncore (from `../node_modules/react-native/ReactCommon`)
|
- React-rncore (from `../../node_modules/react-native/ReactCommon`)
|
||||||
- React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`)
|
- React-RuntimeApple (from `../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`)
|
||||||
- React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`)
|
- React-RuntimeCore (from `../../node_modules/react-native/ReactCommon/react/runtime`)
|
||||||
- React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
|
- React-runtimeexecutor (from `../../node_modules/react-native/ReactCommon/runtimeexecutor`)
|
||||||
- React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
|
- React-runtimescheduler (from `../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
|
||||||
- React-utils (from `../node_modules/react-native/ReactCommon/react/utils`)
|
- React-utils (from `../../node_modules/react-native/ReactCommon/react/utils`)
|
||||||
- ReactCodegen (from `build/generated/ios`)
|
- ReactCodegen (from `build/generated/ios`)
|
||||||
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
|
- ReactCommon/turbomodule/core (from `../../node_modules/react-native/ReactCommon`)
|
||||||
- "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
|
- "RNCAsyncStorage (from `../../node_modules/@react-native-async-storage/async-storage`)"
|
||||||
- "RNCClipboard (from `../node_modules/@react-native-clipboard/clipboard`)"
|
- "RNCClipboard (from `../../node_modules/@react-native-clipboard/clipboard`)"
|
||||||
- RNDeviceInfo (from `../node_modules/react-native-device-info`)
|
- RNDeviceInfo (from `../../node_modules/react-native-device-info`)
|
||||||
- "RNFBApp (from `../node_modules/@react-native-firebase/app`)"
|
- "RNFBApp (from `../../node_modules/@react-native-firebase/app`)"
|
||||||
- "RNFBMessaging (from `../node_modules/@react-native-firebase/messaging`)"
|
- "RNFBMessaging (from `../../node_modules/@react-native-firebase/messaging`)"
|
||||||
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
|
- RNGestureHandler (from `../../node_modules/react-native-gesture-handler`)
|
||||||
- "RNGoogleSignin (from `../node_modules/@react-native-google-signin/google-signin`)"
|
- "RNGoogleSignin (from `../../node_modules/@react-native-google-signin/google-signin`)"
|
||||||
- RNKeychain (from `../node_modules/react-native-keychain`)
|
- RNKeychain (from `../../node_modules/react-native-keychain`)
|
||||||
- RNLocalize (from `../node_modules/react-native-localize`)
|
- RNLocalize (from `../../node_modules/react-native-localize`)
|
||||||
- RNReactNativeHapticFeedback (from `../node_modules/react-native-haptic-feedback`)
|
- RNReactNativeHapticFeedback (from `../../node_modules/react-native-haptic-feedback`)
|
||||||
- RNScreens (from `../node_modules/react-native-screens`)
|
- RNScreens (from `../../node_modules/react-native-screens`)
|
||||||
- "RNSentry (from `../node_modules/@sentry/react-native`)"
|
- "RNSentry (from `../../node_modules/@sentry/react-native`)"
|
||||||
- RNSVG (from `../node_modules/react-native-svg`)
|
- RNSVG (from `../../node_modules/react-native-svg`)
|
||||||
- "segment-analytics-react-native (from `../node_modules/@segment/analytics-react-native`)"
|
- "segment-analytics-react-native (from `../../node_modules/@segment/analytics-react-native`)"
|
||||||
- Sentry
|
- Sentry
|
||||||
- SentryPrivate
|
- SentryPrivate
|
||||||
- "sovran-react-native (from `../node_modules/@segment/sovran-react-native`)"
|
- "sovran-react-native (from `../../node_modules/@segment/sovran-react-native`)"
|
||||||
- SwiftQRScanner (from `https://github.com/vinodiOS/SwiftQRScanner`)
|
- SwiftQRScanner (from `https://github.com/vinodiOS/SwiftQRScanner`)
|
||||||
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
|
- Yoga (from `../../node_modules/react-native/ReactCommon/yoga`)
|
||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
trunk:
|
trunk:
|
||||||
@@ -1947,178 +1947,178 @@ SPEC REPOS:
|
|||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
boost:
|
boost:
|
||||||
:podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
|
:podspec: "../../node_modules/react-native/third-party-podspecs/boost.podspec"
|
||||||
DoubleConversion:
|
DoubleConversion:
|
||||||
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
|
:podspec: "../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
|
||||||
FBLazyVector:
|
FBLazyVector:
|
||||||
:path: "../node_modules/react-native/Libraries/FBLazyVector"
|
:path: "../../node_modules/react-native/Libraries/FBLazyVector"
|
||||||
fmt:
|
fmt:
|
||||||
:podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec"
|
:podspec: "../../node_modules/react-native/third-party-podspecs/fmt.podspec"
|
||||||
glog:
|
glog:
|
||||||
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
|
:podspec: "../../node_modules/react-native/third-party-podspecs/glog.podspec"
|
||||||
lottie-react-native:
|
lottie-react-native:
|
||||||
:path: "../node_modules/lottie-react-native"
|
:path: "../../node_modules/lottie-react-native"
|
||||||
NFCPassportReader:
|
NFCPassportReader:
|
||||||
:commit: e3e869b14fb7fb2417928079db3967f203523580
|
:commit: e3e869b14fb7fb2417928079db3967f203523580
|
||||||
:git: https://github.com/zk-passport/NFCPassportReader
|
:git: https://github.com/zk-passport/NFCPassportReader
|
||||||
RCT-Folly:
|
RCT-Folly:
|
||||||
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
|
:podspec: "../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
|
||||||
RCTDeprecation:
|
RCTDeprecation:
|
||||||
:path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation"
|
:path: "../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation"
|
||||||
RCTRequired:
|
RCTRequired:
|
||||||
:path: "../node_modules/react-native/Libraries/Required"
|
:path: "../../node_modules/react-native/Libraries/Required"
|
||||||
RCTTypeSafety:
|
RCTTypeSafety:
|
||||||
:path: "../node_modules/react-native/Libraries/TypeSafety"
|
:path: "../../node_modules/react-native/Libraries/TypeSafety"
|
||||||
React:
|
React:
|
||||||
:path: "../node_modules/react-native/"
|
:path: "../../node_modules/react-native/"
|
||||||
React-callinvoker:
|
React-callinvoker:
|
||||||
:path: "../node_modules/react-native/ReactCommon/callinvoker"
|
:path: "../../node_modules/react-native/ReactCommon/callinvoker"
|
||||||
React-Core:
|
React-Core:
|
||||||
:path: "../node_modules/react-native/"
|
:path: "../../node_modules/react-native/"
|
||||||
React-CoreModules:
|
React-CoreModules:
|
||||||
:path: "../node_modules/react-native/React/CoreModules"
|
:path: "../../node_modules/react-native/React/CoreModules"
|
||||||
React-cxxreact:
|
React-cxxreact:
|
||||||
:path: "../node_modules/react-native/ReactCommon/cxxreact"
|
:path: "../../node_modules/react-native/ReactCommon/cxxreact"
|
||||||
React-debug:
|
React-debug:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/debug"
|
:path: "../../node_modules/react-native/ReactCommon/react/debug"
|
||||||
React-defaultsnativemodule:
|
React-defaultsnativemodule:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults"
|
:path: "../../node_modules/react-native/ReactCommon/react/nativemodule/defaults"
|
||||||
React-domnativemodule:
|
React-domnativemodule:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom"
|
:path: "../../node_modules/react-native/ReactCommon/react/nativemodule/dom"
|
||||||
React-Fabric:
|
React-Fabric:
|
||||||
:path: "../node_modules/react-native/ReactCommon"
|
:path: "../../node_modules/react-native/ReactCommon"
|
||||||
React-FabricComponents:
|
React-FabricComponents:
|
||||||
:path: "../node_modules/react-native/ReactCommon"
|
:path: "../../node_modules/react-native/ReactCommon"
|
||||||
React-FabricImage:
|
React-FabricImage:
|
||||||
:path: "../node_modules/react-native/ReactCommon"
|
:path: "../../node_modules/react-native/ReactCommon"
|
||||||
React-featureflags:
|
React-featureflags:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/featureflags"
|
:path: "../../node_modules/react-native/ReactCommon/react/featureflags"
|
||||||
React-featureflagsnativemodule:
|
React-featureflagsnativemodule:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags"
|
:path: "../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags"
|
||||||
React-graphics:
|
React-graphics:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/renderer/graphics"
|
:path: "../../node_modules/react-native/ReactCommon/react/renderer/graphics"
|
||||||
React-idlecallbacksnativemodule:
|
React-idlecallbacksnativemodule:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks"
|
:path: "../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks"
|
||||||
React-ImageManager:
|
React-ImageManager:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
|
:path: "../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
|
||||||
React-jsc:
|
React-jsc:
|
||||||
:path: "../node_modules/react-native/ReactCommon/jsc"
|
:path: "../../node_modules/react-native/ReactCommon/jsc"
|
||||||
React-jserrorhandler:
|
React-jserrorhandler:
|
||||||
:path: "../node_modules/react-native/ReactCommon/jserrorhandler"
|
:path: "../../node_modules/react-native/ReactCommon/jserrorhandler"
|
||||||
React-jsi:
|
React-jsi:
|
||||||
:path: "../node_modules/react-native/ReactCommon/jsi"
|
:path: "../../node_modules/react-native/ReactCommon/jsi"
|
||||||
React-jsiexecutor:
|
React-jsiexecutor:
|
||||||
:path: "../node_modules/react-native/ReactCommon/jsiexecutor"
|
:path: "../../node_modules/react-native/ReactCommon/jsiexecutor"
|
||||||
React-jsinspector:
|
React-jsinspector:
|
||||||
:path: "../node_modules/react-native/ReactCommon/jsinspector-modern"
|
:path: "../../node_modules/react-native/ReactCommon/jsinspector-modern"
|
||||||
React-jsitracing:
|
React-jsitracing:
|
||||||
:path: "../node_modules/react-native/ReactCommon/hermes/executor/"
|
:path: "../../node_modules/react-native/ReactCommon/hermes/executor/"
|
||||||
React-logger:
|
React-logger:
|
||||||
:path: "../node_modules/react-native/ReactCommon/logger"
|
:path: "../../node_modules/react-native/ReactCommon/logger"
|
||||||
React-Mapbuffer:
|
React-Mapbuffer:
|
||||||
:path: "../node_modules/react-native/ReactCommon"
|
:path: "../../node_modules/react-native/ReactCommon"
|
||||||
React-microtasksnativemodule:
|
React-microtasksnativemodule:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks"
|
:path: "../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks"
|
||||||
react-native-biometrics:
|
react-native-biometrics:
|
||||||
:path: "../node_modules/react-native-biometrics"
|
:path: "../../node_modules/react-native-biometrics"
|
||||||
react-native-cloud-storage:
|
react-native-cloud-storage:
|
||||||
:path: "../node_modules/react-native-cloud-storage"
|
:path: "../../node_modules/react-native-cloud-storage"
|
||||||
react-native-get-random-values:
|
react-native-get-random-values:
|
||||||
:path: "../node_modules/react-native-get-random-values"
|
:path: "../../node_modules/react-native-get-random-values"
|
||||||
react-native-netinfo:
|
react-native-netinfo:
|
||||||
:path: "../node_modules/@react-native-community/netinfo"
|
:path: "../../node_modules/@react-native-community/netinfo"
|
||||||
react-native-nfc-manager:
|
react-native-nfc-manager:
|
||||||
:path: "../node_modules/react-native-nfc-manager"
|
:path: "../../node_modules/react-native-nfc-manager"
|
||||||
react-native-quick-crypto:
|
react-native-quick-crypto:
|
||||||
:path: "../node_modules/react-native-quick-crypto"
|
:path: "../../node_modules/react-native-quick-crypto"
|
||||||
react-native-safe-area-context:
|
react-native-safe-area-context:
|
||||||
:path: "../node_modules/react-native-safe-area-context"
|
:path: "../../node_modules/react-native-safe-area-context"
|
||||||
react-native-sqlite-storage:
|
react-native-sqlite-storage:
|
||||||
:path: "../node_modules/react-native-sqlite-storage"
|
:path: "../../node_modules/react-native-sqlite-storage"
|
||||||
React-nativeconfig:
|
React-nativeconfig:
|
||||||
:path: "../node_modules/react-native/ReactCommon"
|
:path: "../../node_modules/react-native/ReactCommon"
|
||||||
React-NativeModulesApple:
|
React-NativeModulesApple:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
|
:path: "../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
|
||||||
React-perflogger:
|
React-perflogger:
|
||||||
:path: "../node_modules/react-native/ReactCommon/reactperflogger"
|
:path: "../../node_modules/react-native/ReactCommon/reactperflogger"
|
||||||
React-performancetimeline:
|
React-performancetimeline:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/performance/timeline"
|
:path: "../../node_modules/react-native/ReactCommon/react/performance/timeline"
|
||||||
React-RCTActionSheet:
|
React-RCTActionSheet:
|
||||||
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
|
:path: "../../node_modules/react-native/Libraries/ActionSheetIOS"
|
||||||
React-RCTAnimation:
|
React-RCTAnimation:
|
||||||
:path: "../node_modules/react-native/Libraries/NativeAnimation"
|
:path: "../../node_modules/react-native/Libraries/NativeAnimation"
|
||||||
React-RCTAppDelegate:
|
React-RCTAppDelegate:
|
||||||
:path: "../node_modules/react-native/Libraries/AppDelegate"
|
:path: "../../node_modules/react-native/Libraries/AppDelegate"
|
||||||
React-RCTBlob:
|
React-RCTBlob:
|
||||||
:path: "../node_modules/react-native/Libraries/Blob"
|
:path: "../../node_modules/react-native/Libraries/Blob"
|
||||||
React-RCTFabric:
|
React-RCTFabric:
|
||||||
:path: "../node_modules/react-native/React"
|
:path: "../../node_modules/react-native/React"
|
||||||
React-RCTImage:
|
React-RCTImage:
|
||||||
:path: "../node_modules/react-native/Libraries/Image"
|
:path: "../../node_modules/react-native/Libraries/Image"
|
||||||
React-RCTLinking:
|
React-RCTLinking:
|
||||||
:path: "../node_modules/react-native/Libraries/LinkingIOS"
|
:path: "../../node_modules/react-native/Libraries/LinkingIOS"
|
||||||
React-RCTNetwork:
|
React-RCTNetwork:
|
||||||
:path: "../node_modules/react-native/Libraries/Network"
|
:path: "../../node_modules/react-native/Libraries/Network"
|
||||||
React-RCTSettings:
|
React-RCTSettings:
|
||||||
:path: "../node_modules/react-native/Libraries/Settings"
|
:path: "../../node_modules/react-native/Libraries/Settings"
|
||||||
React-RCTText:
|
React-RCTText:
|
||||||
:path: "../node_modules/react-native/Libraries/Text"
|
:path: "../../node_modules/react-native/Libraries/Text"
|
||||||
React-RCTVibration:
|
React-RCTVibration:
|
||||||
:path: "../node_modules/react-native/Libraries/Vibration"
|
:path: "../../node_modules/react-native/Libraries/Vibration"
|
||||||
React-rendererconsistency:
|
React-rendererconsistency:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/renderer/consistency"
|
:path: "../../node_modules/react-native/ReactCommon/react/renderer/consistency"
|
||||||
React-rendererdebug:
|
React-rendererdebug:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/renderer/debug"
|
:path: "../../node_modules/react-native/ReactCommon/react/renderer/debug"
|
||||||
React-rncore:
|
React-rncore:
|
||||||
:path: "../node_modules/react-native/ReactCommon"
|
:path: "../../node_modules/react-native/ReactCommon"
|
||||||
React-RuntimeApple:
|
React-RuntimeApple:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios"
|
:path: "../../node_modules/react-native/ReactCommon/react/runtime/platform/ios"
|
||||||
React-RuntimeCore:
|
React-RuntimeCore:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/runtime"
|
:path: "../../node_modules/react-native/ReactCommon/react/runtime"
|
||||||
React-runtimeexecutor:
|
React-runtimeexecutor:
|
||||||
:path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
|
:path: "../../node_modules/react-native/ReactCommon/runtimeexecutor"
|
||||||
React-runtimescheduler:
|
React-runtimescheduler:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
|
:path: "../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
|
||||||
React-utils:
|
React-utils:
|
||||||
:path: "../node_modules/react-native/ReactCommon/react/utils"
|
:path: "../../node_modules/react-native/ReactCommon/react/utils"
|
||||||
ReactCodegen:
|
ReactCodegen:
|
||||||
:path: build/generated/ios
|
:path: build/generated/ios
|
||||||
ReactCommon:
|
ReactCommon:
|
||||||
:path: "../node_modules/react-native/ReactCommon"
|
:path: "../../node_modules/react-native/ReactCommon"
|
||||||
RNCAsyncStorage:
|
RNCAsyncStorage:
|
||||||
:path: "../node_modules/@react-native-async-storage/async-storage"
|
:path: "../../node_modules/@react-native-async-storage/async-storage"
|
||||||
RNCClipboard:
|
RNCClipboard:
|
||||||
:path: "../node_modules/@react-native-clipboard/clipboard"
|
:path: "../../node_modules/@react-native-clipboard/clipboard"
|
||||||
RNDeviceInfo:
|
RNDeviceInfo:
|
||||||
:path: "../node_modules/react-native-device-info"
|
:path: "../../node_modules/react-native-device-info"
|
||||||
RNFBApp:
|
RNFBApp:
|
||||||
:path: "../node_modules/@react-native-firebase/app"
|
:path: "../../node_modules/@react-native-firebase/app"
|
||||||
RNFBMessaging:
|
RNFBMessaging:
|
||||||
:path: "../node_modules/@react-native-firebase/messaging"
|
:path: "../../node_modules/@react-native-firebase/messaging"
|
||||||
RNGestureHandler:
|
RNGestureHandler:
|
||||||
:path: "../node_modules/react-native-gesture-handler"
|
:path: "../../node_modules/react-native-gesture-handler"
|
||||||
RNGoogleSignin:
|
RNGoogleSignin:
|
||||||
:path: "../node_modules/@react-native-google-signin/google-signin"
|
:path: "../../node_modules/@react-native-google-signin/google-signin"
|
||||||
RNKeychain:
|
RNKeychain:
|
||||||
:path: "../node_modules/react-native-keychain"
|
:path: "../../node_modules/react-native-keychain"
|
||||||
RNLocalize:
|
RNLocalize:
|
||||||
:path: "../node_modules/react-native-localize"
|
:path: "../../node_modules/react-native-localize"
|
||||||
RNReactNativeHapticFeedback:
|
RNReactNativeHapticFeedback:
|
||||||
:path: "../node_modules/react-native-haptic-feedback"
|
:path: "../../node_modules/react-native-haptic-feedback"
|
||||||
RNScreens:
|
RNScreens:
|
||||||
:path: "../node_modules/react-native-screens"
|
:path: "../../node_modules/react-native-screens"
|
||||||
RNSentry:
|
RNSentry:
|
||||||
:path: "../node_modules/@sentry/react-native"
|
:path: "../../node_modules/@sentry/react-native"
|
||||||
RNSVG:
|
RNSVG:
|
||||||
:path: "../node_modules/react-native-svg"
|
:path: "../../node_modules/react-native-svg"
|
||||||
segment-analytics-react-native:
|
segment-analytics-react-native:
|
||||||
:path: "../node_modules/@segment/analytics-react-native"
|
:path: "../../node_modules/@segment/analytics-react-native"
|
||||||
sovran-react-native:
|
sovran-react-native:
|
||||||
:path: "../node_modules/@segment/sovran-react-native"
|
:path: "../../node_modules/@segment/sovran-react-native"
|
||||||
SwiftQRScanner:
|
SwiftQRScanner:
|
||||||
:git: https://github.com/vinodiOS/SwiftQRScanner
|
:git: https://github.com/vinodiOS/SwiftQRScanner
|
||||||
Yoga:
|
Yoga:
|
||||||
:path: "../node_modules/react-native/ReactCommon/yoga"
|
:path: "../../node_modules/react-native/ReactCommon/yoga"
|
||||||
|
|
||||||
CHECKOUT OPTIONS:
|
CHECKOUT OPTIONS:
|
||||||
NFCPassportReader:
|
NFCPassportReader:
|
||||||
@@ -2190,8 +2190,8 @@ SPEC CHECKSUMS:
|
|||||||
react-native-get-random-values: d16467cf726c618e9c7a8c3c39c31faa2244bbba
|
react-native-get-random-values: d16467cf726c618e9c7a8c3c39c31faa2244bbba
|
||||||
react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187
|
react-native-netinfo: cec9c4e86083cb5b6aba0e0711f563e2fbbff187
|
||||||
react-native-nfc-manager: a280ef94cd4871a471b052f0dc70381cf1223049
|
react-native-nfc-manager: a280ef94cd4871a471b052f0dc70381cf1223049
|
||||||
react-native-quick-crypto: a7cc5f870f270488fee9047b56e481de85c32e33
|
react-native-quick-crypto: 2d8136faf9e82a8f396a9b5ad85203ac20212739
|
||||||
react-native-safe-area-context: 3e33e7c43c8b74dba436a5a32651cb8d7064c740
|
react-native-safe-area-context: dde2052b903c11d677c320b599c3244021c34ce8
|
||||||
react-native-sqlite-storage: 0c84826214baaa498796c7e46a5ccc9a82e114ed
|
react-native-sqlite-storage: 0c84826214baaa498796c7e46a5ccc9a82e114ed
|
||||||
React-nativeconfig: 31072ab0146e643594f6959c7f970a04b6c9ddd0
|
React-nativeconfig: 31072ab0146e643594f6959c7f970a04b6c9ddd0
|
||||||
React-NativeModulesApple: 4ffcab4cdf34002540799bffbedd6466e8023c3a
|
React-NativeModulesApple: 4ffcab4cdf34002540799bffbedd6466e8023c3a
|
||||||
@@ -2216,21 +2216,21 @@ SPEC CHECKSUMS:
|
|||||||
React-runtimeexecutor: ea90d8e3a9e0f4326939858dafc6ab17c031a5d3
|
React-runtimeexecutor: ea90d8e3a9e0f4326939858dafc6ab17c031a5d3
|
||||||
React-runtimescheduler: 6b33edee8c830c7926670df4232d51f4f6a82795
|
React-runtimescheduler: 6b33edee8c830c7926670df4232d51f4f6a82795
|
||||||
React-utils: 7198bd077f07ce8f9263c05bf610da6e251058ad
|
React-utils: 7198bd077f07ce8f9263c05bf610da6e251058ad
|
||||||
ReactCodegen: a2d336e0bec3d2f45475df55e7a02cc4e4c19623
|
ReactCodegen: fbd3d6af21ba08f12ccd0f542393393d21134ea5
|
||||||
ReactCommon: b02a50498cb1071cd793044ddbd5d2b5f4db0a34
|
ReactCommon: b02a50498cb1071cd793044ddbd5d2b5f4db0a34
|
||||||
RNCAsyncStorage: af7b591318005069c3795076addc83a4dd5c0a2e
|
RNCAsyncStorage: b9f5f78da5d16a853fe3dc22e8268d932fc45a83
|
||||||
RNCClipboard: 4abb037e8fe3b98a952564c9e0474f91c492df6d
|
RNCClipboard: 4abb037e8fe3b98a952564c9e0474f91c492df6d
|
||||||
RNDeviceInfo: d863506092aef7e7af3a1c350c913d867d795047
|
RNDeviceInfo: d863506092aef7e7af3a1c350c913d867d795047
|
||||||
RNFBApp: 4097f75673f8b42a7cd1ba17e6ea85a94b45e4d1
|
RNFBApp: 4097f75673f8b42a7cd1ba17e6ea85a94b45e4d1
|
||||||
RNFBMessaging: 92325b0d5619ac90ef023a23cfd16fd3b91d0a88
|
RNFBMessaging: 92325b0d5619ac90ef023a23cfd16fd3b91d0a88
|
||||||
RNGestureHandler: 9c3877d98d4584891b69d16ebca855ac46507f4d
|
RNGestureHandler: ffb1f106c7a78377a2ae7568d51ccf87dc5c83c6
|
||||||
RNGoogleSignin: b8760528f2a7cbe157ecfdcc13bdb7d2745c9389
|
RNGoogleSignin: 576a84dd0407b912e7a0adf07492de9feb79e5d9
|
||||||
RNKeychain: 4990d9be2916c60f9ed4f8c484fcd7ced4828b86
|
RNKeychain: 4990d9be2916c60f9ed4f8c484fcd7ced4828b86
|
||||||
RNLocalize: 15463c4d79c7da45230064b4adcf5e9bb984667e
|
RNLocalize: 15463c4d79c7da45230064b4adcf5e9bb984667e
|
||||||
RNReactNativeHapticFeedback: e19b9b2e2ecf5593de8c4ef1496e1e31ae227514
|
RNReactNativeHapticFeedback: e19b9b2e2ecf5593de8c4ef1496e1e31ae227514
|
||||||
RNScreens: b7e8d29c6be98f478bc3fb4a97cc770aa9ba7509
|
RNScreens: b7e8d29c6be98f478bc3fb4a97cc770aa9ba7509
|
||||||
RNSentry: c462461c0a5aaba206265f1f3db01b237cd33239
|
RNSentry: c462461c0a5aaba206265f1f3db01b237cd33239
|
||||||
RNSVG: 46769c92d1609e617dbf9326ad8a0cff912d0982
|
RNSVG: e3ad69848b6357587545e0a49628b1148acf082c
|
||||||
segment-analytics-react-native: dab2ae61d917629b8d040b572f9f7a11b2cc5940
|
segment-analytics-react-native: dab2ae61d917629b8d040b572f9f7a11b2cc5940
|
||||||
Sentry: 1ca8405451040482877dcd344dfa3ef80b646631
|
Sentry: 1ca8405451040482877dcd344dfa3ef80b646631
|
||||||
SentryPrivate: d651efb234cf385ec9a1cdd3eff94b5e78a0e0fe
|
SentryPrivate: d651efb234cf385ec9a1cdd3eff94b5e78a0e0fe
|
||||||
@@ -2240,6 +2240,6 @@ SPEC CHECKSUMS:
|
|||||||
SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb
|
SwiftyTesseract: 1f3d96668ae92dc2208d9842c8a59bea9fad2cbb
|
||||||
Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178
|
Yoga: b05994d1933f507b0a28ceaa4fdb968dc18da178
|
||||||
|
|
||||||
PODFILE CHECKSUM: 4c1f9edcbeb4d0ce27f59c7f64ba1f803e06511d
|
PODFILE CHECKSUM: 2b4d221f59ee4daed11d52338f4dd84d2081bcc6
|
||||||
|
|
||||||
COCOAPODS: 1.16.2
|
COCOAPODS: 1.16.2
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
05D985FB2BB3344600F58EEA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 05D985FA2BB3344600F58EEA /* Assets.xcassets */; };
|
05D985FB2BB3344600F58EEA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 05D985FA2BB3344600F58EEA /* Assets.xcassets */; };
|
||||||
12FDE04D2B784D978F7804C0 /* Inter-Black.otf in Resources */ = {isa = PBXBuildFile; fileRef = 4B261C28061D47B7B3BB3E37 /* Inter-Black.otf */; };
|
|
||||||
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
|
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; };
|
||||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||||
@@ -24,39 +23,19 @@
|
|||||||
1686F0E02C500FBD00841CDE /* QRScannerBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 1686F0DF2C500FBD00841CDE /* QRScannerBridge.m */; };
|
1686F0E02C500FBD00841CDE /* QRScannerBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 1686F0DF2C500FBD00841CDE /* QRScannerBridge.m */; };
|
||||||
16E6646E2B8D292500FDD6A0 /* QKMRZScannerViewRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16E6646D2B8D292500FDD6A0 /* QKMRZScannerViewRepresentable.swift */; };
|
16E6646E2B8D292500FDD6A0 /* QKMRZScannerViewRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16E6646D2B8D292500FDD6A0 /* QKMRZScannerViewRepresentable.swift */; };
|
||||||
16E884A52C5BD764003B7125 /* passport.json in Resources */ = {isa = PBXBuildFile; fileRef = 16E884A42C5BD764003B7125 /* passport.json */; };
|
16E884A52C5BD764003B7125 /* passport.json in Resources */ = {isa = PBXBuildFile; fileRef = 16E884A42C5BD764003B7125 /* passport.json */; };
|
||||||
4A1791A6108347E5A635DB1C /* Inter-ThinItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = EEA2A4D24A8F4B10A5ECA607 /* Inter-ThinItalic.otf */; };
|
|
||||||
5008C8140A304ED79DB817C5 /* slkscrb.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B4E7218406B64A95BCE0DFE4 /* slkscrb.ttf */; };
|
|
||||||
5C66B65890614C638590DC8A /* Inter-ExtraBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 8CE3CC4CFFC24314A22F1391 /* Inter-ExtraBold.otf */; };
|
|
||||||
61037530CB0A4C159B892CDC /* Inter-ExtraLight.otf in Resources */ = {isa = PBXBuildFile; fileRef = 64F386964AAE4C1E8F2DF789 /* Inter-ExtraLight.otf */; };
|
|
||||||
628102DA686542B2A5D06A54 /* Inter-SemiBoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 8448FE310A674E8DAA7F1CB5 /* Inter-SemiBoldItalic.otf */; };
|
|
||||||
799E4D28B9494C6BAA389F52 /* Inter-Italic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 0C36821E5B014740853946D5 /* Inter-Italic.otf */; };
|
|
||||||
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
||||||
827AB97C3F4C4DA88293E5FF /* Inter-SemiBold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 276287D0D37B4E8EBD7A1ABD /* Inter-SemiBold.otf */; };
|
|
||||||
905B70052A72767900AFA232 /* PassportReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 905B70042A72767900AFA232 /* PassportReader.swift */; };
|
905B70052A72767900AFA232 /* PassportReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 905B70042A72767900AFA232 /* PassportReader.swift */; };
|
||||||
905B70072A72774000AFA232 /* PassportReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 905B70062A72774000AFA232 /* PassportReader.m */; };
|
905B70072A72774000AFA232 /* PassportReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 905B70062A72774000AFA232 /* PassportReader.m */; };
|
||||||
9C694E1EF05C49DF85423A6A /* Inter-Bold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 3BF771EA645241D9A28A3AE9 /* Inter-Bold.otf */; };
|
|
||||||
A109328F471241A5A931D524 /* Inter-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = 070CF9E82E3E45DAB6BBA375 /* Inter-Light.otf */; };
|
|
||||||
AE6147EC2DC95A8D00445C0F /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */; };
|
AE6147EC2DC95A8D00445C0F /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */; };
|
||||||
B0885FC3EE2A41A1AA97EEC0 /* Inter-LightItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = F4AE10DA498844DF8BF01948 /* Inter-LightItalic.otf */; };
|
|
||||||
BF1044812DD53540009B3688 /* LiveMRZScannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1044802DD53540009B3688 /* LiveMRZScannerView.swift */; };
|
BF1044812DD53540009B3688 /* LiveMRZScannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1044802DD53540009B3688 /* LiveMRZScannerView.swift */; };
|
||||||
BF1044832DD5354F009B3688 /* CameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1044822DD5354F009B3688 /* CameraView.swift */; };
|
BF1044832DD5354F009B3688 /* CameraView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1044822DD5354F009B3688 /* CameraView.swift */; };
|
||||||
BF1044852DD53570009B3688 /* MRZScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1044842DD53570009B3688 /* MRZScanner.swift */; };
|
BF1044852DD53570009B3688 /* MRZScanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF1044842DD53570009B3688 /* MRZScanner.swift */; };
|
||||||
C9F1B4F4F38F49EF8723594E /* Inter-MediumItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 06064B357139453EB2788C18 /* Inter-MediumItalic.otf */; };
|
|
||||||
CB116B311D63491FA54CCEE1 /* Inter-Thin.otf in Resources */ = {isa = PBXBuildFile; fileRef = DD642F4F3A114B43A22296D7 /* Inter-Thin.otf */; };
|
|
||||||
CC02892C62AE4BB5B7F769EA /* Inter-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = 15C30A8C4A6C42558DC9D78B /* Inter-Medium.otf */; };
|
|
||||||
CC783A35ECCD4CC4FD708516 /* Pods_Self.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBF96649C103ADB7297A6A7F /* Pods_Self.framework */; };
|
CC783A35ECCD4CC4FD708516 /* Pods_Self.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBF96649C103ADB7297A6A7F /* Pods_Self.framework */; };
|
||||||
D427791AA5714251A5EAF8AD /* DINOT-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = 9BF744D9A73A4BAC96EC569A /* DINOT-Medium.otf */; };
|
D427791AA5714251A5EAF8AD /* DINOT-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = 9BF744D9A73A4BAC96EC569A /* DINOT-Medium.otf */; };
|
||||||
D7C083B0F0554047BA5E6BC0 /* slkscr.woff in Resources */ = {isa = PBXBuildFile; fileRef = C56F122245594D6DA9B7570A /* slkscr.woff */; };
|
|
||||||
DAC618BCA5874DD8AD74FFFC /* Advercase-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 7E5C3CEF7EDA4871B3D0EBE1 /* Advercase-Regular.otf */; };
|
DAC618BCA5874DD8AD74FFFC /* Advercase-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 7E5C3CEF7EDA4871B3D0EBE1 /* Advercase-Regular.otf */; };
|
||||||
DB83F88A19DB4E6583FFAE06 /* Inter-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 6CF8D6DF98634423ACD5D630 /* Inter-Regular.otf */; };
|
|
||||||
DC707B77BEF343F0A7B3DFDD /* slkscr.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7CCB5F83F57540E88D54B34A /* slkscr.ttf */; };
|
|
||||||
E0825E4C214B4892954725F0 /* Inter-BoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 00B1702DFCD448D5897AAF17 /* Inter-BoldItalic.otf */; };
|
|
||||||
E27FC7C055DE4CBDADEFAC29 /* Inter-BlackItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = D58C0CED91AE4265A5A406A0 /* Inter-BlackItalic.otf */; };
|
|
||||||
E9F9A99C2D57FE2900E1362E /* PassportOCRViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F9A99A2D57FE2900E1362E /* PassportOCRViewManager.m */; };
|
E9F9A99C2D57FE2900E1362E /* PassportOCRViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F9A99A2D57FE2900E1362E /* PassportOCRViewManager.m */; };
|
||||||
E9F9A99D2D57FE2900E1362E /* PassportOCRViewManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9F9A99B2D57FE2900E1362E /* PassportOCRViewManager.swift */; };
|
E9F9A99D2D57FE2900E1362E /* PassportOCRViewManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9F9A99B2D57FE2900E1362E /* PassportOCRViewManager.swift */; };
|
||||||
EBECCA4983EC6929A7722578 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = E56E082698598B41447667BB /* PrivacyInfo.xcprivacy */; };
|
EBECCA4983EC6929A7722578 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = E56E082698598B41447667BB /* PrivacyInfo.xcprivacy */; };
|
||||||
EEF3331B93C24D6482021BA2 /* Inter-ExtraLightItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 090474A3F07B4FFA82C9A751 /* Inter-ExtraLightItalic.otf */; };
|
|
||||||
F1961109CC004035884F79D9 /* Inter-ExtraBoldItalic.otf in Resources */ = {isa = PBXBuildFile; fileRef = 37A4DECF3A824D5BAA8863FD /* Inter-ExtraBoldItalic.otf */; };
|
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXCopyFilesBuildPhase section */
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
@@ -73,20 +52,14 @@
|
|||||||
/* End PBXCopyFilesBuildPhase section */
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
00B1702DFCD448D5897AAF17 /* Inter-BoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-BoldItalic.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-BoldItalic.otf"; sourceTree = "<group>"; };
|
|
||||||
05B4DDF62C7850A80067519E /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "OpenPassport App Clip/Images.xcassets"; sourceTree = "<group>"; };
|
05B4DDF62C7850A80067519E /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "OpenPassport App Clip/Images.xcassets"; sourceTree = "<group>"; };
|
||||||
05D985FA2BB3344600F58EEA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = OpenPassport/Assets.xcassets; sourceTree = "<group>"; };
|
05D985FA2BB3344600F58EEA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = OpenPassport/Assets.xcassets; sourceTree = "<group>"; };
|
||||||
06064B357139453EB2788C18 /* Inter-MediumItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-MediumItalic.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-MediumItalic.otf"; sourceTree = "<group>"; };
|
|
||||||
070CF9E82E3E45DAB6BBA375 /* Inter-Light.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Light.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-Light.otf"; sourceTree = "<group>"; };
|
|
||||||
090474A3F07B4FFA82C9A751 /* Inter-ExtraLightItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-ExtraLightItalic.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-ExtraLightItalic.otf"; sourceTree = "<group>"; };
|
|
||||||
0C36821E5B014740853946D5 /* Inter-Italic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Italic.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-Italic.otf"; sourceTree = "<group>"; };
|
|
||||||
13B07F961A680F5B00A75B9A /* Self.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Self.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
13B07F961A680F5B00A75B9A /* Self.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Self.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = OpenPassport/AppDelegate.h; sourceTree = "<group>"; };
|
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = OpenPassport/AppDelegate.h; sourceTree = "<group>"; };
|
||||||
13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = OpenPassport/AppDelegate.mm; sourceTree = "<group>"; };
|
13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = OpenPassport/AppDelegate.mm; sourceTree = "<group>"; };
|
||||||
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = OpenPassport/Images.xcassets; sourceTree = "<group>"; };
|
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = OpenPassport/Images.xcassets; sourceTree = "<group>"; };
|
||||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = OpenPassport/Info.plist; sourceTree = "<group>"; };
|
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = OpenPassport/Info.plist; sourceTree = "<group>"; };
|
||||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = OpenPassport/main.m; sourceTree = "<group>"; };
|
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = OpenPassport/main.m; sourceTree = "<group>"; };
|
||||||
15C30A8C4A6C42558DC9D78B /* Inter-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Medium.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-Medium.otf"; sourceTree = "<group>"; };
|
|
||||||
1608339E2D5CF89D00056417 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
1608339E2D5CF89D00056417 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
|
||||||
1648EB772CC9564D003BEA7D /* LottieView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LottieView.swift; sourceTree = "<group>"; };
|
1648EB772CC9564D003BEA7D /* LottieView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LottieView.swift; sourceTree = "<group>"; };
|
||||||
164FD9662D569A640067E63B /* QRCodeScannerViewManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QRCodeScannerViewManager.swift; sourceTree = "<group>"; };
|
164FD9662D569A640067E63B /* QRCodeScannerViewManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QRCodeScannerViewManager.swift; sourceTree = "<group>"; };
|
||||||
@@ -100,40 +73,25 @@
|
|||||||
169349842CC694DA00166F21 /* OpenPassportDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = OpenPassportDebug.entitlements; path = OpenPassport/OpenPassportDebug.entitlements; sourceTree = "<group>"; };
|
169349842CC694DA00166F21 /* OpenPassportDebug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = OpenPassportDebug.entitlements; path = OpenPassport/OpenPassportDebug.entitlements; sourceTree = "<group>"; };
|
||||||
16E6646D2B8D292500FDD6A0 /* QKMRZScannerViewRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QKMRZScannerViewRepresentable.swift; sourceTree = "<group>"; };
|
16E6646D2B8D292500FDD6A0 /* QKMRZScannerViewRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QKMRZScannerViewRepresentable.swift; sourceTree = "<group>"; };
|
||||||
16E884A42C5BD764003B7125 /* passport.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = passport.json; sourceTree = "<group>"; };
|
16E884A42C5BD764003B7125 /* passport.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = passport.json; sourceTree = "<group>"; };
|
||||||
276287D0D37B4E8EBD7A1ABD /* Inter-SemiBold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-SemiBold.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-SemiBold.otf"; sourceTree = "<group>"; };
|
|
||||||
37A4DECF3A824D5BAA8863FD /* Inter-ExtraBoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-ExtraBoldItalic.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-ExtraBoldItalic.otf"; sourceTree = "<group>"; };
|
|
||||||
3BF771EA645241D9A28A3AE9 /* Inter-Bold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Bold.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-Bold.otf"; sourceTree = "<group>"; };
|
|
||||||
4B261C28061D47B7B3BB3E37 /* Inter-Black.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Black.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-Black.otf"; sourceTree = "<group>"; };
|
|
||||||
64F386964AAE4C1E8F2DF789 /* Inter-ExtraLight.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-ExtraLight.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-ExtraLight.otf"; sourceTree = "<group>"; };
|
|
||||||
6CF8D6DF98634423ACD5D630 /* Inter-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Regular.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-Regular.otf"; sourceTree = "<group>"; };
|
|
||||||
73A8B182B1187BFE180CBB44 /* Pods-OpenPassport.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenPassport.release.xcconfig"; path = "Target Support Files/Pods-OpenPassport/Pods-OpenPassport.release.xcconfig"; sourceTree = "<group>"; };
|
73A8B182B1187BFE180CBB44 /* Pods-OpenPassport.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenPassport.release.xcconfig"; path = "Target Support Files/Pods-OpenPassport/Pods-OpenPassport.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
7CCB5F83F57540E88D54B34A /* slkscr.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = slkscr.ttf; path = "../node_modules/@tamagui/font-silkscreen/files/slkscr.ttf"; sourceTree = "<group>"; };
|
|
||||||
7E5C3CEF7EDA4871B3D0EBE1 /* Advercase-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Advercase-Regular.otf"; path = "../src/assets/fonts/Advercase-Regular.otf"; sourceTree = "<group>"; };
|
7E5C3CEF7EDA4871B3D0EBE1 /* Advercase-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Advercase-Regular.otf"; path = "../src/assets/fonts/Advercase-Regular.otf"; sourceTree = "<group>"; };
|
||||||
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = OpenPassport/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = OpenPassport/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
8448FE310A674E8DAA7F1CB5 /* Inter-SemiBoldItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-SemiBoldItalic.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-SemiBoldItalic.otf"; sourceTree = "<group>"; };
|
|
||||||
8CE3CC4CFFC24314A22F1391 /* Inter-ExtraBold.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-ExtraBold.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-ExtraBold.otf"; sourceTree = "<group>"; };
|
|
||||||
905B70042A72767900AFA232 /* PassportReader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PassportReader.swift; sourceTree = "<group>"; };
|
905B70042A72767900AFA232 /* PassportReader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PassportReader.swift; sourceTree = "<group>"; };
|
||||||
905B70062A72774000AFA232 /* PassportReader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PassportReader.m; sourceTree = "<group>"; };
|
905B70062A72774000AFA232 /* PassportReader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PassportReader.m; sourceTree = "<group>"; };
|
||||||
905B70082A729CD400AFA232 /* OpenPassport.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = OpenPassport.entitlements; path = OpenPassport/OpenPassport.entitlements; sourceTree = "<group>"; };
|
905B70082A729CD400AFA232 /* OpenPassport.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = OpenPassport.entitlements; path = OpenPassport/OpenPassport.entitlements; sourceTree = "<group>"; };
|
||||||
9BF744D9A73A4BAC96EC569A /* DINOT-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "DINOT-Medium.otf"; path = "../src/assets/fonts/DINOT-Medium.otf"; sourceTree = "<group>"; };
|
9BF744D9A73A4BAC96EC569A /* DINOT-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "DINOT-Medium.otf"; path = "../src/assets/fonts/DINOT-Medium.otf"; sourceTree = "<group>"; };
|
||||||
AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
AE6147EB2DC95A8D00445C0F /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||||
B4E7218406B64A95BCE0DFE4 /* slkscrb.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = slkscrb.ttf; path = "../node_modules/@tamagui/font-silkscreen/files/slkscrb.ttf"; sourceTree = "<group>"; };
|
|
||||||
BF1044802DD53540009B3688 /* LiveMRZScannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveMRZScannerView.swift; sourceTree = "<group>"; };
|
BF1044802DD53540009B3688 /* LiveMRZScannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LiveMRZScannerView.swift; sourceTree = "<group>"; };
|
||||||
BF1044822DD5354F009B3688 /* CameraView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraView.swift; sourceTree = "<group>"; };
|
BF1044822DD5354F009B3688 /* CameraView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraView.swift; sourceTree = "<group>"; };
|
||||||
BF1044842DD53570009B3688 /* MRZScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MRZScanner.swift; sourceTree = "<group>"; };
|
BF1044842DD53570009B3688 /* MRZScanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MRZScanner.swift; sourceTree = "<group>"; };
|
||||||
C56F122245594D6DA9B7570A /* slkscr.woff */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = slkscr.woff; path = "../node_modules/@tamagui/font-silkscreen/files/slkscr.woff"; sourceTree = "<group>"; };
|
|
||||||
CA67A75B161A05334E3E9402 /* Pods-OpenPassport.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenPassport.debug.xcconfig"; path = "Target Support Files/Pods-OpenPassport/Pods-OpenPassport.debug.xcconfig"; sourceTree = "<group>"; };
|
CA67A75B161A05334E3E9402 /* Pods-OpenPassport.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OpenPassport.debug.xcconfig"; path = "Target Support Files/Pods-OpenPassport/Pods-OpenPassport.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
CBF96649C103ADB7297A6A7F /* Pods_Self.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Self.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
CBF96649C103ADB7297A6A7F /* Pods_Self.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Self.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
D1CE52662C8B90B7EC435251 /* Pods-Self.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Self.debug.xcconfig"; path = "Target Support Files/Pods-Self/Pods-Self.debug.xcconfig"; sourceTree = "<group>"; };
|
D1CE52662C8B90B7EC435251 /* Pods-Self.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Self.debug.xcconfig"; path = "Target Support Files/Pods-Self/Pods-Self.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
D58C0CED91AE4265A5A406A0 /* Inter-BlackItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-BlackItalic.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-BlackItalic.otf"; sourceTree = "<group>"; };
|
|
||||||
DD642F4F3A114B43A22296D7 /* Inter-Thin.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-Thin.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-Thin.otf"; sourceTree = "<group>"; };
|
|
||||||
E56E082698598B41447667BB /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = OpenPassport/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
E56E082698598B41447667BB /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = OpenPassport/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
||||||
E9F9A99A2D57FE2900E1362E /* PassportOCRViewManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PassportOCRViewManager.m; sourceTree = "<group>"; };
|
E9F9A99A2D57FE2900E1362E /* PassportOCRViewManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PassportOCRViewManager.m; sourceTree = "<group>"; };
|
||||||
E9F9A99B2D57FE2900E1362E /* PassportOCRViewManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PassportOCRViewManager.swift; sourceTree = "<group>"; };
|
E9F9A99B2D57FE2900E1362E /* PassportOCRViewManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PassportOCRViewManager.swift; sourceTree = "<group>"; };
|
||||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||||
ED3C4098AF3349976AE7513C /* Pods-Self.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Self.release.xcconfig"; path = "Target Support Files/Pods-Self/Pods-Self.release.xcconfig"; sourceTree = "<group>"; };
|
ED3C4098AF3349976AE7513C /* Pods-Self.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Self.release.xcconfig"; path = "Target Support Files/Pods-Self/Pods-Self.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
EEA2A4D24A8F4B10A5ECA607 /* Inter-ThinItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-ThinItalic.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-ThinItalic.otf"; sourceTree = "<group>"; };
|
|
||||||
F4AE10DA498844DF8BF01948 /* Inter-LightItalic.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Inter-LightItalic.otf"; path = "../node_modules/@tamagui/font-inter/otf/Inter-LightItalic.otf"; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -200,27 +158,6 @@
|
|||||||
children = (
|
children = (
|
||||||
7E5C3CEF7EDA4871B3D0EBE1 /* Advercase-Regular.otf */,
|
7E5C3CEF7EDA4871B3D0EBE1 /* Advercase-Regular.otf */,
|
||||||
9BF744D9A73A4BAC96EC569A /* DINOT-Medium.otf */,
|
9BF744D9A73A4BAC96EC569A /* DINOT-Medium.otf */,
|
||||||
4B261C28061D47B7B3BB3E37 /* Inter-Black.otf */,
|
|
||||||
D58C0CED91AE4265A5A406A0 /* Inter-BlackItalic.otf */,
|
|
||||||
3BF771EA645241D9A28A3AE9 /* Inter-Bold.otf */,
|
|
||||||
00B1702DFCD448D5897AAF17 /* Inter-BoldItalic.otf */,
|
|
||||||
8CE3CC4CFFC24314A22F1391 /* Inter-ExtraBold.otf */,
|
|
||||||
37A4DECF3A824D5BAA8863FD /* Inter-ExtraBoldItalic.otf */,
|
|
||||||
64F386964AAE4C1E8F2DF789 /* Inter-ExtraLight.otf */,
|
|
||||||
090474A3F07B4FFA82C9A751 /* Inter-ExtraLightItalic.otf */,
|
|
||||||
0C36821E5B014740853946D5 /* Inter-Italic.otf */,
|
|
||||||
070CF9E82E3E45DAB6BBA375 /* Inter-Light.otf */,
|
|
||||||
F4AE10DA498844DF8BF01948 /* Inter-LightItalic.otf */,
|
|
||||||
15C30A8C4A6C42558DC9D78B /* Inter-Medium.otf */,
|
|
||||||
06064B357139453EB2788C18 /* Inter-MediumItalic.otf */,
|
|
||||||
6CF8D6DF98634423ACD5D630 /* Inter-Regular.otf */,
|
|
||||||
276287D0D37B4E8EBD7A1ABD /* Inter-SemiBold.otf */,
|
|
||||||
8448FE310A674E8DAA7F1CB5 /* Inter-SemiBoldItalic.otf */,
|
|
||||||
DD642F4F3A114B43A22296D7 /* Inter-Thin.otf */,
|
|
||||||
EEA2A4D24A8F4B10A5ECA607 /* Inter-ThinItalic.otf */,
|
|
||||||
7CCB5F83F57540E88D54B34A /* slkscr.ttf */,
|
|
||||||
B4E7218406B64A95BCE0DFE4 /* slkscrb.ttf */,
|
|
||||||
C56F122245594D6DA9B7570A /* slkscr.woff */,
|
|
||||||
);
|
);
|
||||||
name = Resources;
|
name = Resources;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -338,27 +275,6 @@
|
|||||||
EBECCA4983EC6929A7722578 /* PrivacyInfo.xcprivacy in Resources */,
|
EBECCA4983EC6929A7722578 /* PrivacyInfo.xcprivacy in Resources */,
|
||||||
DAC618BCA5874DD8AD74FFFC /* Advercase-Regular.otf in Resources */,
|
DAC618BCA5874DD8AD74FFFC /* Advercase-Regular.otf in Resources */,
|
||||||
D427791AA5714251A5EAF8AD /* DINOT-Medium.otf in Resources */,
|
D427791AA5714251A5EAF8AD /* DINOT-Medium.otf in Resources */,
|
||||||
12FDE04D2B784D978F7804C0 /* Inter-Black.otf in Resources */,
|
|
||||||
E27FC7C055DE4CBDADEFAC29 /* Inter-BlackItalic.otf in Resources */,
|
|
||||||
9C694E1EF05C49DF85423A6A /* Inter-Bold.otf in Resources */,
|
|
||||||
E0825E4C214B4892954725F0 /* Inter-BoldItalic.otf in Resources */,
|
|
||||||
5C66B65890614C638590DC8A /* Inter-ExtraBold.otf in Resources */,
|
|
||||||
F1961109CC004035884F79D9 /* Inter-ExtraBoldItalic.otf in Resources */,
|
|
||||||
61037530CB0A4C159B892CDC /* Inter-ExtraLight.otf in Resources */,
|
|
||||||
EEF3331B93C24D6482021BA2 /* Inter-ExtraLightItalic.otf in Resources */,
|
|
||||||
799E4D28B9494C6BAA389F52 /* Inter-Italic.otf in Resources */,
|
|
||||||
A109328F471241A5A931D524 /* Inter-Light.otf in Resources */,
|
|
||||||
B0885FC3EE2A41A1AA97EEC0 /* Inter-LightItalic.otf in Resources */,
|
|
||||||
CC02892C62AE4BB5B7F769EA /* Inter-Medium.otf in Resources */,
|
|
||||||
C9F1B4F4F38F49EF8723594E /* Inter-MediumItalic.otf in Resources */,
|
|
||||||
DB83F88A19DB4E6583FFAE06 /* Inter-Regular.otf in Resources */,
|
|
||||||
827AB97C3F4C4DA88293E5FF /* Inter-SemiBold.otf in Resources */,
|
|
||||||
628102DA686542B2A5D06A54 /* Inter-SemiBoldItalic.otf in Resources */,
|
|
||||||
CB116B311D63491FA54CCEE1 /* Inter-Thin.otf in Resources */,
|
|
||||||
4A1791A6108347E5A635DB1C /* Inter-ThinItalic.otf in Resources */,
|
|
||||||
DC707B77BEF343F0A7B3DFDD /* slkscr.ttf in Resources */,
|
|
||||||
5008C8140A304ED79DB817C5 /* slkscrb.ttf in Resources */,
|
|
||||||
D7C083B0F0554047BA5E6BC0 /* slkscr.woff in Resources */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -379,7 +295,7 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
|
shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
|
||||||
};
|
};
|
||||||
0C6411FE06C61E7F495D9204 /* [CP] Embed Pods Frameworks */ = {
|
0C6411FE06C61E7F495D9204 /* [CP] Embed Pods Frameworks */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
@@ -870,7 +786,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
" ",
|
" ",
|
||||||
);
|
);
|
||||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native";
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
|
||||||
USE_HERMES = false;
|
USE_HERMES = false;
|
||||||
@@ -963,7 +879,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
" ",
|
" ",
|
||||||
);
|
);
|
||||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native";
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
USE_HERMES = false;
|
USE_HERMES = false;
|
||||||
VALIDATE_PRODUCT = YES;
|
VALIDATE_PRODUCT = YES;
|
||||||
|
|||||||
@@ -8,90 +8,6 @@
|
|||||||
{
|
{
|
||||||
"path": "src/assets/fonts/DINOT-Medium.otf",
|
"path": "src/assets/fonts/DINOT-Medium.otf",
|
||||||
"sha1": "e993d15a13bc4e2c66dac255d7fa569486345f88"
|
"sha1": "e993d15a13bc4e2c66dac255d7fa569486345f88"
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Black.otf",
|
|
||||||
"sha1": "5df89a5ca8b710fac50ccde5539bc2aececb184c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-BlackItalic.otf",
|
|
||||||
"sha1": "a2988d597f61e19ee05a4b7404086b8ca43d0731"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Bold.otf",
|
|
||||||
"sha1": "892e9a770a5340e46c9c7d9f25fa2699d9275923"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-BoldItalic.otf",
|
|
||||||
"sha1": "8774206d7703bfe27f6d5302e5385983c26e13a1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ExtraBold.otf",
|
|
||||||
"sha1": "d458dab978fd1894de0eed6adacacb4853596473"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ExtraBoldItalic.otf",
|
|
||||||
"sha1": "e63778737330052f9015dbd76ba904fcf05b87d7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ExtraLight.otf",
|
|
||||||
"sha1": "2c396705e77547af57076584bdd5895c2c81141a"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ExtraLightItalic.otf",
|
|
||||||
"sha1": "d367b8910d04480c7cf0be5bb87126170e676c2b"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Italic.otf",
|
|
||||||
"sha1": "1d8db12a427db7418be418b77bafb9a916ac0534"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Light.otf",
|
|
||||||
"sha1": "c89f3036b53490be4b25d15e9a3cd4caf3e67d0c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-LightItalic.otf",
|
|
||||||
"sha1": "6716c0590ef33f9ca0155cd5c5d99f8ca90b5834"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Medium.otf",
|
|
||||||
"sha1": "279fa3c60d682531d549d0ec9ed91f1b83402d40"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-MediumItalic.otf",
|
|
||||||
"sha1": "89d0a6cca45c1ac1cb30c1957b9520b703c42933"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Regular.otf",
|
|
||||||
"sha1": "4786a0feb4c853189782709a5ac5b5dfb696942b"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-SemiBold.otf",
|
|
||||||
"sha1": "ce2ccd0b91ffb1f8c894b6d60f21443e0769217c"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-SemiBoldItalic.otf",
|
|
||||||
"sha1": "8cf127ce6e16f95dccdae0eb553493d625bd0756"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-Thin.otf",
|
|
||||||
"sha1": "b9a1ad08b8f1724544ae075d66c98b7fb507b80d"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-inter/otf/Inter-ThinItalic.otf",
|
|
||||||
"sha1": "cf2dcfd6aa812f641e3d2c81af69a6c553539083"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-silkscreen/files/slkscr.ttf",
|
|
||||||
"sha1": "417bc8219cf9d819c538c052397f3352dda426a7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-silkscreen/files/slkscr.woff",
|
|
||||||
"sha1": "30d9b6f1b318c955d613dcf18d572f9aee9a35c8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "node_modules/@tamagui/font-silkscreen/files/slkscrb.ttf",
|
|
||||||
"sha1": "a960fd4e201077cda027756743c344ffcb8285fb"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,5 @@ module.exports = {
|
|||||||
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$',
|
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.[jt]sx?$',
|
||||||
moduleNameMapper: {
|
moduleNameMapper: {
|
||||||
'^@env$': '<rootDir>/tests/__setup__/@env.js',
|
'^@env$': '<rootDir>/tests/__setup__/@env.js',
|
||||||
'^@openpassport/(.*)$': '<rootDir>/../common/node_modules/@openpassport/$1',
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -1,17 +1,23 @@
|
|||||||
const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
|
const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
|
||||||
const path = require('path');
|
const path = require('node:path');
|
||||||
const defaultConfig = getDefaultConfig(__dirname);
|
const defaultConfig = getDefaultConfig(__dirname);
|
||||||
const { assetExts, sourceExts } = defaultConfig.resolver;
|
const { assetExts, sourceExts } = defaultConfig.resolver;
|
||||||
|
|
||||||
|
const monorepoRoot = path.resolve(__dirname, '../');
|
||||||
const commonPath = path.join(__dirname, '/../common');
|
const commonPath = path.join(__dirname, '/../common');
|
||||||
|
const trueMonorepoNodeModules = path.resolve(__dirname, '../node_modules');
|
||||||
const extraNodeModules = {
|
const extraNodeModules = {
|
||||||
common: path.resolve(commonPath),
|
|
||||||
stream: require.resolve('stream-browserify'),
|
stream: require.resolve('stream-browserify'),
|
||||||
buffer: require.resolve('buffer'),
|
buffer: require.resolve('buffer'),
|
||||||
util: require.resolve('util'),
|
util: require.resolve('util'),
|
||||||
assert: require.resolve('assert'),
|
assert: require.resolve('assert'),
|
||||||
|
'@babel/runtime': path.join(trueMonorepoNodeModules, '@babel/runtime'),
|
||||||
};
|
};
|
||||||
const watchFolders = [path.resolve(commonPath)];
|
const watchFolders = [
|
||||||
|
path.resolve(commonPath),
|
||||||
|
trueMonorepoNodeModules,
|
||||||
|
path.join(__dirname, 'src'),
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Metro configuration
|
* Metro configuration
|
||||||
@@ -27,6 +33,12 @@ const config = {
|
|||||||
},
|
},
|
||||||
resolver: {
|
resolver: {
|
||||||
extraNodeModules,
|
extraNodeModules,
|
||||||
|
nodeModulesPaths: [
|
||||||
|
path.resolve(__dirname, 'node_modules'), // App's own node_modules
|
||||||
|
path.resolve(monorepoRoot, 'node_modules'), // Monorepo root node_modules
|
||||||
|
trueMonorepoNodeModules,
|
||||||
|
// Add paths to other package workspaces if needed
|
||||||
|
],
|
||||||
assetExts: assetExts.filter(ext => ext !== 'svg'),
|
assetExts: assetExts.filter(ext => ext !== 'svg'),
|
||||||
sourceExts: [...sourceExts, 'svg'],
|
sourceExts: [...sourceExts, 'svg'],
|
||||||
},
|
},
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "openpassport",
|
"name": "@selfxyz/mobile-app",
|
||||||
"version": "2.5.2",
|
"version": "2.5.2",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"analyze:android": "yarn reinstall && react-native-bundle-visualizer --platform android --dev",
|
"analyze:android": "yarn reinstall && react-native-bundle-visualizer --platform android --dev",
|
||||||
"analyze:ios": "yarn reinstall && react-native-bundle-visualizer --platform ios --dev",
|
"analyze:ios": "yarn reinstall && react-native-bundle-visualizer --platform ios --dev",
|
||||||
@@ -14,7 +15,8 @@
|
|||||||
"bump-version:major": "npm version major && yarn sync-versions",
|
"bump-version:major": "npm version major && yarn sync-versions",
|
||||||
"bump-version:minor": "npm version minor && yarn sync-versions",
|
"bump-version:minor": "npm version minor && yarn sync-versions",
|
||||||
"bump-version:patch": "npm version patch && yarn sync-versions",
|
"bump-version:patch": "npm version patch && yarn sync-versions",
|
||||||
"clean": "watchman watch-del-all && rm -rf node_modules ios/Pods ios/build android/app/build android/build .yarn/cache ios/.xcode.env.local",
|
"types": "tsc --noEmit",
|
||||||
|
"clean": "watchman watch-del-all && rm -rf ../node_modules ios/Pods ios/build android/app/build android/build ../.yarn/cache ios/.xcode.env.local",
|
||||||
"clean:android": "rm -rf android/app/build android/build",
|
"clean:android": "rm -rf android/app/build android/build",
|
||||||
"clean:ios": "rm -rf ios/Pods ios/build",
|
"clean:ios": "rm -rf ios/Pods ios/build",
|
||||||
"clean:xcode-env-local": "rm -f ios/.xcode.env.local",
|
"clean:xcode-env-local": "rm -f ios/.xcode.env.local",
|
||||||
@@ -29,8 +31,9 @@
|
|||||||
"ia": "yarn install-app",
|
"ia": "yarn install-app",
|
||||||
"install-app": "yarn install-app:setup && cd ios && bundle exec pod install && cd .. && yarn clean:xcode-env-local",
|
"install-app": "yarn install-app:setup && cd ios && bundle exec pod install && cd .. && yarn clean:xcode-env-local",
|
||||||
"install-app:deploy": "yarn install-app:setup && yarn clean:xcode-env-local",
|
"install-app:deploy": "yarn install-app:setup && yarn clean:xcode-env-local",
|
||||||
"install-app:setup": "cd ../common && yarn && cd ../app && yarn && cd ios && bundle install && cd ..",
|
"install-app:setup": "yarn install && yarn build:deps && cd ios && bundle install && cd ..",
|
||||||
"ios": "react-native run-ios",
|
"ios": "react-native run-ios",
|
||||||
|
"build:deps": "yarn workspaces foreach --from @selfxyz/mobile-app --topological --recursive run build",
|
||||||
"ios:fastlane-debug": "yarn reinstall && bundle exec fastlane --verbose ios internal_test",
|
"ios:fastlane-debug": "yarn reinstall && bundle exec fastlane --verbose ios internal_test",
|
||||||
"lint": "eslint .",
|
"lint": "eslint .",
|
||||||
"lint:fix": "eslint --fix .",
|
"lint:fix": "eslint --fix .",
|
||||||
@@ -43,6 +46,7 @@
|
|||||||
"test": "jest --passWithNoTests"
|
"test": "jest --passWithNoTests"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@babel/runtime": "^7.27.4",
|
||||||
"@ethersproject/shims": "^5.7.0",
|
"@ethersproject/shims": "^5.7.0",
|
||||||
"@openpassport/zk-kit-lean-imt": "^0.0.6",
|
"@openpassport/zk-kit-lean-imt": "^0.0.6",
|
||||||
"@openpassport/zk-kit-smt": "^0.0.1",
|
"@openpassport/zk-kit-smt": "^0.0.1",
|
||||||
@@ -57,7 +61,8 @@
|
|||||||
"@react-navigation/native-stack": "^7.2.0",
|
"@react-navigation/native-stack": "^7.2.0",
|
||||||
"@segment/analytics-react-native": "^2.21.0",
|
"@segment/analytics-react-native": "^2.21.0",
|
||||||
"@segment/sovran-react-native": "^1.1.3",
|
"@segment/sovran-react-native": "^1.1.3",
|
||||||
"@sentry/react-native": "^6.10.0",
|
"@selfxyz/common": "workspace:^",
|
||||||
|
"@sentry/react-native": "6.10.0",
|
||||||
"@stablelib/cbor": "^2.0.1",
|
"@stablelib/cbor": "^2.0.1",
|
||||||
"@tamagui/config": "1.110.0",
|
"@tamagui/config": "1.110.0",
|
||||||
"@tamagui/lucide-icons": "1.110.0",
|
"@tamagui/lucide-icons": "1.110.0",
|
||||||
@@ -72,7 +77,7 @@
|
|||||||
"ethers": "^6.11.0",
|
"ethers": "^6.11.0",
|
||||||
"expo-modules-core": "^2.2.1",
|
"expo-modules-core": "^2.2.1",
|
||||||
"js-sha512": "^0.9.0",
|
"js-sha512": "^0.9.0",
|
||||||
"lottie-react-native": "^7.2.2",
|
"lottie-react-native": "7.2.2",
|
||||||
"msgpack-lite": "^0.1.26",
|
"msgpack-lite": "^0.1.26",
|
||||||
"node-forge": "^1.3.1",
|
"node-forge": "^1.3.1",
|
||||||
"pako": "^2.1.0",
|
"pako": "^2.1.0",
|
||||||
@@ -94,7 +99,7 @@
|
|||||||
"react-native-passport-reader": "^1.0.3",
|
"react-native-passport-reader": "^1.0.3",
|
||||||
"react-native-quick-crypto": "^0.7.12",
|
"react-native-quick-crypto": "^0.7.12",
|
||||||
"react-native-safe-area-context": "^5.2.0",
|
"react-native-safe-area-context": "^5.2.0",
|
||||||
"react-native-screens": "^4.6.0",
|
"react-native-screens": "4.9.0",
|
||||||
"react-native-sqlite-storage": "^6.0.1",
|
"react-native-sqlite-storage": "^6.0.1",
|
||||||
"react-native-svg": "^15.11.1",
|
"react-native-svg": "^15.11.1",
|
||||||
"socket.io-client": "^4.7.5",
|
"socket.io-client": "^4.7.5",
|
||||||
@@ -109,6 +114,7 @@
|
|||||||
"@react-native-community/cli": "^14.1.1",
|
"@react-native-community/cli": "^14.1.1",
|
||||||
"@react-native/babel-preset": "0.75.4",
|
"@react-native/babel-preset": "0.75.4",
|
||||||
"@react-native/eslint-config": "0.75.4",
|
"@react-native/eslint-config": "0.75.4",
|
||||||
|
"@react-native/gradle-plugin": "^0.79.2",
|
||||||
"@react-native/metro-config": "0.75.4",
|
"@react-native/metro-config": "0.75.4",
|
||||||
"@react-native/typescript-config": "0.75.4",
|
"@react-native/typescript-config": "0.75.4",
|
||||||
"@tamagui/types": "1.110.0",
|
"@tamagui/types": "1.110.0",
|
||||||
@@ -128,6 +134,7 @@
|
|||||||
"@types/react-test-renderer": "^18",
|
"@types/react-test-renderer": "^18",
|
||||||
"eslint": "^8.19.0",
|
"eslint": "^8.19.0",
|
||||||
"eslint-config-prettier": "^10.1.2",
|
"eslint-config-prettier": "^10.1.2",
|
||||||
|
"eslint-plugin-jest": "^28.11.1",
|
||||||
"eslint-plugin-prettier": "^5.2.6",
|
"eslint-plugin-prettier": "^5.2.6",
|
||||||
"eslint-plugin-simple-import-sort": "^12.1.1",
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
||||||
"jest": "^29.6.3",
|
"jest": "^29.6.3",
|
||||||
@@ -136,9 +143,8 @@
|
|||||||
"react-native-svg-transformer": "^1.5.0",
|
"react-native-svg-transformer": "^1.5.0",
|
||||||
"react-test-renderer": "^18.3.1",
|
"react-test-renderer": "^18.3.1",
|
||||||
"stream-browserify": "^3.0.0",
|
"stream-browserify": "^3.0.0",
|
||||||
"typescript": "5.0.4"
|
"typescript": "^5.8.3"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@4.5.0",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
|
|||||||
7
app/react-native.config.cjs
Normal file
7
app/react-native.config.cjs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
module.exports = {
|
||||||
|
project: {
|
||||||
|
ios: {},
|
||||||
|
android: {},
|
||||||
|
},
|
||||||
|
assets: ['./src/assets/fonts'],
|
||||||
|
};
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
project: {
|
|
||||||
ios: {},
|
|
||||||
android: {},
|
|
||||||
},
|
|
||||||
assets: [
|
|
||||||
'./src/assets/fonts',
|
|
||||||
'./node_modules/@tamagui/font-inter/otf',
|
|
||||||
'./node_modules/@tamagui/font-silkscreen/files',
|
|
||||||
],
|
|
||||||
};
|
|
||||||
@@ -1,11 +1,8 @@
|
|||||||
|
import type { SelfAppDisclosureConfig } from '@selfxyz/common';
|
||||||
|
import { Country3LetterCode, countryCodes } from '@selfxyz/common';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { XStack, YStack } from 'tamagui';
|
import { XStack, YStack } from 'tamagui';
|
||||||
|
|
||||||
import {
|
|
||||||
Country3LetterCode,
|
|
||||||
countryCodes,
|
|
||||||
} from '../../../common/src/constants/constants';
|
|
||||||
import { SelfAppDisclosureConfig } from '../../../common/src/utils/appType';
|
|
||||||
import { BodyText } from '../components/typography/BodyText';
|
import { BodyText } from '../components/typography/BodyText';
|
||||||
import CheckMark from '../images/icons/checkmark.svg';
|
import CheckMark from '../images/icons/checkmark.svg';
|
||||||
import { slate200, slate500 } from '../utils/colors';
|
import { slate200, slate500 } from '../utils/colors';
|
||||||
|
|||||||
@@ -7,9 +7,9 @@ import {
|
|||||||
} from 'react-native';
|
} from 'react-native';
|
||||||
|
|
||||||
import { extractMRZInfo } from '../../utils/utils';
|
import { extractMRZInfo } from '../../utils/utils';
|
||||||
import { RCTFragment, RCTFragmentViewManagerProps } from './RCTFragment';
|
import { RCTFragment } from './RCTFragment';
|
||||||
|
|
||||||
interface RCTPassportOCRViewManagerProps extends RCTFragmentViewManagerProps {
|
interface NativePassportOCRViewProps {
|
||||||
onPassportRead: (
|
onPassportRead: (
|
||||||
event: NativeSyntheticEvent<{
|
event: NativeSyntheticEvent<{
|
||||||
data:
|
data:
|
||||||
@@ -23,11 +23,21 @@ interface RCTPassportOCRViewManagerProps extends RCTFragmentViewManagerProps {
|
|||||||
};
|
};
|
||||||
}>,
|
}>,
|
||||||
) => void;
|
) => void;
|
||||||
|
onError: (
|
||||||
|
event: NativeSyntheticEvent<{
|
||||||
|
error: string;
|
||||||
|
errorMessage: string;
|
||||||
|
stackTrace: string;
|
||||||
|
}>,
|
||||||
|
) => void;
|
||||||
|
style?: any; // Or a more specific style type if available
|
||||||
}
|
}
|
||||||
|
|
||||||
const RCTPassportOCRViewNativeComponent = Platform.select({
|
const RCTPassportOCRViewNativeComponent = Platform.select({
|
||||||
ios: requireNativeComponent('PassportOCRView'),
|
ios: requireNativeComponent<NativePassportOCRViewProps>('PassportOCRView'),
|
||||||
android: requireNativeComponent('PassportOCRViewManager'),
|
android: requireNativeComponent<NativePassportOCRViewProps>(
|
||||||
|
'PassportOCRViewManager',
|
||||||
|
),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!RCTPassportOCRViewNativeComponent) {
|
if (!RCTPassportOCRViewNativeComponent) {
|
||||||
@@ -111,10 +121,16 @@ export const PassportCamera: React.FC<PassportCameraProps> = ({
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
// For Android, wrap the native component inside your RCTFragment to preserve existing functionality.
|
// For Android, wrap the native component inside your RCTFragment to preserve existing functionality.
|
||||||
const Fragment = RCTFragment as React.FC<RCTPassportOCRViewManagerProps>;
|
const Fragment = RCTFragment as React.FC<
|
||||||
|
React.ComponentProps<typeof RCTFragment> & NativePassportOCRViewProps
|
||||||
|
>;
|
||||||
return (
|
return (
|
||||||
<Fragment
|
<Fragment
|
||||||
RCTFragmentViewManager={RCTPassportOCRViewNativeComponent}
|
RCTFragmentViewManager={
|
||||||
|
RCTPassportOCRViewNativeComponent as ReturnType<
|
||||||
|
typeof requireNativeComponent
|
||||||
|
>
|
||||||
|
}
|
||||||
fragmentComponentName="PassportOCRViewManager"
|
fragmentComponentName="PassportOCRViewManager"
|
||||||
isMounted={isMounted}
|
isMounted={isMounted}
|
||||||
style={{
|
style={{
|
||||||
|
|||||||
@@ -6,15 +6,27 @@ import {
|
|||||||
requireNativeComponent,
|
requireNativeComponent,
|
||||||
} from 'react-native';
|
} from 'react-native';
|
||||||
|
|
||||||
import { RCTFragment, RCTFragmentViewManagerProps } from './RCTFragment';
|
import { RCTFragment } from './RCTFragment';
|
||||||
|
|
||||||
interface RCTQRCodeScannerViewProps extends RCTFragmentViewManagerProps {
|
interface NativeQRCodeScannerViewProps {
|
||||||
onQRData: (event: NativeSyntheticEvent<{ data: string }>) => void;
|
onQRData: (event: NativeSyntheticEvent<{ data: string }>) => void;
|
||||||
|
onError: (
|
||||||
|
event: NativeSyntheticEvent<{
|
||||||
|
error: string;
|
||||||
|
errorMessage: string;
|
||||||
|
stackTrace: string;
|
||||||
|
}>,
|
||||||
|
) => void;
|
||||||
|
style?: any; // Or a more specific style type
|
||||||
}
|
}
|
||||||
|
|
||||||
const QRCodeNativeComponent = Platform.select({
|
const QRCodeNativeComponent = Platform.select({
|
||||||
ios: requireNativeComponent('QRCodeScannerView'),
|
ios: requireNativeComponent<NativeQRCodeScannerViewProps>(
|
||||||
android: requireNativeComponent('QRCodeScannerViewManager'),
|
'QRCodeScannerView',
|
||||||
|
),
|
||||||
|
android: requireNativeComponent<NativeQRCodeScannerViewProps>(
|
||||||
|
'QRCodeScannerViewManager',
|
||||||
|
),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!QRCodeNativeComponent) {
|
if (!QRCodeNativeComponent) {
|
||||||
@@ -74,10 +86,14 @@ export const QRCodeScannerView: React.FC<QRCodeScannerViewProps> = ({
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
// For Android, wrap the native component inside your RCTFragment to preserve existing functionality.
|
// For Android, wrap the native component inside your RCTFragment to preserve existing functionality.
|
||||||
const Fragment = RCTFragment as React.FC<RCTQRCodeScannerViewProps>;
|
const Fragment = RCTFragment as React.FC<
|
||||||
|
React.ComponentProps<typeof RCTFragment> & NativeQRCodeScannerViewProps
|
||||||
|
>;
|
||||||
return (
|
return (
|
||||||
<Fragment
|
<Fragment
|
||||||
RCTFragmentViewManager={QRCodeNativeComponent}
|
RCTFragmentViewManager={
|
||||||
|
QRCodeNativeComponent as ReturnType<typeof requireNativeComponent>
|
||||||
|
}
|
||||||
fragmentComponentName="QRCodeScannerViewManager"
|
fragmentComponentName="QRCodeScannerViewManager"
|
||||||
isMounted={isMounted}
|
isMounted={isMounted}
|
||||||
style={{
|
style={{
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { useNavigation } from '@react-navigation/native';
|
|||||||
import { NativeStackScreenProps } from '@react-navigation/native-stack';
|
import { NativeStackScreenProps } from '@react-navigation/native-stack';
|
||||||
import { useCallback } from 'react';
|
import { useCallback } from 'react';
|
||||||
|
|
||||||
import type { RootStackParamList } from '../Navigation';
|
import type { RootStackParamList } from '../navigation/index';
|
||||||
import { impactLight, impactMedium, selectionChange } from '../utils/haptic';
|
import { impactLight, impactMedium, selectionChange } from '../utils/haptic';
|
||||||
|
|
||||||
type NavigationAction = 'default' | 'cancel' | 'confirm';
|
type NavigationAction = 'default' | 'cancel' | 'confirm';
|
||||||
@@ -18,11 +18,18 @@ const useHapticNavigation = <S extends keyof RootStackParamList>(
|
|||||||
useNavigation() as NativeStackScreenProps<RootStackParamList>['navigation'];
|
useNavigation() as NativeStackScreenProps<RootStackParamList>['navigation'];
|
||||||
|
|
||||||
return useCallback(() => {
|
return useCallback(() => {
|
||||||
|
const navParams = options.params;
|
||||||
switch (options.action) {
|
switch (options.action) {
|
||||||
case 'cancel':
|
case 'cancel':
|
||||||
selectionChange();
|
selectionChange();
|
||||||
// it is safe to cast options.params as any because it is correct when entering the function
|
if (navParams !== undefined) {
|
||||||
navigation.popTo(screen, options.params as any);
|
(navigation.popTo as (screen: S, params: typeof navParams) => void)(
|
||||||
|
screen,
|
||||||
|
navParams,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
(navigation.popTo as (screen: S) => void)(screen);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case 'confirm':
|
case 'confirm':
|
||||||
@@ -34,8 +41,15 @@ const useHapticNavigation = <S extends keyof RootStackParamList>(
|
|||||||
impactLight();
|
impactLight();
|
||||||
}
|
}
|
||||||
// it is safe to cast options.params as any because it is correct when entering the function
|
// it is safe to cast options.params as any because it is correct when entering the function
|
||||||
navigation.navigate(screen, options.params as any);
|
if (navParams !== undefined) {
|
||||||
}, [navigation, screen, options.action]);
|
(navigation.navigate as (screen: S, params: typeof navParams) => void)(
|
||||||
|
screen,
|
||||||
|
navParams,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
(navigation.navigate as (screen: S) => void)(screen);
|
||||||
|
}
|
||||||
|
}, [navigation, screen, options]);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default useHapticNavigation;
|
export default useHapticNavigation;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
/* eslint-disable simple-import-sort/imports */
|
||||||
import { useNavigation } from '@react-navigation/native';
|
import { useNavigation } from '@react-navigation/native';
|
||||||
import {
|
import {
|
||||||
Check,
|
Check,
|
||||||
@@ -19,8 +20,8 @@ import {
|
|||||||
YStack,
|
YStack,
|
||||||
} from 'tamagui';
|
} from 'tamagui';
|
||||||
|
|
||||||
import { genAndInitMockPassportData } from '../../../../common/src/utils/passports/genMockPassportData';
|
import { genAndInitMockPassportData } from '@selfxyz/common';
|
||||||
import { RootStackParamList } from '../../Navigation';
|
import { RootStackParamList } from '../../navigation';
|
||||||
import {
|
import {
|
||||||
unsafe_clearSecrets,
|
unsafe_clearSecrets,
|
||||||
unsafe_getPrivateKey,
|
unsafe_getPrivateKey,
|
||||||
@@ -145,7 +146,9 @@ const ScreenSelector = ({}) => {
|
|||||||
|
|
||||||
const DevSettingsScreen: React.FC<DevSettingsScreenProps> = ({}) => {
|
const DevSettingsScreen: React.FC<DevSettingsScreenProps> = ({}) => {
|
||||||
const { clearPassportData } = usePassport();
|
const { clearPassportData } = usePassport();
|
||||||
const [privateKey, setPrivateKey] = useState('Loading private key…');
|
const [privateKey, setPrivateKey] = useState<string | null>(
|
||||||
|
'Loading private key…',
|
||||||
|
);
|
||||||
|
|
||||||
const nav = useNavigation();
|
const nav = useNavigation();
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
import { useNavigation } from '@react-navigation/native';
|
import { useNavigation } from '@react-navigation/native';
|
||||||
|
import { countryCodes } from '@selfxyz/common';
|
||||||
|
import { getSKIPEM } from '@selfxyz/common';
|
||||||
|
import { genMockIdDoc, IdDocInput } from '@selfxyz/common';
|
||||||
|
import { initPassportDataParsing } from '@selfxyz/common';
|
||||||
import { ChevronDown, Minus, Plus, X } from '@tamagui/lucide-icons';
|
import { ChevronDown, Minus, Plus, X } from '@tamagui/lucide-icons';
|
||||||
import { flag } from 'country-emoji';
|
import { flag } from 'country-emoji';
|
||||||
import getCountryISO2 from 'country-iso-3-to-2';
|
import getCountryISO2 from 'country-iso-3-to-2';
|
||||||
@@ -19,13 +23,6 @@ import {
|
|||||||
YStack,
|
YStack,
|
||||||
} from 'tamagui';
|
} from 'tamagui';
|
||||||
|
|
||||||
import { getSKIPEM } from '../../../.././common/src/utils/csca';
|
|
||||||
import { countryCodes } from '../../../../common/src/constants/constants';
|
|
||||||
import {
|
|
||||||
genMockIdDoc,
|
|
||||||
IdDocInput,
|
|
||||||
} from '../../../../common/src/utils/passports/genMockIdDoc';
|
|
||||||
import { initPassportDataParsing } from '../../../../common/src/utils/passports/passport';
|
|
||||||
import { PrimaryButton } from '../../components/buttons/PrimaryButton';
|
import { PrimaryButton } from '../../components/buttons/PrimaryButton';
|
||||||
import { SecondaryButton } from '../../components/buttons/SecondaryButton';
|
import { SecondaryButton } from '../../components/buttons/SecondaryButton';
|
||||||
import ButtonsContainer from '../../components/ButtonsContainer';
|
import ButtonsContainer from '../../components/ButtonsContainer';
|
||||||
@@ -217,7 +214,7 @@ const MockDataScreen: React.FC<MockDataScreenProps> = ({}) => {
|
|||||||
][2];
|
][2];
|
||||||
|
|
||||||
const idDocInput: Partial<IdDocInput> = {
|
const idDocInput: Partial<IdDocInput> = {
|
||||||
nationality: selectedCountry,
|
nationality: selectedCountry as IdDocInput['nationality'],
|
||||||
idType: 'mock_passport',
|
idType: 'mock_passport',
|
||||||
signatureType:
|
signatureType:
|
||||||
signatureTypeForGeneration as IdDocInput['signatureType'],
|
signatureTypeForGeneration as IdDocInput['signatureType'],
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
import { useNavigation } from '@react-navigation/native';
|
import { useNavigation } from '@react-navigation/native';
|
||||||
|
import { countryCodes } from '@selfxyz/common';
|
||||||
|
import { genMockIdDoc, IdDocInput } from '@selfxyz/common';
|
||||||
import { flag } from 'country-emoji';
|
import { flag } from 'country-emoji';
|
||||||
import getCountryISO2 from 'country-iso-3-to-2';
|
import getCountryISO2 from 'country-iso-3-to-2';
|
||||||
import React, { useCallback, useEffect, useState } from 'react';
|
import React, { useCallback, useEffect, useState } from 'react';
|
||||||
@@ -6,11 +8,6 @@ import { ActivityIndicator, View } from 'react-native';
|
|||||||
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
||||||
import { ScrollView, Text, XStack, YStack } from 'tamagui';
|
import { ScrollView, Text, XStack, YStack } from 'tamagui';
|
||||||
|
|
||||||
import { countryCodes } from '../../../../common/src/constants/constants';
|
|
||||||
import {
|
|
||||||
genMockIdDoc,
|
|
||||||
IdDocInput,
|
|
||||||
} from '../../../../common/src/utils/passports/genMockIdDoc';
|
|
||||||
import { PrimaryButton } from '../../components/buttons/PrimaryButton';
|
import { PrimaryButton } from '../../components/buttons/PrimaryButton';
|
||||||
import ButtonsContainer from '../../components/ButtonsContainer';
|
import ButtonsContainer from '../../components/ButtonsContainer';
|
||||||
import { BodyText } from '../../components/typography/BodyText';
|
import { BodyText } from '../../components/typography/BodyText';
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { StaticScreenProps, useIsFocused } from '@react-navigation/native';
|
import { StaticScreenProps, useIsFocused } from '@react-navigation/native';
|
||||||
|
import { PassportData } from '@selfxyz/common';
|
||||||
import LottieView from 'lottie-react-native';
|
import LottieView from 'lottie-react-native';
|
||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
import { StyleSheet, View } from 'react-native';
|
import { StyleSheet, View } from 'react-native';
|
||||||
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
||||||
import { Text, YStack } from 'tamagui';
|
import { Text, YStack } from 'tamagui';
|
||||||
|
|
||||||
import { PassportData } from '../../../../common/src/utils/types';
|
|
||||||
import failAnimation from '../../assets/animations/loading/fail.json';
|
import failAnimation from '../../assets/animations/loading/fail.json';
|
||||||
import proveLoadingAnimation from '../../assets/animations/loading/prove.json';
|
import proveLoadingAnimation from '../../assets/animations/loading/prove.json';
|
||||||
import successAnimation from '../../assets/animations/loading/success.json';
|
import successAnimation from '../../assets/animations/loading/success.json';
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { useNavigation } from '@react-navigation/native';
|
import { useNavigation } from '@react-navigation/native';
|
||||||
|
import { PassportData } from '@selfxyz/common';
|
||||||
import LottieView from 'lottie-react-native';
|
import LottieView from 'lottie-react-native';
|
||||||
import React, { useCallback, useEffect, useRef } from 'react';
|
import React, { useCallback, useEffect, useRef } from 'react';
|
||||||
import { StyleSheet } from 'react-native';
|
import { StyleSheet } from 'react-native';
|
||||||
|
|
||||||
import { PassportData } from '../../../../common/src/utils/types';
|
|
||||||
import splashAnimation from '../../assets/animations/splash.json';
|
import splashAnimation from '../../assets/animations/splash.json';
|
||||||
import { useAuth } from '../../stores/authProvider';
|
import { useAuth } from '../../stores/authProvider';
|
||||||
import { loadPassportDataAndSecret } from '../../stores/passportDataProvider';
|
import { loadPassportDataAndSecret } from '../../stores/passportDataProvider';
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
import { useFocusEffect, useNavigation } from '@react-navigation/native';
|
import { useFocusEffect, useNavigation } from '@react-navigation/native';
|
||||||
|
import { getSKIPEM } from '@selfxyz/common';
|
||||||
|
import { initPassportDataParsing } from '@selfxyz/common';
|
||||||
|
import { PassportData } from '@selfxyz/common';
|
||||||
import LottieView from 'lottie-react-native';
|
import LottieView from 'lottie-react-native';
|
||||||
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
||||||
import {
|
import {
|
||||||
@@ -11,9 +14,6 @@ import {
|
|||||||
import NfcManager from 'react-native-nfc-manager';
|
import NfcManager from 'react-native-nfc-manager';
|
||||||
import { Image } from 'tamagui';
|
import { Image } from 'tamagui';
|
||||||
|
|
||||||
import { getSKIPEM } from '../../../../common/src/utils/csca';
|
|
||||||
import { initPassportDataParsing } from '../../../../common/src/utils/passports/passport';
|
|
||||||
import { PassportData } from '../../../../common/src/utils/types';
|
|
||||||
import passportVerifyAnimation from '../../assets/animations/passport_verify.json';
|
import passportVerifyAnimation from '../../assets/animations/passport_verify.json';
|
||||||
import { PrimaryButton } from '../../components/buttons/PrimaryButton';
|
import { PrimaryButton } from '../../components/buttons/PrimaryButton';
|
||||||
import { SecondaryButton } from '../../components/buttons/SecondaryButton';
|
import { SecondaryButton } from '../../components/buttons/SecondaryButton';
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
import { useIsFocused, useNavigation } from '@react-navigation/native';
|
import { useIsFocused, useNavigation } from '@react-navigation/native';
|
||||||
|
import { SelfAppDisclosureConfig } from '@selfxyz/common';
|
||||||
|
import { formatEndpoint } from '@selfxyz/common';
|
||||||
import LottieView from 'lottie-react-native';
|
import LottieView from 'lottie-react-native';
|
||||||
import React, {
|
import React, {
|
||||||
useCallback,
|
useCallback,
|
||||||
@@ -16,8 +18,6 @@ import {
|
|||||||
} from 'react-native';
|
} from 'react-native';
|
||||||
import { Image, Text, View, YStack } from 'tamagui';
|
import { Image, Text, View, YStack } from 'tamagui';
|
||||||
|
|
||||||
import { SelfAppDisclosureConfig } from '../../../../common/src/utils/appType';
|
|
||||||
import { formatEndpoint } from '../../../../common/src/utils/scope';
|
|
||||||
import miscAnimation from '../../assets/animations/loading/misc.json';
|
import miscAnimation from '../../assets/animations/loading/misc.json';
|
||||||
import { HeldPrimaryButtonProveScreen } from '../../components/buttons/HeldPrimaryButtonProveScreen';
|
import { HeldPrimaryButtonProveScreen } from '../../components/buttons/HeldPrimaryButtonProveScreen';
|
||||||
import Disclosures from '../../components/Disclosures';
|
import Disclosures from '../../components/Disclosures';
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import { BackupEvents } from '../../consts/analytics';
|
|||||||
import { useModal } from '../../hooks/useModal';
|
import { useModal } from '../../hooks/useModal';
|
||||||
import Cloud from '../../images/icons/logo_cloud_backup.svg';
|
import Cloud from '../../images/icons/logo_cloud_backup.svg';
|
||||||
import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout';
|
import { ExpandableBottomLayout } from '../../layouts/ExpandableBottomLayout';
|
||||||
import { RootStackParamList } from '../../Navigation';
|
import { RootStackParamList } from '../../navigation';
|
||||||
import { useAuth } from '../../stores/authProvider';
|
import { useAuth } from '../../stores/authProvider';
|
||||||
import { useSettingStore } from '../../stores/settingStore';
|
import { useSettingStore } from '../../stores/settingStore';
|
||||||
import analytics from '../../utils/analytics';
|
import analytics from '../../utils/analytics';
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { useFocusEffect } from '@react-navigation/native';
|
import { useFocusEffect } from '@react-navigation/native';
|
||||||
|
import { PassportMetadata } from '@selfxyz/common';
|
||||||
import React, { useCallback, useState } from 'react';
|
import React, { useCallback, useState } from 'react';
|
||||||
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
||||||
import { ScrollView, Separator, XStack, YStack } from 'tamagui';
|
import { ScrollView, Separator, XStack, YStack } from 'tamagui';
|
||||||
|
|
||||||
import { PassportMetadata } from '../../../../common/src/utils/passports/passport_parsing/parsePassportData';
|
|
||||||
import { Caption } from '../../components/typography/Caption';
|
import { Caption } from '../../components/typography/Caption';
|
||||||
import { usePassport } from '../../stores/passportDataProvider';
|
import { usePassport } from '../../stores/passportDataProvider';
|
||||||
import { black, slate200, white } from '../../utils/colors';
|
import { black, slate200, white } from '../../utils/colors';
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import ShareIcon from '../../images/icons/share.svg';
|
|||||||
import Star from '../../images/icons/star.svg';
|
import Star from '../../images/icons/star.svg';
|
||||||
import Telegram from '../../images/icons/telegram.svg';
|
import Telegram from '../../images/icons/telegram.svg';
|
||||||
import Web from '../../images/icons/webpage.svg';
|
import Web from '../../images/icons/webpage.svg';
|
||||||
import { RootStackParamList } from '../../Navigation';
|
import { RootStackParamList } from '../../navigation';
|
||||||
import { useSettingStore } from '../../stores/settingStore';
|
import { useSettingStore } from '../../stores/settingStore';
|
||||||
import {
|
import {
|
||||||
amber500,
|
amber500,
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
import { PublicKeyDetailsECDSA, PublicKeyDetailsRSA } from '@selfxyz/common';
|
||||||
|
import { parseCertificateSimple } from '@selfxyz/common';
|
||||||
|
import { brutforceSignatureAlgorithmDsc } from '@selfxyz/common';
|
||||||
|
import { PassportData } from '@selfxyz/common';
|
||||||
import React, {
|
import React, {
|
||||||
createContext,
|
createContext,
|
||||||
PropsWithChildren,
|
PropsWithChildren,
|
||||||
@@ -7,13 +11,6 @@ import React, {
|
|||||||
} from 'react';
|
} from 'react';
|
||||||
import Keychain from 'react-native-keychain';
|
import Keychain from 'react-native-keychain';
|
||||||
|
|
||||||
import {
|
|
||||||
PublicKeyDetailsECDSA,
|
|
||||||
PublicKeyDetailsRSA,
|
|
||||||
} from '../../../common/src/utils/certificate_parsing/dataStructure';
|
|
||||||
import { parseCertificateSimple } from '../../../common/src/utils/certificate_parsing/parseCertificateSimple';
|
|
||||||
import { brutforceSignatureAlgorithmDsc } from '../../../common/src/utils/passports/passport_parsing/brutForceDscSignature';
|
|
||||||
import { PassportData } from '../../../common/src/utils/types';
|
|
||||||
import { unsafe_getPrivateKey } from '../stores/authProvider';
|
import { unsafe_getPrivateKey } from '../stores/authProvider';
|
||||||
import { useAuth } from './authProvider';
|
import { useAuth } from './authProvider';
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
|
import type { EndpointType } from '@selfxyz/common';
|
||||||
|
import { WS_DB_RELAYER } from '@selfxyz/common';
|
||||||
|
import { UserIdType } from '@selfxyz/common';
|
||||||
import { Platform } from 'react-native';
|
import { Platform } from 'react-native';
|
||||||
import SQLite from 'react-native-sqlite-storage';
|
import SQLite from 'react-native-sqlite-storage';
|
||||||
import { io } from 'socket.io-client';
|
import { io } from 'socket.io-client';
|
||||||
import { create } from 'zustand';
|
import { create } from 'zustand';
|
||||||
|
|
||||||
import { WS_DB_RELAYER } from '../../../common/src/constants/constants';
|
|
||||||
import { EndpointType } from '../../../common/src/utils/appType';
|
|
||||||
import { UserIdType } from '../../../common/src/utils/circuits/uuid';
|
|
||||||
|
|
||||||
SQLite.enablePromise(true);
|
SQLite.enablePromise(true);
|
||||||
|
|
||||||
export interface ProofHistory {
|
export interface ProofHistory {
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
import { create } from 'zustand';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
API_URL,
|
API_URL,
|
||||||
API_URL_STAGING,
|
API_URL_STAGING,
|
||||||
@@ -9,7 +7,8 @@ import {
|
|||||||
DSC_TREE_URL_STAGING,
|
DSC_TREE_URL_STAGING,
|
||||||
IDENTITY_TREE_URL,
|
IDENTITY_TREE_URL,
|
||||||
IDENTITY_TREE_URL_STAGING,
|
IDENTITY_TREE_URL_STAGING,
|
||||||
} from '../../../common/src/constants/constants';
|
} from '@selfxyz/common';
|
||||||
|
import { create } from 'zustand';
|
||||||
|
|
||||||
interface ProtocolState {
|
interface ProtocolState {
|
||||||
passport: {
|
passport: {
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
|
import type { SelfApp } from '@selfxyz/common';
|
||||||
|
import { WS_DB_RELAYER } from '@selfxyz/common';
|
||||||
import io, { Socket } from 'socket.io-client';
|
import io, { Socket } from 'socket.io-client';
|
||||||
import { create } from 'zustand';
|
import { create } from 'zustand';
|
||||||
|
|
||||||
import { WS_DB_RELAYER } from '../../../common/src/constants/constants';
|
|
||||||
import { SelfApp } from '../../../common/src/utils/appType';
|
|
||||||
|
|
||||||
interface SelfAppState {
|
interface SelfAppState {
|
||||||
selfApp: SelfApp | null;
|
selfApp: SelfApp | null;
|
||||||
sessionId: string | null;
|
sessionId: string | null;
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-unused-vars */
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
||||||
|
import { PassportData } from '@selfxyz/common';
|
||||||
import { Buffer } from 'buffer';
|
import { Buffer } from 'buffer';
|
||||||
import { NativeModules, Platform } from 'react-native';
|
import { NativeModules, Platform } from 'react-native';
|
||||||
import PassportReader from 'react-native-passport-reader';
|
import PassportReader from 'react-native-passport-reader';
|
||||||
|
|
||||||
import { PassportData } from '../../../common/src/utils/types';
|
|
||||||
|
|
||||||
interface Inputs {
|
interface Inputs {
|
||||||
passportNumber: string;
|
passportNumber: string;
|
||||||
dateOfBirth: string;
|
dateOfBirth: string;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { X509Certificate } from '@peculiar/x509';
|
import { X509Certificate } from '@peculiar/x509';
|
||||||
|
import { PCR0_MANAGER_ADDRESS, RPC_URL } from '@selfxyz/common';
|
||||||
import { decode } from '@stablelib/cbor';
|
import { decode } from '@stablelib/cbor';
|
||||||
import { fromBER } from 'asn1js';
|
import { fromBER } from 'asn1js';
|
||||||
import { Buffer } from 'buffer';
|
import { Buffer } from 'buffer';
|
||||||
@@ -7,10 +8,6 @@ import { ethers } from 'ethers';
|
|||||||
import { sha384 } from 'js-sha512';
|
import { sha384 } from 'js-sha512';
|
||||||
import { Certificate } from 'pkijs';
|
import { Certificate } from 'pkijs';
|
||||||
|
|
||||||
import {
|
|
||||||
PCR0_MANAGER_ADDRESS,
|
|
||||||
RPC_URL,
|
|
||||||
} from '../../../../common/src/constants/constants';
|
|
||||||
import { AWS_ROOT_PEM } from './awsRootPem';
|
import { AWS_ROOT_PEM } from './awsRootPem';
|
||||||
import cose from './cose';
|
import cose from './cose';
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
import { LeanIMT } from '@openpassport/zk-kit-lean-imt';
|
import { LeanIMT } from '@openpassport/zk-kit-lean-imt';
|
||||||
import { SMT } from '@openpassport/zk-kit-smt';
|
import { SMT } from '@openpassport/zk-kit-smt';
|
||||||
import { poseidon2 } from 'poseidon-lite';
|
|
||||||
|
|
||||||
import nameAndDobSMTData from '../../../../common/ofacdata/outputs/nameAndDobSMT.json';
|
|
||||||
import nameAndYobSMTData from '../../../../common/ofacdata/outputs/nameAndYobSMT.json';
|
|
||||||
import passportNoAndNationalitySMTData from '../../../../common/ofacdata/outputs/passportNoAndNationalitySMT.json';
|
|
||||||
import {
|
import {
|
||||||
attributeToPosition,
|
attributeToPosition,
|
||||||
DEFAULT_MAJORITY,
|
DEFAULT_MAJORITY,
|
||||||
PASSPORT_ATTESTATION_ID,
|
PASSPORT_ATTESTATION_ID,
|
||||||
} from '../../../../common/src/constants/constants';
|
} from '@selfxyz/common';
|
||||||
import { SelfApp } from '../../../../common/src/utils/appType';
|
import { SelfApp } from '@selfxyz/common';
|
||||||
import { getCircuitNameFromPassportData } from '../../../../common/src/utils/circuits/circuitsName';
|
import { getCircuitNameFromPassportData } from '@selfxyz/common';
|
||||||
import {
|
import {
|
||||||
generateCircuitInputsDSC,
|
generateCircuitInputsDSC,
|
||||||
generateCircuitInputsRegister,
|
generateCircuitInputsRegister,
|
||||||
generateCircuitInputsVCandDisclose,
|
generateCircuitInputsVCandDisclose,
|
||||||
} from '../../../../common/src/utils/circuits/generateInputs';
|
} from '@selfxyz/common';
|
||||||
import { hashEndpointWithScope } from '../../../../common/src/utils/scope';
|
import { hashEndpointWithScope } from '@selfxyz/common';
|
||||||
import { PassportData } from '../../../../common/src/utils/types';
|
import { PassportData } from '@selfxyz/common';
|
||||||
|
import nameAndDobSMTData from '@selfxyz/common/ofacdata/outputs/nameAndDobSMT.json';
|
||||||
|
import nameAndYobSMTData from '@selfxyz/common/ofacdata/outputs/nameAndYobSMT.json';
|
||||||
|
import passportNoAndNationalitySMTData from '@selfxyz/common/ofacdata/outputs/passportNoAndNationalitySMT.json';
|
||||||
|
import { poseidon2 } from 'poseidon-lite';
|
||||||
|
|
||||||
import { useProtocolStore } from '../../stores/protocolStore';
|
import { useProtocolStore } from '../../stores/protocolStore';
|
||||||
|
|
||||||
export function generateTEEInputsRegister(
|
export function generateTEEInputsRegister(
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
|
import { WS_RPC_URL_VC_AND_DISCLOSE } from '@selfxyz/common';
|
||||||
|
import { EndpointType, SelfApp } from '@selfxyz/common';
|
||||||
|
import { getCircuitNameFromPassportData } from '@selfxyz/common';
|
||||||
|
import { PassportData } from '@selfxyz/common';
|
||||||
import forge from 'node-forge';
|
import forge from 'node-forge';
|
||||||
import io, { Socket } from 'socket.io-client';
|
import io, { Socket } from 'socket.io-client';
|
||||||
import { v4 } from 'uuid';
|
import { v4 } from 'uuid';
|
||||||
import { AnyActorRef, createActor, createMachine } from 'xstate';
|
import { AnyActorRef, createActor, createMachine } from 'xstate';
|
||||||
import { create } from 'zustand';
|
import { create } from 'zustand';
|
||||||
|
|
||||||
import { WS_RPC_URL_VC_AND_DISCLOSE } from '../../../../common/src/constants/constants';
|
|
||||||
import { EndpointType, SelfApp } from '../../../../common/src/utils/appType';
|
|
||||||
import { getCircuitNameFromPassportData } from '../../../../common/src/utils/circuits/circuitsName';
|
|
||||||
import { PassportData } from '../../../../common/src/utils/types';
|
|
||||||
import { navigationRef } from '../../navigation';
|
import { navigationRef } from '../../navigation';
|
||||||
import {
|
import {
|
||||||
clearPassportData,
|
clearPassportData,
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
|
import type { EndpointType } from '@selfxyz/common';
|
||||||
|
import {
|
||||||
|
initElliptic,
|
||||||
|
WS_DB_RELAYER,
|
||||||
|
WS_DB_RELAYER_STAGING,
|
||||||
|
} from '@selfxyz/common';
|
||||||
import forge from 'node-forge';
|
import forge from 'node-forge';
|
||||||
|
|
||||||
import { WS_DB_RELAYER_STAGING } from '../../../../common/src/constants/constants';
|
|
||||||
import { WS_DB_RELAYER } from '../../../../common/src/constants/constants';
|
|
||||||
import { EndpointType } from '../../../../common/src/utils/appType';
|
|
||||||
import { initElliptic } from '../../../../common/src/utils/certificate_parsing/elliptic';
|
|
||||||
|
|
||||||
const elliptic = initElliptic();
|
const elliptic = initElliptic();
|
||||||
const { ec: EC } = elliptic;
|
const { ec: EC } = elliptic;
|
||||||
export const ec = new EC('p256');
|
export const ec = new EC('p256');
|
||||||
|
|||||||
@@ -1,20 +1,18 @@
|
|||||||
import { LeanIMT } from '@openpassport/zk-kit-lean-imt';
|
import { LeanIMT } from '@openpassport/zk-kit-lean-imt';
|
||||||
import { poseidon2, poseidon5 } from 'poseidon-lite';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
API_URL,
|
API_URL,
|
||||||
PASSPORT_ATTESTATION_ID,
|
formatMrz,
|
||||||
} from '../../../../common/src/constants/constants';
|
|
||||||
import { parseCertificateSimple } from '../../../../common/src/utils/certificate_parsing/parseCertificateSimple';
|
|
||||||
import { getCircuitNameFromPassportData } from '../../../../common/src/utils/circuits/circuitsName';
|
|
||||||
import { hash, packBytesAndPoseidon } from '../../../../common/src/utils/hash';
|
|
||||||
import { formatMrz } from '../../../../common/src/utils/passports/format';
|
|
||||||
import {
|
|
||||||
generateCommitment,
|
generateCommitment,
|
||||||
generateNullifier,
|
generateNullifier,
|
||||||
} from '../../../../common/src/utils/passports/passport';
|
getCircuitNameFromPassportData,
|
||||||
import { getLeafDscTree } from '../../../../common/src/utils/trees';
|
getLeafDscTree,
|
||||||
import { PassportData } from '../../../../common/src/utils/types';
|
Hash,
|
||||||
|
parseCertificateSimple,
|
||||||
|
PASSPORT_ATTESTATION_ID,
|
||||||
|
type PassportData,
|
||||||
|
} from '@selfxyz/common';
|
||||||
|
import { poseidon2, poseidon5 } from 'poseidon-lite';
|
||||||
|
|
||||||
import { useProtocolStore } from '../../stores/protocolStore';
|
import { useProtocolStore } from '../../stores/protocolStore';
|
||||||
|
|
||||||
export type PassportSupportStatus =
|
export type PassportSupportStatus =
|
||||||
@@ -163,15 +161,19 @@ export function generateCommitmentInApp(
|
|||||||
passportData: PassportData,
|
passportData: PassportData,
|
||||||
alternativeCSCA: Record<string, string>,
|
alternativeCSCA: Record<string, string>,
|
||||||
) {
|
) {
|
||||||
const dg1_packed_hash = packBytesAndPoseidon(formatMrz(passportData.mrz));
|
const dg1_packed_hash = Hash.packBytesAndPoseidon(
|
||||||
const eContent_packed_hash = packBytesAndPoseidon(
|
formatMrz(passportData.mrz),
|
||||||
|
);
|
||||||
|
const eContent_packed_hash = Hash.packBytesAndPoseidon(
|
||||||
(
|
(
|
||||||
hash(
|
Hash.hash(
|
||||||
passportData.passportMetadata!.eContentHashFunction,
|
passportData.passportMetadata!.eContentHashFunction,
|
||||||
Array.from(passportData.eContent),
|
Array.from(passportData.eContent),
|
||||||
'bytes',
|
'bytes',
|
||||||
) as number[]
|
) as number[]
|
||||||
).map(byte => byte & 0xff),
|
)
|
||||||
|
// eslint-disable-next-line no-bitwise
|
||||||
|
.map(byte => byte & 0xff),
|
||||||
);
|
);
|
||||||
|
|
||||||
const csca_list: string[] = [];
|
const csca_list: string[] = [];
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"extends": "@react-native/typescript-config/tsconfig.json",
|
"extends": "@react-native/typescript-config/tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"lib": ["dom", "esnext"],
|
"lib": ["dom", "esnext"],
|
||||||
"typeRoots": ["./src/types", "./node_modules/@types"],
|
"resolveJsonModule": true,
|
||||||
"types": ["react-native", "jest"]
|
"esModuleInterop": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
17
circuits/.prettierignore
Normal file
17
circuits/.prettierignore
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# directories
|
||||||
|
broadcast
|
||||||
|
cache
|
||||||
|
coverage
|
||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
|
||||||
|
# files
|
||||||
|
*.env
|
||||||
|
*.log
|
||||||
|
.DS_Store
|
||||||
|
.pnp.*
|
||||||
|
bun.lockb
|
||||||
|
lcov.info
|
||||||
|
package-lock.json
|
||||||
|
pnpm-lock.yaml
|
||||||
|
yarn.lock
|
||||||
@@ -53,16 +53,23 @@ OpenPassport currently supports the following sig/hash algorithms:
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Go to the `/circuits` directory and run `yarn install`
|
you can do a focused install with
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd circuits && yarn install && cd ..
|
|
||||||
|
yarn workspace @selfxyz/circuits focus
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Go to the `/common` directory and run `yarn install`
|
or you can run `yarn install` (it has the same affect whether ran in workspace root or circuits folder)
|
||||||
|
|
||||||
|
## Build TS Dependencies
|
||||||
|
|
||||||
|
from circuits directory run
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd common && yarn install && cd ..
|
yarn build:deps
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Build circuits (dev only)
|
## Build circuits (dev only)
|
||||||
@@ -71,7 +78,7 @@ cd common && yarn install && cd ..
|
|||||||
./scripts/build_circuits.sh
|
./scripts/build_circuits.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run tests
|
## Run tests ()
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
yarn test
|
yarn test
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
{
|
{
|
||||||
"name": "circom-passport",
|
"name": "@selfxyz/circuits",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"author": "",
|
"private": true,
|
||||||
|
"author": "self team",
|
||||||
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"build": "tsc",
|
||||||
|
"build:deps": "yarn workspaces foreach --from @selfxyz/circuits --topological-dev --recursive run build",
|
||||||
"build-all": "bash scripts/build/build_register_circuits.sh && bash scripts/build/build_register_circuits_id.sh && bash scripts/build/build_dsc_circuits.sh && bash scripts/build/build_disclose_circuits.sh",
|
"build-all": "bash scripts/build/build_register_circuits.sh && bash scripts/build/build_register_circuits_id.sh && bash scripts/build/build_dsc_circuits.sh && bash scripts/build/build_disclose_circuits.sh",
|
||||||
"build-disclose": "bash scripts/build/build_disclose_circuits.sh",
|
"build-disclose": "bash scripts/build/build_disclose_circuits.sh",
|
||||||
"build-dsc": "bash scripts/build/build_dsc_circuits.sh",
|
"build-dsc": "bash scripts/build/build_dsc_circuits.sh",
|
||||||
@@ -12,22 +16,24 @@
|
|||||||
"download": "bash scripts/server/download_circuits_from_AWS.sh",
|
"download": "bash scripts/server/download_circuits_from_AWS.sh",
|
||||||
"format": "prettier --write .",
|
"format": "prettier --write .",
|
||||||
"nice": "prettier --write .",
|
"nice": "prettier --write .",
|
||||||
"install-circuits": "cd ../common && yarn && cd ../circuits && yarn",
|
"install-circuits": "yarn workspaces focus @selfxyz/circuits",
|
||||||
"lint": "prettier --check .",
|
"lint": "prettier --check .",
|
||||||
"test": "yarn ts-mocha --max-old-space-size=8192 'tests/**/*.test.ts' 'tests/*.test.ts' --exit",
|
"test": "yarn test-base 'tests/**/*.test.ts' --exit",
|
||||||
"test-custom-hasher": "yarn ts-mocha --max-old-space-size=8192 'tests/other_circuits/custom_hasher.test.ts' --exit",
|
"test-base": "NODE_OPTIONS='--loader ts-node/esm' yarn ts-mocha --max-old-space-size=8192",
|
||||||
"test-disclose": "yarn ts-mocha --max-old-space-size=8192 'tests/disclose/vc_and_disclose.test.ts' --exit",
|
"test-custom-hasher": "yarn test-base 'tests/other_circuits/custom_hasher.test.ts' --exit",
|
||||||
"test-disclose-id": "yarn ts-mocha --max-old-space-size=8192 'tests/disclose/vc_and_disclose_id.test.ts' --exit",
|
"test-disclose": "yarn test-base 'tests/disclose/vc_and_disclose.test.ts' --exit",
|
||||||
"test-dsc": "yarn ts-mocha --max-old-space-size=51200 'tests/dsc/dsc.test.ts' --exit",
|
"test-disclose-id": "yarn test-base 'tests/disclose/vc_and_disclose_id.test.ts' --exit",
|
||||||
"test-ecdsa": "yarn ts-mocha --max-old-space-size=8192 'tests/utils/ecdsa.test.ts' --exit",
|
"test-dsc": "yarn test-base --max-old-space-size=51200 'tests/dsc/dsc.test.ts' --exit",
|
||||||
"test-is-older-than": "yarn ts-mocha --max-old-space-size=8192 'tests/other_circuits/is_older_than.test.ts' --exit",
|
"test-ecdsa": "yarn test-base 'tests/utils/ecdsa.test.ts' --exit",
|
||||||
"test-is-valid": "yarn ts-mocha --max-old-space-size=8192 'tests/other_circuits/is_valid.test.ts' --exit",
|
"test-is-older-than": "yarn test-base 'tests/other_circuits/is_older_than.test.ts' --exit",
|
||||||
"test-not-in-list": "yarn ts-mocha --max-old-space-size=8192 'tests/other_circuits/prove_country_is_not_in_list.test.ts' --exit",
|
"test-is-valid": "yarn test-base 'tests/other_circuits/is_valid.test.ts' --exit",
|
||||||
"test-ofac": "yarn ts-mocha --max-old-space-size=8192 'tests/ofac/ofac.test.ts' --exit",
|
"test-not-in-list": "yarn test-base 'tests/other_circuits/prove_country_is_not_in_list.test.ts' --exit",
|
||||||
"test-register": "yarn ts-mocha --max-old-space-size=40960 'tests/register/register.test.ts' --exit",
|
"test-ofac": "yarn test-base 'tests/ofac/ofac.test.ts' --exit",
|
||||||
"test-register-id": "yarn ts-mocha --max-old-space-size=40960 'tests/register_id/register_id.test.ts' --exit",
|
"test-register": "yarn test-base --max-old-space-size=40960 'tests/register/register.test.ts' --exit",
|
||||||
"test-rsa": "yarn ts-mocha --max-old-space-size=8192 'tests/utils/rsaPkcs1v1_5.test.ts' --exit",
|
"test-register-id": "yarn test-base --max-old-space-size=40960 'tests/register_id/register_id.test.ts' --exit",
|
||||||
"test-rsa-pss": "yarn ts-mocha --max-old-space-size=8192 'tests/utils/rsapss.test.ts' --exit"
|
"test-rsa": "yarn test-base 'tests/utils/rsaPkcs1v1_5.test.ts' --exit",
|
||||||
|
"test-rsa-pss": "yarn test-base 'tests/utils/rsapss.test.ts' --exit",
|
||||||
|
"types": "yarn build --noEmit"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@noble/curves": "^1.4.2",
|
"@noble/curves": "^1.4.2",
|
||||||
@@ -35,6 +41,7 @@
|
|||||||
"@openpassport/zk-kit-imt": "^0.0.4",
|
"@openpassport/zk-kit-imt": "^0.0.4",
|
||||||
"@openpassport/zk-kit-lean-imt": "^0.0.4",
|
"@openpassport/zk-kit-lean-imt": "^0.0.4",
|
||||||
"@openpassport/zk-kit-smt": "^0.0.1",
|
"@openpassport/zk-kit-smt": "^0.0.1",
|
||||||
|
"@selfxyz/common": "workspace:^",
|
||||||
"@types/chai-as-promised": "^7.1.6",
|
"@types/chai-as-promised": "^7.1.6",
|
||||||
"@types/node": "^20.11.19",
|
"@types/node": "^20.11.19",
|
||||||
"@types/node-forge": "^1.3.5",
|
"@types/node-forge": "^1.3.5",
|
||||||
|
|||||||
@@ -6,22 +6,19 @@ import crypto from 'crypto';
|
|||||||
import { describe } from 'mocha';
|
import { describe } from 'mocha';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { poseidon1, poseidon2 } from 'poseidon-lite';
|
import { poseidon1, poseidon2 } from 'poseidon-lite';
|
||||||
import nameAndDobjson from '../../../common/ofacdata/outputs/nameAndDobSMT.json';
|
import nameAndDobjson from '@selfxyz/common/ofacdata/outputs/nameAndDobSMT.json' with { type: 'json' };
|
||||||
import nameAndYobjson from '../../../common/ofacdata/outputs/nameAndYobSMT.json';
|
import nameAndYobjson from '@selfxyz/common/ofacdata/outputs/nameAndYobSMT.json' with { type: 'json' };
|
||||||
import passportNojson from '../../../common/ofacdata/outputs/passportNoAndNationalitySMT.json';
|
import passportNojson from '@selfxyz/common/ofacdata/outputs/passportNoAndNationalitySMT.json' with { type: 'json' };
|
||||||
import {
|
import { attributeToPosition, PASSPORT_ATTESTATION_ID } from '@selfxyz/common/constants/constants';
|
||||||
attributeToPosition,
|
|
||||||
PASSPORT_ATTESTATION_ID,
|
|
||||||
} from '../../../common/src/constants/constants';
|
|
||||||
import {
|
import {
|
||||||
formatAndUnpackForbiddenCountriesList,
|
formatAndUnpackForbiddenCountriesList,
|
||||||
formatAndUnpackReveal,
|
formatAndUnpackReveal,
|
||||||
getAttributeFromUnpackedReveal,
|
getAttributeFromUnpackedReveal,
|
||||||
} from '../../../common/src/utils/circuits/formatOutputs';
|
} from '@selfxyz/common/utils/circuits/formatOutputs';
|
||||||
import { generateCircuitInputsVCandDisclose } from '../../../common/src/utils/circuits/generateInputs';
|
import { generateCircuitInputsVCandDisclose } from '@selfxyz/common/utils/circuits/generateInputs';
|
||||||
import { genAndInitMockPassportData } from '../../../common/src/utils/passports/genMockPassportData';
|
import { genAndInitMockPassportData } from '@selfxyz/common/utils/passports/genMockPassportData';
|
||||||
import { generateCommitment } from '../../../common/src/utils/passports/passport';
|
import { generateCommitment } from '@selfxyz/common/utils/passports/passport';
|
||||||
import { hashEndpointWithScope } from '../../../common/src/utils/scope';
|
import { hashEndpointWithScope } from '@selfxyz/common/utils/scope';
|
||||||
|
|
||||||
describe('Disclose', function () {
|
describe('Disclose', function () {
|
||||||
this.timeout(0);
|
this.timeout(0);
|
||||||
|
|||||||
@@ -5,23 +5,23 @@ import { wasm as wasm_tester } from 'circom_tester';
|
|||||||
import {
|
import {
|
||||||
attributeToPosition_ID,
|
attributeToPosition_ID,
|
||||||
ID_CARD_ATTESTATION_ID,
|
ID_CARD_ATTESTATION_ID,
|
||||||
} from '../../../common/src/constants/constants';
|
} from '@selfxyz/common/constants/constants';
|
||||||
import { poseidon1, poseidon2 } from 'poseidon-lite';
|
import { poseidon1, poseidon2 } from 'poseidon-lite';
|
||||||
import { LeanIMT } from '@openpassport/zk-kit-lean-imt';
|
import { LeanIMT } from '@openpassport/zk-kit-lean-imt';
|
||||||
import { generateCircuitInputsVCandDisclose } from '../../../common/src/utils/circuits/generateInputs';
|
import { generateCircuitInputsVCandDisclose } from '@selfxyz/common/utils/circuits/generateInputs';
|
||||||
import crypto from 'crypto';
|
import crypto from 'crypto';
|
||||||
import { SMT } from '@openpassport/zk-kit-smt';
|
import { SMT } from '@openpassport/zk-kit-smt';
|
||||||
import nameAndDobjson from '../../../common/ofacdata/outputs/nameAndDobSMT_ID.json';
|
import nameAndDobjson from '@selfxyz/common/ofacdata/outputs/nameAndDobSMT_ID.json' with { type: 'json' };
|
||||||
import nameAndYobjson from '../../../common/ofacdata/outputs/nameAndYobSMT_ID.json';
|
import nameAndYobjson from '@selfxyz/common/ofacdata/outputs/nameAndYobSMT_ID.json' with { type: 'json' };
|
||||||
import passportNojson from '../../../common/ofacdata/outputs/passportNoAndNationalitySMT.json';
|
import passportNojson from '@selfxyz/common/ofacdata/outputs/passportNoAndNationalitySMT.json' with { type: 'json' };
|
||||||
import {
|
import {
|
||||||
formatAndUnpackForbiddenCountriesList,
|
formatAndUnpackForbiddenCountriesList,
|
||||||
formatAndUnpackReveal,
|
formatAndUnpackReveal,
|
||||||
getAttributeFromUnpackedReveal,
|
getAttributeFromUnpackedReveal,
|
||||||
} from '../../../common/src/utils/circuits/formatOutputs';
|
} from '@selfxyz/common/utils/circuits/formatOutputs';
|
||||||
import { generateCommitment } from '../../../common/src/utils/passports/passport';
|
import { generateCommitment } from '@selfxyz/common/utils/passports/passport';
|
||||||
import { hashEndpointWithScope } from '../../../common/src/utils/scope';
|
import { hashEndpointWithScope } from '@selfxyz/common/utils/scope';
|
||||||
import { genMockIdDoc } from '../../../common/src/utils/passports/genMockIdDoc';
|
import { genMockIdDoc } from '@selfxyz/common/utils/passports/genMockIdDoc';
|
||||||
|
|
||||||
describe('Disclose', function () {
|
describe('Disclose', function () {
|
||||||
this.timeout(0);
|
this.timeout(0);
|
||||||
|
|||||||
@@ -2,15 +2,15 @@ import { expect } from 'chai';
|
|||||||
import { wasm as wasm_tester } from 'circom_tester';
|
import { wasm as wasm_tester } from 'circom_tester';
|
||||||
import dotenv from 'dotenv';
|
import dotenv from 'dotenv';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import serialized_csca_tree from '../../../common/pubkeys/serialized_csca_tree.json';
|
import serialized_csca_tree from '../../../common/pubkeys/serialized_csca_tree.json' with { type: 'json' };
|
||||||
import { parseCertificateSimple } from '../../../common/src/utils/certificate_parsing/parseCertificateSimple';
|
import { parseCertificateSimple } from '@selfxyz/common/utils/certificate_parsing/parseCertificateSimple';
|
||||||
import { getCircuitNameFromPassportData } from '../../../common/src/utils/circuits/circuitsName';
|
import { getCircuitNameFromPassportData } from '@selfxyz/common/utils/circuits/circuitsName';
|
||||||
import { generateCircuitInputsDSC } from '../../../common/src/utils/circuits/generateInputs';
|
import { generateCircuitInputsDSC } from '@selfxyz/common/utils/circuits/generateInputs';
|
||||||
import { genAndInitMockPassportData } from '../../../common/src/utils/passports/genMockPassportData';
|
import { genAndInitMockPassportData } from '@selfxyz/common/utils/passports/genMockPassportData';
|
||||||
import { parseDscCertificateData } from '../../../common/src/utils/passports/passport_parsing/parseDscCertificateData';
|
import { parseDscCertificateData } from '@selfxyz/common/utils/passports/passport_parsing/parseDscCertificateData';
|
||||||
import { getLeafDscTreeFromParsedDsc } from '../../../common/src/utils/trees';
|
import { getLeafDscTreeFromParsedDsc } from '@selfxyz/common/utils/trees';
|
||||||
import { SignatureAlgorithm } from '../../../common/src/utils/types';
|
import { SignatureAlgorithm } from '@selfxyz/common/utils/types';
|
||||||
import { fullSigAlgs, sigAlgs } from './test_cases';
|
import { fullSigAlgs, sigAlgs } from './test_cases.js';
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
const testSuite = process.env.FULL_TEST_SUITE === 'true' ? fullSigAlgs : sigAlgs;
|
const testSuite = process.env.FULL_TEST_SUITE === 'true' ? fullSigAlgs : sigAlgs;
|
||||||
@@ -26,7 +26,7 @@ testSuite.forEach(({ sigAlg, hashFunction, domainParameter, keyLength }) => {
|
|||||||
);
|
);
|
||||||
const passportMetadata = passportData.passportMetadata;
|
const passportMetadata = passportData.passportMetadata;
|
||||||
|
|
||||||
describe(`DSC chain certificate - ${passportMetadata.cscaHashFunction.toUpperCase()} ${passportMetadata.cscaSignatureAlgorithm.toUpperCase()} ${passportMetadata.cscaCurveOrExponent.toUpperCase()} ${
|
describe(`DSC chain certificate - ${passportMetadata.cscaHashFunction?.toUpperCase()} ${passportMetadata.cscaSignatureAlgorithm?.toUpperCase()} ${passportMetadata.cscaCurveOrExponent?.toUpperCase()} ${
|
||||||
passportData.csca_parsed.publicKeyDetails.bits
|
passportData.csca_parsed.publicKeyDetails.bits
|
||||||
}`, function () {
|
}`, function () {
|
||||||
this.timeout(0); // Disable timeout
|
this.timeout(0); // Disable timeout
|
||||||
|
|||||||
@@ -3,14 +3,14 @@ import { expect } from 'chai';
|
|||||||
import { wasm as wasm_tester } from 'circom_tester';
|
import { wasm as wasm_tester } from 'circom_tester';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { poseidon2 } from 'poseidon-lite';
|
import { poseidon2 } from 'poseidon-lite';
|
||||||
import nameAndDobjson from '../../../common/ofacdata/outputs/nameAndDobSMT.json';
|
import nameAndDobjson from '@selfxyz/common/ofacdata/outputs/nameAndDobSMT.json' with { type: 'json' };
|
||||||
import nameAndYobjson from '../../../common/ofacdata/outputs/nameAndYobSMT.json';
|
import nameAndYobjson from '@selfxyz/common/ofacdata/outputs/nameAndYobSMT.json' with { type: 'json' };
|
||||||
import nameAndDobIdCardJson from '../../../common/ofacdata/outputs/nameAndDobSMT_ID.json';
|
import nameAndDobIdCardJson from '@selfxyz/common/ofacdata/outputs/nameAndDobSMT_ID.json' with { type: 'json' };
|
||||||
import nameAndYobIdCardJson from '../../../common/ofacdata/outputs/nameAndYobSMT_ID.json';
|
import nameAndYobIdCardJson from '@selfxyz/common/ofacdata/outputs/nameAndYobSMT_ID.json' with { type: 'json' };
|
||||||
import { genMockIdDoc } from '../../../common/src/utils/passports/genMockIdDoc';
|
import { genMockIdDoc } from '@selfxyz/common/utils/passports/genMockIdDoc';
|
||||||
import passportNoAndNationalityjson from '../../../common/ofacdata/outputs/passportNoAndNationalitySMT.json';
|
import passportNoAndNationalityjson from '@selfxyz/common/ofacdata/outputs/passportNoAndNationalitySMT.json' with { type: 'json' };
|
||||||
import { generateCircuitInputsOfac } from '../../../common/src/utils/circuits/generateInputs';
|
import { generateCircuitInputsOfac } from '@selfxyz/common/utils/circuits/generateInputs';
|
||||||
import { genAndInitMockPassportData } from '../../../common/src/utils/passports/genMockPassportData';
|
import { genAndInitMockPassportData } from '@selfxyz/common/utils/passports/genMockPassportData';
|
||||||
|
|
||||||
let circuit: any;
|
let circuit: any;
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { wasm as wasm_tester } from 'circom_tester';
|
import { wasm as wasm_tester } from 'circom_tester';
|
||||||
import { formatInput } from '../../../common/src/utils/circuits/generateInputs';
|
import { formatInput } from '@selfxyz/common/utils/circuits/generateInputs';
|
||||||
import { customHasher, packBytesAndPoseidon } from '../../../common/src/utils/hash';
|
import { customHasher, packBytesAndPoseidon } from '@selfxyz/common/utils/hash';
|
||||||
|
|
||||||
describe('CustomHasher', function () {
|
describe('CustomHasher', function () {
|
||||||
this.timeout(0);
|
this.timeout(0);
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { wasm as wasm_tester } from 'circom_tester';
|
import { wasm as wasm_tester } from 'circom_tester';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { formatCountriesList } from '../../../common/src/utils/circuits/formatInputs';
|
import { formatCountriesList } from '@selfxyz/common/utils/circuits/formatInputs';
|
||||||
import { formatAndUnpackForbiddenCountriesList } from '../../../common/src/utils/circuits/formatOutputs';
|
import { formatAndUnpackForbiddenCountriesList } from '@selfxyz/common/utils/circuits/formatOutputs';
|
||||||
import { formatInput } from '../../../common/src/utils/circuits/generateInputs';
|
import { formatInput } from '@selfxyz/common/utils/circuits/generateInputs';
|
||||||
import { formatMrz } from '../../../common/src/utils/passports/format';
|
import { formatMrz } from '@selfxyz/common/utils/passports/format';
|
||||||
import { genAndInitMockPassportData } from '../../../common/src/utils/passports/genMockPassportData';
|
import { genAndInitMockPassportData } from '@selfxyz/common/utils/passports/genMockPassportData';
|
||||||
|
|
||||||
describe('ProveCountryIsNotInList', function () {
|
describe('ProveCountryIsNotInList', function () {
|
||||||
this.timeout(0);
|
this.timeout(0);
|
||||||
|
|||||||
@@ -4,18 +4,15 @@ import dotenv from 'dotenv';
|
|||||||
import { describe } from 'mocha';
|
import { describe } from 'mocha';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { poseidon6 } from 'poseidon-lite';
|
import { poseidon6 } from 'poseidon-lite';
|
||||||
import serialized_dsc_tree from '../../../common/pubkeys/serialized_dsc_tree.json';
|
import serialized_dsc_tree from '@selfxyz/common/pubkeys/serialized_dsc_tree.json' with { type: 'json' };
|
||||||
import { PASSPORT_ATTESTATION_ID } from '../../../common/src/constants/constants';
|
import { PASSPORT_ATTESTATION_ID } from '@selfxyz/common/constants/constants';
|
||||||
import { parseCertificateSimple } from '../../../common/src/utils/certificate_parsing/parseCertificateSimple';
|
import { parseCertificateSimple } from '@selfxyz/common/utils/certificate_parsing/parseCertificateSimple';
|
||||||
import { getCircuitNameFromPassportData } from '../../../common/src/utils/circuits/circuitsName';
|
import { getCircuitNameFromPassportData } from '@selfxyz/common/utils/circuits/circuitsName';
|
||||||
import { generateCircuitInputsRegister } from '../../../common/src/utils/circuits/generateInputs';
|
import { generateCircuitInputsRegister } from '@selfxyz/common/utils/circuits/generateInputs';
|
||||||
import { genAndInitMockPassportData } from '../../../common/src/utils/passports/genMockPassportData';
|
import { genAndInitMockPassportData } from '@selfxyz/common/utils/passports/genMockPassportData';
|
||||||
import {
|
import { generateCommitment, generateNullifier } from '@selfxyz/common/utils/passports/passport';
|
||||||
generateCommitment,
|
import { SignatureAlgorithm } from '@selfxyz/common/utils/types';
|
||||||
generateNullifier,
|
import { fullSigAlgs, sigAlgs } from './test_cases.js';
|
||||||
} from '../../../common/src/utils/passports/passport';
|
|
||||||
import { SignatureAlgorithm } from '../../../common/src/utils/types';
|
|
||||||
import { fullSigAlgs, sigAlgs } from './test_cases';
|
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
const testSuite = process.env.FULL_TEST_SUITE === 'true' ? fullSigAlgs : sigAlgs;
|
const testSuite = process.env.FULL_TEST_SUITE === 'true' ? fullSigAlgs : sigAlgs;
|
||||||
|
|||||||
@@ -3,20 +3,16 @@ import { describe } from 'mocha';
|
|||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { wasm as wasm_tester } from 'circom_tester';
|
import { wasm as wasm_tester } from 'circom_tester';
|
||||||
import { generateCircuitInputsRegister } from '../../../common/src/utils/circuits/generateInputs';
|
import { generateCircuitInputsRegister } from '@selfxyz/common/utils/circuits/generateInputs';
|
||||||
import { genMockPassportData } from '../../../common/src/utils/passports/genMockPassportData';
|
import { SignatureAlgorithm } from '@selfxyz/common/utils/types';
|
||||||
import { SignatureAlgorithm } from '../../../common/src/utils/types';
|
import { getCircuitNameFromPassportData } from '@selfxyz/common/utils/circuits/circuitsName';
|
||||||
import { getCircuitNameFromPassportData } from '../../../common/src/utils/circuits/circuitsName';
|
import { sigAlgs, fullSigAlgs } from './test_cases.js';
|
||||||
import { sigAlgs, fullSigAlgs } from './test_cases';
|
import { generateCommitment, generateNullifier } from '@selfxyz/common/utils/passports/passport';
|
||||||
import {
|
|
||||||
generateCommitment,
|
|
||||||
generateNullifier,
|
|
||||||
} from '../../../common/src/utils/passports/passport';
|
|
||||||
import { poseidon6 } from 'poseidon-lite';
|
import { poseidon6 } from 'poseidon-lite';
|
||||||
import { hashAlgosTypes, ID_CARD_ATTESTATION_ID } from '../../../common/src/constants/constants';
|
import { hashAlgosTypes, ID_CARD_ATTESTATION_ID } from '@selfxyz/common/constants/constants';
|
||||||
import { parseCertificateSimple } from '../../../common/src/utils/certificate_parsing/parseCertificateSimple';
|
import { parseCertificateSimple } from '@selfxyz/common/utils/certificate_parsing/parseCertificateSimple';
|
||||||
import serialized_dsc_tree from '../../../common/pubkeys/serialized_dsc_tree.json';
|
import serialized_dsc_tree from '../../../common/pubkeys/serialized_dsc_tree.json' with { type: 'json' };
|
||||||
import { genMockIdDoc } from '../../../common/src/utils/passports/genMockIdDoc';
|
import { genMockIdDoc } from '@selfxyz/common/utils/passports/genMockIdDoc';
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
const testSuite = process.env.FULL_TEST_SUITE === 'true' ? fullSigAlgs : sigAlgs;
|
const testSuite = process.env.FULL_TEST_SUITE === 'true' ? fullSigAlgs : sigAlgs;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { wasm as wasmTester } from 'circom_tester';
|
import { wasm as wasmTester } from 'circom_tester';
|
||||||
import * as crypto from 'crypto';
|
import * as crypto from 'crypto';
|
||||||
import { initElliptic } from '../../../common/src/utils/certificate_parsing/elliptic';
|
import { initElliptic } from '@selfxyz/common/utils/certificate_parsing/elliptic';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import { splitToWords } from '../../../common/src/utils/bytes';
|
import { splitToWords } from '@selfxyz/common/utils/bytes';
|
||||||
|
|
||||||
const elliptic = initElliptic();
|
const elliptic = initElliptic();
|
||||||
const testSuite = [
|
const testSuite = [
|
||||||
@@ -267,8 +267,8 @@ function sign(message: Uint8Array, curve: string, hash: string, n: number, k: nu
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
signature: [
|
signature: [
|
||||||
...splitToWords(BigInt(signature.r), k, n),
|
...splitToWords(BigInt(signature.r.toString()), k, n),
|
||||||
...splitToWords(BigInt(signature.s), k, n),
|
...splitToWords(BigInt(signature.s.toString()), k, n),
|
||||||
],
|
],
|
||||||
pubKey: [
|
pubKey: [
|
||||||
splitToWords(BigInt(pubkey.getX().toString()), k, n),
|
splitToWords(BigInt(pubkey.getX().toString()), k, n),
|
||||||
@@ -299,13 +299,13 @@ function signOverflow(
|
|||||||
hashParsed.push(...x.toString(2).padStart(8, '0').split(''))
|
hashParsed.push(...x.toString(2).padStart(8, '0').split(''))
|
||||||
);
|
);
|
||||||
|
|
||||||
let r = BigInt(signature.r);
|
let r = BigInt(signature.r.toString(10));
|
||||||
let s = BigInt(signature.s);
|
let s = BigInt(signature.s.toString(10));
|
||||||
|
|
||||||
if (overflowS) {
|
if (overflowS) {
|
||||||
s = s + BigInt(ec.n);
|
s = s + BigInt(ec.n.toString());
|
||||||
} else {
|
} else {
|
||||||
r = r + BigInt(ec.n);
|
r = r + BigInt(ec.n.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import crypto from 'crypto';
|
import crypto from 'crypto';
|
||||||
|
|
||||||
import { SignatureAlgorithm } from '../../../common/src/utils/types';
|
import { SignatureAlgorithm } from '@selfxyz/common/utils/types';
|
||||||
import { hexToDecimal, splitToWords } from '../../../common/src/utils/bytes';
|
import { hexToDecimal, splitToWords } from '@selfxyz/common/utils/bytes';
|
||||||
import { bytesToBigDecimal } from '../../../common/src/utils/bytes';
|
import { bytesToBigDecimal } from '@selfxyz/common/utils/bytes';
|
||||||
import { getNAndK } from '../../../common/src/utils/passports/passport';
|
import { getNAndK } from '@selfxyz/common/utils/passports/passport';
|
||||||
|
|
||||||
export const generateMockRsaPkcs1v1_5Inputs = (signatureAlgorithm: SignatureAlgorithm) => {
|
export const generateMockRsaPkcs1v1_5Inputs = (signatureAlgorithm: SignatureAlgorithm) => {
|
||||||
let privateKey: string;
|
let privateKey: string;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import * as forge from 'node-forge';
|
import * as forge from 'node-forge';
|
||||||
|
|
||||||
import { SignatureAlgorithm } from '../../../common/src/utils/types';
|
import { SignatureAlgorithm } from '@selfxyz/common/utils/types';
|
||||||
import { hexToDecimal } from '../../../common/src/utils/bytes';
|
import { hexToDecimal } from '@selfxyz/common/utils/bytes';
|
||||||
import { bytesToBigDecimal } from '../../../common/src/utils/bytes';
|
import { bytesToBigDecimal } from '@selfxyz/common/utils/bytes';
|
||||||
import { getNAndK } from '../../../common/src/utils/passports/passport';
|
import { getNAndK } from '@selfxyz/common/utils/passports/passport';
|
||||||
import { splitToWords } from '../../../common/src/utils/bytes';
|
import { splitToWords } from '@selfxyz/common/utils/bytes';
|
||||||
|
|
||||||
export const generateMockRsaPssInputs = (
|
export const generateMockRsaPssInputs = (
|
||||||
signatureAlgorithm: SignatureAlgorithm,
|
signatureAlgorithm: SignatureAlgorithm,
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { wasm as wasmTester } from 'circom_tester';
|
import { wasm as wasmTester } from 'circom_tester';
|
||||||
import { describe, it } from 'mocha';
|
import { describe, it } from 'mocha';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { generateMockRsaPkcs1v1_5Inputs } from './generateMockInputsInCircuits';
|
import { generateMockRsaPkcs1v1_5Inputs } from './generateMockInputsInCircuits.js';
|
||||||
import { SignatureAlgorithm } from '../../../common/src/utils/types';
|
import { SignatureAlgorithm } from '@selfxyz/common/utils/types';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
describe('VerifyRsaPkcs1v1_5 Circuit Test', function () {
|
describe('VerifyRsaPkcs1v1_5 Circuit Test', function () {
|
||||||
this.timeout(0);
|
this.timeout(0);
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ import path from 'path';
|
|||||||
import {
|
import {
|
||||||
generateMalleableRsaPssInputs,
|
generateMalleableRsaPssInputs,
|
||||||
generateMockRsaPssInputs,
|
generateMockRsaPssInputs,
|
||||||
} from './generateMockInputsRsaPss';
|
} from './generateMockInputsRsaPss.js';
|
||||||
import { expect } from 'chai';
|
import { expect } from 'chai';
|
||||||
import { fullAlgorithms, sigAlgs, AdditionalCases } from './testcase/rsapss';
|
import { fullAlgorithms, sigAlgs, AdditionalCases } from './testcase/rsapss.js';
|
||||||
|
|
||||||
describe('VerifyRsapss Circuit Test', function () {
|
describe('VerifyRsapss Circuit Test', function () {
|
||||||
this.timeout(0);
|
this.timeout(0);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { SignatureAlgorithm } from '../../../../common/src/utils/types';
|
import { SignatureAlgorithm } from '@selfxyz/common/utils/types';
|
||||||
|
|
||||||
export const fullAlgorithms: { algo: SignatureAlgorithm; saltLength: number }[] = [
|
export const fullAlgorithms: { algo: SignatureAlgorithm; saltLength: number }[] = [
|
||||||
{ algo: 'rsapss_sha256_65537_4096', saltLength: 32 },
|
{ algo: 'rsapss_sha256_65537_4096', saltLength: 32 },
|
||||||
|
|||||||
@@ -2,9 +2,10 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
"target": "ES2020",
|
"target": "ES2020",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node16",
|
||||||
"module": "CommonJS",
|
"module": "node18",
|
||||||
"allowJs": true,
|
"allowJs": true,
|
||||||
"checkJs": false,
|
"checkJs": false,
|
||||||
"outDir": "./dist"
|
"outDir": "./dist"
|
||||||
|
|||||||
4646
circuits/yarn.lock
4646
circuits/yarn.lock
File diff suppressed because it is too large
Load Diff
3
common/.prettierignore
Normal file
3
common/.prettierignore
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
dist
|
||||||
|
*.json
|
||||||
|
src/constants/skiPem.ts
|
||||||
@@ -1,16 +1,54 @@
|
|||||||
{
|
{
|
||||||
"name": "openpassport-common",
|
"name": "@selfxyz/common",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
|
"description": "Constants and utils for self sdks",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"author": "",
|
"author": "@Selfxyz Team",
|
||||||
|
"type": "module",
|
||||||
|
"main": "./dist/cjs/index.js",
|
||||||
|
"module": "./dist/esm/index.js",
|
||||||
|
"types": "./dist/esm/index.d.ts",
|
||||||
|
"exports": {
|
||||||
|
".": {
|
||||||
|
"import": "./dist/esm/index.js",
|
||||||
|
"require": "./dist/cjs/index.js",
|
||||||
|
"types": "./dist/esm/index.d.ts"
|
||||||
|
},
|
||||||
|
"./constants/*": {
|
||||||
|
"import": "./dist/esm/constants/*.js",
|
||||||
|
"require": "./dist/cjs/constants/*.js",
|
||||||
|
"types": "./dist/esm/constants/*.d.ts"
|
||||||
|
},
|
||||||
|
"./utils/*": {
|
||||||
|
"import": "./dist/esm/utils/*.js",
|
||||||
|
"require": "./dist/cjs/utils/*.js",
|
||||||
|
"types": "./dist/esm/utils/*.d.ts"
|
||||||
|
},
|
||||||
|
"./ofacdata/outputs/nameAndDobSMT.json": "./ofacdata/outputs/nameAndDobSMT.json",
|
||||||
|
"./ofacdata/outputs/nameAndYobSMT.json": "./ofacdata/outputs/nameAndYobSMT.json",
|
||||||
|
"./ofacdata/outputs/nameAndDobSMT_ID.json": "./ofacdata/outputs/nameAndDobSMT_ID.json",
|
||||||
|
"./ofacdata/outputs/nameAndYobSMT_ID.json": "./ofacdata/outputs/nameAndYobSMT_ID.json",
|
||||||
|
"./ofacdata/outputs/passportNoAndNationalitySMT.json": "./ofacdata/outputs/passportNoAndNationalitySMT.json",
|
||||||
|
"./pubkeys/serialized_dsc_tree.json": "./pubkeys/serialized_dsc_tree.json",
|
||||||
|
"./mock_certificates/*": "./src/mock_certificates/*",
|
||||||
|
"./mock_certificates/**/*": "./src/mock_certificates/**/*"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"dist/cjs",
|
||||||
|
"dist/esm",
|
||||||
|
"src/mock_certificates"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && yarn postbuild",
|
||||||
|
"types": "tsc -p tsconfig.json",
|
||||||
"format": "prettier --write .",
|
"format": "prettier --write .",
|
||||||
"lint": "prettier --check .",
|
"lint": "prettier --check .",
|
||||||
"test": "yarn ts-mocha tests/**/*.test.ts --exit",
|
"test": "NODE_OPTIONS='--loader ts-node/esm' ts-mocha tests/**/*.test.ts --exit",
|
||||||
"test:scope": "yarn ts-mocha tests/scope.test.ts --exit"
|
"test:scope": "NODE_OPTIONS='--loader ts-node/esm' ts-mocha tests/scope.test.ts --exit",
|
||||||
|
"postbuild": "node ./scripts/post-build.mjs",
|
||||||
|
"prepublishOnly": "yarn build"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.23.4",
|
|
||||||
"@openpassport/zk-kit-imt": "^0.0.5",
|
"@openpassport/zk-kit-imt": "^0.0.5",
|
||||||
"@openpassport/zk-kit-lean-imt": "^0.0.6",
|
"@openpassport/zk-kit-lean-imt": "^0.0.6",
|
||||||
"@openpassport/zk-kit-smt": "^0.0.1",
|
"@openpassport/zk-kit-smt": "^0.0.1",
|
||||||
@@ -29,18 +67,19 @@
|
|||||||
"js-sha512": "^0.9.0",
|
"js-sha512": "^0.9.0",
|
||||||
"json-to-ts": "^2.1.0",
|
"json-to-ts": "^2.1.0",
|
||||||
"jsrsasign": "^11.1.0",
|
"jsrsasign": "^11.1.0",
|
||||||
"mocha": "^10.7.3",
|
"node-forge": "github:remicolin/forge#17a11a632dd0e50343b3b8393245a2696f78afbb",
|
||||||
"node-forge": "https://github.com/remicolin/forge",
|
|
||||||
"path": "^0.12.7",
|
"path": "^0.12.7",
|
||||||
"pkijs": "^3.2.4",
|
"pkijs": "^3.2.4",
|
||||||
"poseidon-lite": "^0.2.0",
|
"poseidon-lite": "^0.2.0",
|
||||||
"snarkjs": "^0.7.5",
|
"snarkjs": "^0.7.5",
|
||||||
"ts-mocha": "^10.0.0",
|
|
||||||
"typescript-parser": "^2.6.1",
|
"typescript-parser": "^2.6.1",
|
||||||
"uuid": "^11.0.5"
|
"uuid": "^11.0.5"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node-forge": "^1.3.10",
|
"@types/node-forge": "^1.3.10",
|
||||||
"prettier": "^3.3.3"
|
"mocha": "^10.7.3",
|
||||||
|
"prettier": "^3.3.3",
|
||||||
|
"ts-mocha": "^10.0.0",
|
||||||
|
"typescript": "^5.8.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
10
common/scripts/post-build.mjs
Normal file
10
common/scripts/post-build.mjs
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import { writeFileSync } from 'node:fs';
|
||||||
|
import path from 'node:path';
|
||||||
|
|
||||||
|
const __dirname = process.cwd();
|
||||||
|
const DIST = path.resolve(__dirname, 'dist');
|
||||||
|
writeFileSync(path.join(DIST, 'esm', 'package.json'), JSON.stringify({ type: 'module' }, null, 4));
|
||||||
|
writeFileSync(
|
||||||
|
path.join(DIST, 'cjs', 'package.json'),
|
||||||
|
JSON.stringify({ type: 'commonjs' }, null, 4)
|
||||||
|
);
|
||||||
@@ -5,7 +5,7 @@ export const COMMITMENT_TREE_DEPTH = 33;
|
|||||||
export const DEFAULT_USER_ID_TYPE = 'uuid';
|
export const DEFAULT_USER_ID_TYPE = 'uuid';
|
||||||
|
|
||||||
export const REDIRECT_URL = 'https://redirect.self.xyz';
|
export const REDIRECT_URL = 'https://redirect.self.xyz';
|
||||||
export const WS_RPC_URL_VC_AND_DISCLOSE = "ws://disclose.proving.self.xyz:8888/";
|
export const WS_RPC_URL_VC_AND_DISCLOSE = 'ws://disclose.proving.self.xyz:8888/';
|
||||||
export const WS_DB_RELAYER = 'wss://websocket.self.xyz';
|
export const WS_DB_RELAYER = 'wss://websocket.self.xyz';
|
||||||
export const WS_DB_RELAYER_STAGING = 'wss://websocket.staging.self.xyz';
|
export const WS_DB_RELAYER_STAGING = 'wss://websocket.staging.self.xyz';
|
||||||
export const API_URL = 'https://api.self.xyz';
|
export const API_URL = 'https://api.self.xyz';
|
||||||
@@ -20,12 +20,11 @@ export const IDENTITY_TREE_URL = 'https://tree.self.xyz/identity';
|
|||||||
export const IDENTITY_TREE_URL_STAGING = 'https://tree.staging.self.xyz/identity';
|
export const IDENTITY_TREE_URL_STAGING = 'https://tree.staging.self.xyz/identity';
|
||||||
|
|
||||||
export const PASSPORT_ATTESTATION_ID = '1'; //"8518753152044246090169372947057357973469996808638122125210848696986717482788"
|
export const PASSPORT_ATTESTATION_ID = '1'; //"8518753152044246090169372947057357973469996808638122125210848696986717482788"
|
||||||
export const ID_CARD_ATTESTATION_ID = '2'
|
export const ID_CARD_ATTESTATION_ID = '2';
|
||||||
export const CHAIN_NAME = 'celo';
|
export const CHAIN_NAME = 'celo';
|
||||||
export const RPC_URL = 'https://forno.celo.org';
|
export const RPC_URL = 'https://forno.celo.org';
|
||||||
export const PCR0_MANAGER_ADDRESS = '0xE36d4EE5Fd3916e703A46C21Bb3837dB7680C8B8';
|
export const PCR0_MANAGER_ADDRESS = '0xE36d4EE5Fd3916e703A46C21Bb3837dB7680C8B8';
|
||||||
|
|
||||||
|
|
||||||
// we make it global here because passing it to generateCircuitInputsRegister caused trouble
|
// we make it global here because passing it to generateCircuitInputsRegister caused trouble
|
||||||
export const DEVELOPMENT_MODE = true;
|
export const DEVELOPMENT_MODE = true;
|
||||||
export const DEFAULT_MAJORITY = '18';
|
export const DEFAULT_MAJORITY = '18';
|
||||||
@@ -79,7 +78,7 @@ export const MAX_CERT_BYTES: Partial<Record<keyof typeof SignatureAlgorithmIndex
|
|||||||
export const ECDSA_K_LENGTH_FACTOR = 2;
|
export const ECDSA_K_LENGTH_FACTOR = 2;
|
||||||
// possible values because of sha1 constaints: 192,320,384, 448, 576, 640
|
// possible values because of sha1 constaints: 192,320,384, 448, 576, 640
|
||||||
|
|
||||||
export const CIRCUIT_TYPES = ['dsc', 'register', 'vc_and_disclose']
|
export const CIRCUIT_TYPES = ['dsc', 'register', 'vc_and_disclose'];
|
||||||
export const circuitNameFromMode = {
|
export const circuitNameFromMode = {
|
||||||
prove: 'prove',
|
prove: 'prove',
|
||||||
prove_onchain: 'prove',
|
prove_onchain: 'prove',
|
||||||
@@ -115,7 +114,7 @@ export enum RegisterVerifierId {
|
|||||||
register_sha256_sha256_sha256_rsapss_65537_64_2048 = 22,
|
register_sha256_sha256_sha256_rsapss_65537_64_2048 = 22,
|
||||||
register_sha512_sha512_sha256_rsa_65537_4096 = 23,
|
register_sha512_sha512_sha256_rsa_65537_4096 = 23,
|
||||||
register_sha512_sha512_sha512_ecdsa_secp521r1 = 24,
|
register_sha512_sha512_sha512_ecdsa_secp521r1 = 24,
|
||||||
};
|
}
|
||||||
|
|
||||||
export enum DscVerifierId {
|
export enum DscVerifierId {
|
||||||
dsc_sha1_ecdsa_brainpoolP256r1 = 0,
|
dsc_sha1_ecdsa_brainpoolP256r1 = 0,
|
||||||
@@ -138,7 +137,7 @@ export enum DscVerifierId {
|
|||||||
dsc_sha512_rsapss_65537_64_4096 = 17,
|
dsc_sha512_rsapss_65537_64_4096 = 17,
|
||||||
dsc_sha256_rsapss_3_32_4096 = 18,
|
dsc_sha256_rsapss_3_32_4096 = 18,
|
||||||
dsc_sha1_ecdsa_secp256r1 = 19,
|
dsc_sha1_ecdsa_secp256r1 = 19,
|
||||||
};
|
}
|
||||||
|
|
||||||
export enum SignatureAlgorithmIndex {
|
export enum SignatureAlgorithmIndex {
|
||||||
rsa_sha256_65537_2048 = 1,
|
rsa_sha256_65537_2048 = 1,
|
||||||
@@ -205,18 +204,18 @@ export const circuitToSelectorMode = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const revealedDataTypes = {
|
export const revealedDataTypes = {
|
||||||
'issuing_state': 0,
|
issuing_state: 0,
|
||||||
'name': 1,
|
name: 1,
|
||||||
'passport_number': 2,
|
passport_number: 2,
|
||||||
'nationality': 3,
|
nationality: 3,
|
||||||
'date_of_birth': 4,
|
date_of_birth: 4,
|
||||||
'gender': 5,
|
gender: 5,
|
||||||
'expiry_date': 6,
|
expiry_date: 6,
|
||||||
'older_than': 7,
|
older_than: 7,
|
||||||
'passport_no_ofac': 8,
|
passport_no_ofac: 8,
|
||||||
'name_and_dob_ofac': 9,
|
name_and_dob_ofac: 9,
|
||||||
'name_and_yob_ofac': 10,
|
name_and_yob_ofac: 10,
|
||||||
}
|
};
|
||||||
|
|
||||||
export const CIRCUIT_CONSTANTS = {
|
export const CIRCUIT_CONSTANTS = {
|
||||||
REGISTER_NULLIFIER_INDEX: 0,
|
REGISTER_NULLIFIER_INDEX: 0,
|
||||||
@@ -237,7 +236,7 @@ export const CIRCUIT_CONSTANTS = {
|
|||||||
VC_AND_DISCLOSE_NAME_YOB_SMT_ROOT_INDEX: 18,
|
VC_AND_DISCLOSE_NAME_YOB_SMT_ROOT_INDEX: 18,
|
||||||
VC_AND_DISCLOSE_SCOPE_INDEX: 19,
|
VC_AND_DISCLOSE_SCOPE_INDEX: 19,
|
||||||
VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX: 20,
|
VC_AND_DISCLOSE_USER_IDENTIFIER_INDEX: 20,
|
||||||
}
|
};
|
||||||
|
|
||||||
export const MAX_BYTES_IN_FIELD = 31;
|
export const MAX_BYTES_IN_FIELD = 31;
|
||||||
export const MAX_PUBKEY_DSC_BYTES = 525;
|
export const MAX_PUBKEY_DSC_BYTES = 525;
|
||||||
@@ -341,7 +340,7 @@ export const countryCodes = {
|
|||||||
GMB: 'Gambia',
|
GMB: 'Gambia',
|
||||||
GEO: 'Georgia',
|
GEO: 'Georgia',
|
||||||
DEU: 'Germany',
|
DEU: 'Germany',
|
||||||
"D<<": 'Germany', // Bundesrepublik Deutschland uses this in passports instead of DEU
|
'D<<': 'Germany', // Bundesrepublik Deutschland uses this in passports instead of DEU
|
||||||
GHA: 'Ghana',
|
GHA: 'Ghana',
|
||||||
GIB: 'Gibraltar',
|
GIB: 'Gibraltar',
|
||||||
GRC: 'Greece',
|
GRC: 'Greece',
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user