@procivis/react-native-one-core 1.133039.0 → 1.136613.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,11 +37,6 @@ export interface CertificateX509Extension {
37
37
  value: string;
38
38
  critical: boolean;
39
39
  }
40
- export interface CharacteristicSettings {
41
- uuid: string;
42
- permissions: Array<CharacteristicPermission>;
43
- properties: Array<CharacteristicProperty>;
44
- }
45
40
  export interface Claim {
46
41
  path: string;
47
42
  schema: ClaimSchemaInfo;
@@ -114,7 +109,7 @@ export interface Config {
114
109
  globalSettings: GlobalSettings;
115
110
  }
116
111
  export interface ContinueIssuanceResponse {
117
- /** For reference. */
112
+ /** Use with `holderAcceptCredential` and `holderRejectCredential`. */
118
113
  interactionId: string;
119
114
  /** Key storage required to complete issuance. */
120
115
  keyStorageSecurityLevels?: Array<KeyStorageSecurity>;
@@ -124,6 +119,7 @@ export interface ContinueIssuanceResponse {
124
119
  requiresWalletInstanceAttestation: boolean;
125
120
  /** Protocol used for issuance. */
126
121
  protocol: string;
122
+ /** Ecosystem applied to this interaction. */
127
123
  ecosystem?: string;
128
124
  }
129
125
  export interface CreateCertificateAuthorityRequest {
@@ -191,20 +187,26 @@ export interface CreateOrganisationRequest {
191
187
  /** If no UUID is passed, one will be created. */
192
188
  id?: string;
193
189
  parentOrganisation?: string;
190
+ /** Policy-level configuration for this organization. */
191
+ configuration?: SetOrganisationConfiguration;
194
192
  }
195
193
  /**
196
- * If protocol is `ISO_MDL`, specify the device engagement type
197
- * by referencing an entry from `verificationEngagement` of your
198
- * configuration. `iso_mdl_engagement` accepts either QR code content
199
- * (for QR device engagement) or NFC engagement parameters from
200
- * `nfc_read_iso_mdl_engagement`.
194
+ * If `protocol` is `ISO_MDL`, also set `engagement`, `isoMdlEngagement`,
195
+ * and `transport`.
201
196
  */
202
197
  export interface CreateProofRequest {
203
198
  /** Choose a proof schema to use. */
204
199
  proofSchemaId: string;
205
200
  /** Deprecated. Use `verifierIdentifierId`. */
206
201
  verifierDidId?: string;
207
- /** Choose the identifier to use to make the request. */
202
+ /**
203
+ * Choose the identifier to use to make the request. Either this or
204
+ * the deprecated `verifierDidId` must be set.
205
+ *
206
+ * For `ISO_MDL`, a certificate identifier enables reader
207
+ * authentication, so the wallet can verify who is asking. Key
208
+ * identifiers are not allowed.
209
+ */
208
210
  verifierIdentifierId?: string;
209
211
  /**
210
212
  * Choose the protocol to use for verification. Check the
@@ -226,24 +228,48 @@ export interface CreateProofRequest {
226
228
  verifierKey?: string;
227
229
  /**
228
230
  * If the identifier contains multiple certificates, use this to
229
- * specify which key to use. If omitted, the first suitable
231
+ * specify which certificate to use. If omitted, the first suitable
230
232
  * certificate is used.
231
233
  */
232
234
  verifierCertificate?: string;
233
- /** Use to specify device engagement type. */
235
+ /**
236
+ * For `ISO_MDL`, the device engagement data received from the
237
+ * wallet: the scanned QR code content, or the result of
238
+ * `nfcReadIsoMdlEngagement`.
239
+ */
234
240
  isoMdlEngagement?: string;
235
241
  /**
236
242
  * Choose the transport protocol for the exchange. Check the
237
243
  * `transport` object of your configuration for supported
238
- * options and reference the configuration instance.
244
+ * options and reference the configuration instance. For
245
+ * `ISO_MDL`, use `BLE`.
239
246
  */
240
247
  transport?: Array<string>;
241
- /** Country profile to associate with this request. */
248
+ /**
249
+ * Country profile to associate with this request. See
250
+ * [Country Profiles](https://docs.procivis.ch/profiles) for more
251
+ * information.
252
+ */
242
253
  profile?: string;
243
- /** Use for ISO mDL verification over BLE. */
254
+ /**
255
+ * For `ISO_MDL`, the device engagement method used to receive
256
+ * `isoMdlEngagement`, such as `NFC` or `QR_CODE`. Reference an
257
+ * entry from the `verificationEngagement` object of your configuration.
258
+ */
244
259
  engagement?: string;
245
- /** Optional transaction data to request authorization for. */
260
+ /**
261
+ * Optional transaction data to request authorization for. Only
262
+ * supported for OpenID4VP. See
263
+ * [Transaction Authorization for Verifiers](https://docs.procivis.ch/verify/transaction-authorization)
264
+ * for more information.
265
+ */
246
266
  transactionData?: Array<ProofRequestTransactionData>;
267
+ /**
268
+ * Use this to enforce the constraints of a regulatory ecosystem
269
+ * for this request. See
270
+ * [Enforcing an Ecosystem as a Verifier](https://docs.procivis.ch/verify/ecosystem-enforcement)
271
+ * for more information.
272
+ */
247
273
  ecosystem?: string;
248
274
  }
249
275
  export interface CreateProofSchemaInput {
@@ -471,7 +497,12 @@ export interface CredentialListQuery {
471
497
  revocationDateBefore?: string;
472
498
  }
473
499
  export interface CredentialQuery {
500
+ /** Whether more than one credential can be submitted for this query. */
474
501
  multiple: boolean;
502
+ /**
503
+ * Either the wallet's credentials that match this query, or the
504
+ * reason no credential matches.
505
+ */
475
506
  credentialOrFailureHint: ApplicableCredentialOrFailureHint;
476
507
  }
477
508
  export interface CredentialQueryFailureHint {
@@ -628,13 +659,17 @@ export interface CredentialSchemaWalletAttestation {
628
659
  preferredInstanceAttestationLifetime?: number;
629
660
  }
630
661
  export interface CredentialSet {
662
+ /**
663
+ * Whether this set must be satisfied for the request to be
664
+ * satisfied.
665
+ */
631
666
  required: boolean;
667
+ /**
668
+ * Alternative combinations of credential query IDs. Satisfying any
669
+ * one combination satisfies the set.
670
+ */
632
671
  options: Array<Array<string>>;
633
672
  }
634
- export interface DeviceInfo {
635
- address: string;
636
- mtu: number;
637
- }
638
673
  export interface DidDetail {
639
674
  id: string;
640
675
  createdDate: string;
@@ -736,7 +771,7 @@ export interface EcosystemInfo {
736
771
  }
737
772
  export interface EcosystemOutcome {
738
773
  result: EcosystemTrustResult;
739
- /** Why the provider did not trust the interaction. `None` when it did. */
774
+ /** Why the provider rejected the interaction. `None` when accepted. */
740
775
  error?: HistoryErrorMetadata;
741
776
  }
742
777
  export interface ErrorData {
@@ -796,19 +831,11 @@ export interface GenerateKeyRequest {
796
831
  storageType: string;
797
832
  storageParams: Record<string, string>;
798
833
  }
799
- export interface GeneratedKey {
800
- keyReference: number[];
801
- publicKey: number[];
802
- }
803
834
  export interface GlobalSettings {
804
835
  defaultLanguage: string;
805
836
  }
806
837
  export interface HandleInvitationRequest {
807
- /**
808
- * Typically encoded as a QR code or deep link by the issuer or
809
- * verifier. For example: "https://example.com/credential-offer".
810
- */
811
- url: string;
838
+ data: HandleInvitationRequestData;
812
839
  /** Specifies the organizational context for this operation. */
813
840
  organisationId: string;
814
841
  /**
@@ -824,6 +851,13 @@ export interface HandleInvitationRequest {
824
851
  * "myapp://example".
825
852
  */
826
853
  redirectUri?: string;
854
+ /**
855
+ * Use this to enforce the constraints of a regulatory ecosystem
856
+ * for this interaction. If omitted, every ecosystem available to
857
+ * the wallet checks the interaction. See
858
+ * [Enforcing an Ecosystem as a Wallet](https://docs.procivis.ch/hold/ecosystem-enforcement)
859
+ * for more information.
860
+ */
827
861
  ecosystem?: string;
828
862
  }
829
863
  export interface HistoryErrorMetadata {
@@ -925,6 +959,15 @@ export interface HolderAcceptCredentialRequest {
925
959
  interactionId: string;
926
960
  /** Deprecated. Use `identifierId`. */
927
961
  didId?: string;
962
+ /**
963
+ * Pass nothing here for the recommended key auto-generation. See
964
+ * [Auto-generate Keys for Issuance](https://docs.procivis.ch/configure/auto-generate-keys)
965
+ * for more information.
966
+ *
967
+ * Alternatively, choose an existing identifier to hold the credential.
968
+ * If neither this nor the deprecated `didId` is set, the system generates
969
+ * a new identifier that matches the issuer's restrictions.
970
+ */
928
971
  identifierId?: string;
929
972
  /**
930
973
  * If you are using an identifier with multiple keys for authentication,
@@ -1184,18 +1227,6 @@ export interface ImportProofSchemaRequest {
1184
1227
  schema: ImportProofSchema;
1185
1228
  organisationId: string;
1186
1229
  }
1187
- export interface InitParams {
1188
- /** Pass a serialized JSON to override the default configuration. */
1189
- configJson?: string;
1190
- /** Create an instance of the native implementation of Secure Element and pass it here. */
1191
- nativeSecureElement?: NativeKeyStorage;
1192
- /** Create a custom implementation of HSM and pass it. */
1193
- remoteSecureElement?: NativeKeyStorage;
1194
- bleCentral?: BleCentral;
1195
- blePeripheral?: BlePeripheral;
1196
- nfcHce?: NfcHce;
1197
- nfcScanner?: NfcScanner;
1198
- }
1199
1230
  export interface InitiateIssuanceAuthorizationDetail {
1200
1231
  type: string;
1201
1232
  credentialConfigurationId: string;
@@ -1215,6 +1246,12 @@ export interface InitiateIssuanceRequest {
1215
1246
  scope?: Array<string>;
1216
1247
  /** OpenID4VCI authorization request parameter. */
1217
1248
  authorizationDetails?: Array<InitiateIssuanceAuthorizationDetail>;
1249
+ /**
1250
+ * Use this to enforce the constraints of a regulatory ecosystem
1251
+ * for this issuance. See
1252
+ * [Enforcing an Ecosystem as a Wallet](https://docs.procivis.ch/hold/ecosystem-enforcement)
1253
+ * for more information.
1254
+ */
1218
1255
  ecosystem?: string;
1219
1256
  }
1220
1257
  export interface InitiateIssuanceResponse {
@@ -1332,28 +1369,50 @@ export interface OrganisationDetail {
1332
1369
  */
1333
1370
  verifierInstance?: VerifierInstanceDetail;
1334
1371
  }
1335
- export interface PeripheralDiscoveryData {
1336
- deviceAddress: string;
1337
- localDeviceName?: string;
1338
- advertisedServices: Array<string>;
1339
- advertisedServiceData?: Record<string, number[]>;
1340
- }
1341
1372
  export interface PresentationDefinitionTransactionData {
1342
1373
  id: string;
1343
1374
  type: string;
1344
1375
  credentialQueryIds: Array<string>;
1345
1376
  }
1377
+ /**
1378
+ * What a proof request asks for, together with the wallet's credentials
1379
+ * that can satisfy it.
1380
+ */
1346
1381
  export interface PresentationDefinitionV2 {
1382
+ /**
1383
+ * One entry per requested credential, keyed by credential query ID.
1384
+ * Use these IDs as the keys of the submission for
1385
+ * `holderSubmitProofV2`.
1386
+ */
1347
1387
  credentialQueries: Record<string, CredentialQuery>;
1388
+ /** Combinations of credential queries that satisfy the request. */
1348
1389
  credentialSets: Array<CredentialSet>;
1390
+ /**
1391
+ * Transaction data entries attached to the request. Get the details
1392
+ * of an entry with `holderGetTransactionData`.
1393
+ */
1349
1394
  transactionData: Array<PresentationDefinitionTransactionData>;
1350
1395
  }
1351
1396
  export interface PresentationDefinitionV2Claim {
1397
+ /** Path of the claim. Use it in `userSelections` when submitting. */
1352
1398
  path: string;
1353
1399
  schema: ClaimSchemaInfo;
1354
1400
  value: PresentationDefinitionV2ClaimValue;
1401
+ /**
1402
+ * Whether the holder can choose whether to share this claim. To
1403
+ * share it, include its `path` in `userSelections` when submitting.
1404
+ */
1355
1405
  userSelection: boolean;
1406
+ /**
1407
+ * Whether the verifier marked this claim as required. Always
1408
+ * `false` for `ISO_MDL` requests.
1409
+ */
1356
1410
  required: boolean;
1411
+ /**
1412
+ * Whether the ecosystem requires user consent before this biometric
1413
+ * claim is shared.
1414
+ */
1415
+ requireBiometricDataUserConsent: boolean;
1357
1416
  }
1358
1417
  export interface PresentationDefinitionV2Credential {
1359
1418
  id: string;
@@ -1395,9 +1454,11 @@ export interface PresentationSubmitV2CredentialRequest {
1395
1454
  userSelections?: Array<string>;
1396
1455
  /**
1397
1456
  * Optional ids of transaction-data entries to bind to this credential.
1398
- * Entries not listed here are auto-assigned. Ids must reference transaction
1457
+ * Entries not listed here are auto-assigned. IDs must reference transaction
1399
1458
  * data applicable to this credential. Omit entirely or use an empty array
1400
- * to auto-assign all transaction data.
1459
+ * to auto-assign all transaction data. See
1460
+ * [Transaction Authorization for Wallets](https://docs.procivis.ch/hold/transaction-authorization)
1461
+ * for more information.
1401
1462
  */
1402
1463
  transactionDataIds?: Array<string>;
1403
1464
  }
@@ -1450,12 +1511,26 @@ export interface ProofDetail {
1450
1511
  completedDate?: string;
1451
1512
  /** When claim data was deleted. */
1452
1513
  claimsRemovedAt?: string;
1453
- /** Country profile associated with this request. */
1514
+ /**
1515
+ * Country profile associated with this request. See
1516
+ * [Country Profiles](https://docs.procivis.ch/profiles) for more
1517
+ * information.
1518
+ */
1454
1519
  profile?: string;
1455
1520
  /** Trust information of the verifier, if any. */
1456
1521
  trustInformation?: TrustInformation;
1457
- /** Transaction data attached to this proof request. Present only if the proof role is `VERIFIER`. */
1522
+ /**
1523
+ * Transaction data attached to this proof request. Present only if the proof
1524
+ * role is `VERIFIER`. See
1525
+ * [Transaction Authorization for Verifiers](https://docs.procivis.ch/verify/transaction-authorization)
1526
+ * for more information.
1527
+ */
1458
1528
  transactionData?: Array<TransactionDataResponse>;
1529
+ /**
1530
+ * Ecosystem applied to this request. See
1531
+ * [Ecosystems](https://docs.procivis.ch/ecosystems)
1532
+ * for more information.
1533
+ */
1459
1534
  ecosystem?: string;
1460
1535
  }
1461
1536
  export interface ProofInput {
@@ -1504,8 +1579,17 @@ export interface ProofListItem {
1504
1579
  * proof schema.
1505
1580
  */
1506
1581
  retainUntilDate?: string;
1507
- /** Country profile associated with this request. */
1582
+ /**
1583
+ * Country profile associated with this request. See
1584
+ * [Country Profiles](https://docs.procivis.ch/profiles) for more
1585
+ * information.
1586
+ */
1508
1587
  profile?: string;
1588
+ /**
1589
+ * Ecosystem applied to this request. See
1590
+ * [Ecosystems](https://docs.procivis.ch/ecosystems)
1591
+ * for more information.
1592
+ */
1509
1593
  ecosystem?: string;
1510
1594
  redirectUri?: string;
1511
1595
  }
@@ -1522,8 +1606,17 @@ export interface ProofListQuery {
1522
1606
  sortDirection?: SortDirection;
1523
1607
  /** Return only proof requests with a name starting with this string. */
1524
1608
  name?: string;
1525
- /** Filter by one or more country profiles. */
1609
+ /**
1610
+ * Filter by one or more country profiles. See
1611
+ * [Country Profiles](https://docs.procivis.ch/profiles) for more
1612
+ * information.
1613
+ */
1526
1614
  profiles?: Array<string>;
1615
+ /**
1616
+ * Filter by ecosystem applied to proof. See
1617
+ * [Ecosystems](https://docs.procivis.ch/ecosystems)
1618
+ * for more information.
1619
+ */
1527
1620
  ecosystems?: Array<string>;
1528
1621
  /** Filter by one or more UUIDs. */
1529
1622
  ids?: Array<string>;
@@ -1569,12 +1662,12 @@ export interface ProofListQuery {
1569
1662
  */
1570
1663
  requestedDateBefore?: string;
1571
1664
  /**
1572
- * Return only proofs requested completed after this time. Timestamp in
1665
+ * Return only proofs completed after this time. Timestamp in
1573
1666
  * RFC 3339 format (for example `2023-06-09T14:19:57.000Z`).
1574
1667
  */
1575
1668
  completedDateAfter?: string;
1576
1669
  /**
1577
- * Return only proofs requested completed before this time. Timestamp in
1670
+ * Return only proofs completed before this time. Timestamp in
1578
1671
  * RFC 3339 format (for example `2023-06-09T14:19:57.000Z`).
1579
1672
  */
1580
1673
  completedDateBefore?: string;
@@ -1666,15 +1759,44 @@ export interface ProofTransactionData {
1666
1759
  rawTransactionData?: string;
1667
1760
  }
1668
1761
  export interface ProposeProofRequest {
1762
+ /**
1763
+ * Choose the protocol to use. Check the `verificationProtocol`
1764
+ * object of your configuration for supported options and reference
1765
+ * the configuration instance.
1766
+ */
1669
1767
  protocol: string;
1768
+ /** Specifies the organizational context for this operation. */
1670
1769
  organisationId: string;
1770
+ /**
1771
+ * The device engagement method to offer. Reference one or more entries
1772
+ * from the `verificationEngagement` object of your configuration.
1773
+ */
1671
1774
  engagement: Array<string>;
1775
+ /**
1776
+ * Text shown on the iOS system overlay during NFC engagement. Has
1777
+ * no effect for QR code engagement or on Android.
1778
+ */
1672
1779
  uiMessage?: string;
1780
+ /**
1781
+ * Use this to enforce the constraints of a regulatory ecosystem
1782
+ * for this presentation. See
1783
+ * [Enforcing an Ecosystem as a Wallet](https://docs.procivis.ch/hold/ecosystem-enforcement)
1784
+ * for more information.
1785
+ */
1673
1786
  ecosystem?: string;
1674
1787
  }
1675
1788
  export interface ProposeProofResponse {
1789
+ /**
1790
+ * ID of the proof, created in `PENDING` state. Use it with
1791
+ * `getProof` and `getPresentationDefinitionV2`.
1792
+ */
1676
1793
  proofId: string;
1794
+ /** Use with `holderSubmitProofV2` and `holderRejectProof`. */
1677
1795
  interactionId: string;
1796
+ /**
1797
+ * For QR code engagement, the device engagement data to display as a
1798
+ * QR code. Not returned for NFC engagement.
1799
+ */
1678
1800
  url?: string;
1679
1801
  }
1680
1802
  export interface QesAuthorizeRequest {
@@ -1725,11 +1847,24 @@ export interface QesSignResponse {
1725
1847
  export interface ResolvedJsonLdContext {
1726
1848
  context: string;
1727
1849
  }
1728
- export interface ServiceDescription {
1729
- uuid: string;
1730
- advertise: boolean;
1731
- advertisedServiceData?: number[];
1732
- characteristics: Array<CharacteristicSettings>;
1850
+ export interface SetOrganisationConfiguration {
1851
+ selectedEcosystems?: Array<string>;
1852
+ /**
1853
+ * When true, the issuer will only issue credentials to wallet units of one of
1854
+ * the selected ecosystems.
1855
+ */
1856
+ enforceEcosystemAsIssuer?: boolean;
1857
+ /**
1858
+ * When true, the wallet only accepts issuance and presentation requests
1859
+ * from members of one of the selected ecosystems.
1860
+ */
1861
+ enforceEcosystemAsHolder?: boolean;
1862
+ /**
1863
+ * When true, the verifier will only accept presentations of credentials
1864
+ * issued by issuers of the selected ecosystems. Ecosystems must be consistent
1865
+ * across presentations belonging to the same proof request.
1866
+ */
1867
+ enforceEcosystemAsVerifier?: boolean;
1733
1868
  }
1734
1869
  export interface ShareProofRequest {
1735
1870
  params?: ShareProofRequestParams;
@@ -1790,26 +1925,7 @@ export interface UnexportableEntities {
1790
1925
  totalDids: number;
1791
1926
  totalIdentifiers: number;
1792
1927
  }
1793
- export interface UpsertOrganisationConfiguration {
1794
- selectedEcosystems?: Array<string>;
1795
- /**
1796
- * When true, the issuer will only issue credentials to wallet units of one of
1797
- * the selected ecosystems.
1798
- */
1799
- enforceEcosystemAsIssuer?: boolean;
1800
- /**
1801
- * When true, the wallet only accepts issuance and presentation requests
1802
- * from members of one of the selected ecosystems.
1803
- */
1804
- enforceEcosystemAsHolder?: boolean;
1805
- /**
1806
- * When true, the verifier will only accept presentations of credentials
1807
- * issued by issuers of the selected ecosystems. Ecosystems must be consistent
1808
- * across presentations belonging to the same proof request.
1809
- */
1810
- enforceEcosystemAsVerifier?: boolean;
1811
- }
1812
- export interface UpsertOrganisationRequest {
1928
+ export interface UpdateOrganisationRequest {
1813
1929
  /** Unique identifier of the organization to create or update. */
1814
1930
  id: string;
1815
1931
  /** Set to `true` to deactivate the organization. */
@@ -1823,13 +1939,7 @@ export interface UpsertOrganisationRequest {
1823
1939
  /** Verifier Provider use only. */
1824
1940
  verifierProviderIssuer?: string | null;
1825
1941
  /** Policy-level configuration for this organization. */
1826
- configuration?: UpsertOrganisationConfiguration;
1827
- /**
1828
- * The trust collections this organization's wallet subscribes to,
1829
- * selected from those made available by the Wallet Provider. Omit to
1830
- * leave the current selection unchanged.
1831
- */
1832
- trustCollections?: Array<string>;
1942
+ configuration?: SetOrganisationConfiguration;
1833
1943
  /**
1834
1944
  * The parent organization this organization inherits policy-level
1835
1945
  * configuration from, if any.
@@ -1882,6 +1992,7 @@ export interface WalletInstanceFeatureFlags {
1882
1992
  ecosystemsEnforcementEnabled: boolean;
1883
1993
  refreshCredentialBatchEnabled: boolean;
1884
1994
  documentSigningEnabled: boolean;
1995
+ dcApiIntegrationEnabled: boolean;
1885
1996
  }
1886
1997
  export interface WalletProviderDetail {
1887
1998
  /**
@@ -1895,58 +2006,18 @@ export interface WalletProviderDetail {
1895
2006
  export interface WalletRelyingPartyMetadata {
1896
2007
  name?: string;
1897
2008
  }
1898
- export type ApplicableCredentialOrFailureHint = {
2009
+ export type ApplicableCredentialOrFailureHint =
2010
+ /** The wallet's credentials that match the query. */
2011
+ {
1899
2012
  type_: "APPLICABLE_CREDENTIALS";
1900
2013
  applicableCredentials: Array<PresentationDefinitionV2Credential>;
1901
2014
  purpose?: Record<string, string>;
1902
- } | {
2015
+ }
2016
+ /** Why no credential in the wallet matches the query. */
2017
+ | {
1903
2018
  type_: "FAILURE_HINT";
1904
2019
  failureHint: CredentialQueryFailureHint;
1905
2020
  };
1906
- export type BleError = {
1907
- type_: "ADAPTER_NOT_ENABLED";
1908
- } | {
1909
- type_: "SCAN_ALREADY_STARTED";
1910
- } | {
1911
- type_: "SCAN_NOT_STARTED";
1912
- } | {
1913
- type_: "BROADCAST_ALREADY_STARTED";
1914
- } | {
1915
- type_: "BROADCAST_NOT_STARTED";
1916
- } | {
1917
- type_: "ANOTHER_OPERATION_IN_PROGRESS";
1918
- } | {
1919
- type_: "WRITE_DATA_TOO_LONG";
1920
- } | {
1921
- type_: "DEVICE_ADDRESS_NOT_FOUND";
1922
- address: string;
1923
- } | {
1924
- type_: "SERVICE_NOT_FOUND";
1925
- service: string;
1926
- } | {
1927
- type_: "CHARACTERISTIC_NOT_FOUND";
1928
- characteristic: string;
1929
- } | {
1930
- type_: "INVALID_UUID";
1931
- uuid: string;
1932
- } | {
1933
- type_: "DEVICE_NOT_CONNECTED";
1934
- address: string;
1935
- } | {
1936
- type_: "INVALID_CHARACTERISTIC_OPERATION";
1937
- service: string;
1938
- characteristic: string;
1939
- operation: string;
1940
- } | {
1941
- type_: "NOT_SUPPORTED";
1942
- } | {
1943
- type_: "NOT_AUTHORIZED";
1944
- } | {
1945
- type_: "SERVER_NOT_RUNNING";
1946
- } | {
1947
- type_: "UNKNOWN";
1948
- reason: string;
1949
- };
1950
2021
  export declare enum CacheType {
1951
2022
  DID_DOCUMENT = "DID_DOCUMENT",
1952
2023
  JSON_LD_CONTEXT = "JSON_LD_CONTEXT",
@@ -1984,21 +2055,6 @@ export declare enum CertificateState {
1984
2055
  REVOKED = "REVOKED",
1985
2056
  EXPIRED = "EXPIRED"
1986
2057
  }
1987
- export declare enum CharacteristicPermission {
1988
- READ = "READ",
1989
- WRITE = "WRITE"
1990
- }
1991
- export declare enum CharacteristicProperty {
1992
- READ = "READ",
1993
- WRITE = "WRITE",
1994
- NOTIFY = "NOTIFY",
1995
- WRITE_WITHOUT_RESPONSE = "WRITE_WITHOUT_RESPONSE",
1996
- INDICATE = "INDICATE"
1997
- }
1998
- export declare enum CharacteristicWriteType {
1999
- WITH_RESPONSE = "WITH_RESPONSE",
2000
- WITHOUT_RESPONSE = "WITHOUT_RESPONSE"
2001
- }
2002
2058
  export type ClaimValue = {
2003
2059
  type_: "BOOLEAN";
2004
2060
  value: boolean;
@@ -2021,13 +2077,6 @@ export declare enum ClientIdScheme {
2021
2077
  DECENTRALIZED_IDENTIFIER = "DECENTRALIZED_IDENTIFIER",
2022
2078
  X509_SAN_DNS = "X509_SAN_DNS"
2023
2079
  }
2024
- export type ConnectionEvent = {
2025
- type_: "CONNECTED";
2026
- deviceInfo: DeviceInfo;
2027
- } | {
2028
- type_: "DISCONNECTED";
2029
- deviceAddress: string;
2030
- };
2031
2080
  export declare enum CreateSelfSignedCaRequestIssuerAlternativeNameType {
2032
2081
  EMAIL = "EMAIL",
2033
2082
  URI = "URI"
@@ -2045,8 +2094,17 @@ export declare enum CredentialListQuerySearchType {
2045
2094
  CREDENTIAL_SCHEMA_NAME = "CREDENTIAL_SCHEMA_NAME"
2046
2095
  }
2047
2096
  export declare enum CredentialQueryFailureReason {
2097
+ /** The wallet holds no credential of the requested type. */
2048
2098
  NO_CREDENTIAL = "NO_CREDENTIAL",
2099
+ /**
2100
+ * Credentials of the requested type exist, but none is currently
2101
+ * valid.
2102
+ */
2049
2103
  VALIDITY = "VALIDITY",
2104
+ /**
2105
+ * Credentials of the requested type exist, but none satisfies the
2106
+ * constraints of the request.
2107
+ */
2050
2108
  CONSTRAINT = "CONSTRAINT"
2051
2109
  }
2052
2110
  export declare enum CredentialRole {
@@ -2103,11 +2161,22 @@ export declare enum EcosystemRole {
2103
2161
  }
2104
2162
  export declare enum EcosystemTrustResult {
2105
2163
  TRUSTED = "TRUSTED",
2164
+ COMPLIANT = "COMPLIANT",
2106
2165
  NOT_TRUSTED = "NOT_TRUSTED"
2107
2166
  }
2167
+ export type HandleInvitationRequestData =
2168
+ /** OpenID4VCI, OpenID4VP */
2169
+ {
2170
+ type_: "URL";
2171
+ /**
2172
+ * Typically encoded as a QR code or deep link by the issuer or
2173
+ * verifier. For example: "https://example.com/credential-offer".
2174
+ */
2175
+ url: string;
2176
+ };
2108
2177
  export type HandleInvitationResponse = {
2109
2178
  type_: "CREDENTIAL_ISSUANCE";
2110
- /** For reference. */
2179
+ /** Use with `holderAcceptCredential` and `holderRejectCredential`. */
2111
2180
  interactionId: string;
2112
2181
  /** Key storage required to complete issuance. */
2113
2182
  keyStorageSecurityLevels?: Array<KeyStorageSecurity>;
@@ -2124,6 +2193,7 @@ export type HandleInvitationResponse = {
2124
2193
  protocol: string;
2125
2194
  /** Whether a valid WIA is required to complete issuance. */
2126
2195
  requiresWalletInstanceAttestation: boolean;
2196
+ /** Ecosystem applied to this interaction. */
2127
2197
  ecosystem?: string;
2128
2198
  /** One entry per ecosystem provider that rejected the artifact, keyed by provider id. */
2129
2199
  ecosystemErrors: Record<string, EcosystemOutcome>;
@@ -2138,17 +2208,22 @@ export type HandleInvitationResponse = {
2138
2208
  authorizationCodeFlowUrl: string;
2139
2209
  /** Protocol used for issuance. */
2140
2210
  protocol: string;
2211
+ /** Ecosystem applied to this interaction. */
2141
2212
  ecosystem?: string;
2142
2213
  /** One entry per ecosystem provider that rejected the artifact, keyed by provider id. */
2143
2214
  ecosystemErrors: Record<string, EcosystemOutcome>;
2144
2215
  } | {
2145
2216
  type_: "PROOF_REQUEST";
2146
- /** For reference. */
2217
+ /** Use with `holderSubmitProofV2` and `holderRejectProof`. */
2147
2218
  interactionId: string;
2148
- /** Proof request. */
2219
+ /**
2220
+ * ID of the proof request. Use it with `getProof` and
2221
+ * `getPresentationDefinitionV2`.
2222
+ */
2149
2223
  proofId: string;
2150
2224
  /** Protocol used for issuance. */
2151
2225
  protocol: string;
2226
+ /** Ecosystem applied to this interaction. */
2152
2227
  ecosystem?: string;
2153
2228
  /** One entry per ecosystem provider that rejected the artifact, keyed by provider id. */
2154
2229
  ecosystemErrors: Record<string, EcosystemOutcome>;
@@ -2304,34 +2379,6 @@ export declare enum KeyStorageSecurity {
2304
2379
  ENHANCED_BASIC = "ENHANCED_BASIC",
2305
2380
  BASIC = "BASIC"
2306
2381
  }
2307
- export type NativeKeyStorageError = {
2308
- type_: "KEY_GENERATION_FAILURE";
2309
- reason: string;
2310
- } | {
2311
- type_: "SIGNATURE_FAILURE";
2312
- reason: string;
2313
- } | {
2314
- type_: "UNSUPPORTED";
2315
- } | {
2316
- type_: "UNKNOWN";
2317
- reason: string;
2318
- };
2319
- export type NfcError = {
2320
- type_: "NOT_ENABLED";
2321
- } | {
2322
- type_: "NOT_SUPPORTED";
2323
- } | {
2324
- type_: "ALREADY_STARTED";
2325
- } | {
2326
- type_: "NOT_STARTED";
2327
- } | {
2328
- type_: "CANCELLED";
2329
- } | {
2330
- type_: "SESSION_CLOSED";
2331
- } | {
2332
- type_: "UNKNOWN";
2333
- reason: string;
2334
- };
2335
2382
  export type OneCoreError = {
2336
2383
  type_: "RESPONSE";
2337
2384
  data: ErrorResponse;
@@ -2367,20 +2414,62 @@ export declare enum ProofListQueryExactColumn {
2367
2414
  NAME = "NAME"
2368
2415
  }
2369
2416
  export declare enum ProofRole {
2417
+ /** The system received this request. */
2370
2418
  HOLDER = "HOLDER",
2419
+ /** The system made this request. */
2371
2420
  VERIFIER = "VERIFIER"
2372
2421
  }
2373
2422
  export declare enum ProofSchemaListQueryExactColumn {
2374
2423
  NAME = "NAME"
2375
2424
  }
2425
+ /**
2426
+ * State of a proof request. Some states mean something different
2427
+ * depending on whether the system is the holder or the verifier of the
2428
+ * request. See [Proof States as a Verifier](https://docs.procivis.ch/verify/states)
2429
+ * and [Proof States as a Holder](https://docs.procivis.ch/hold/manage-credentials-requests#proof-request-states-as-a-holder)
2430
+ * for complete state diagrams.
2431
+ */
2376
2432
  export declare enum ProofState {
2433
+ /**
2434
+ * For verifiers, the request was created but not yet shared with a
2435
+ * wallet.
2436
+ */
2377
2437
  CREATED = "CREATED",
2438
+ /**
2439
+ * Waiting for the other party. For verifiers, the request was shared
2440
+ * or, for `ISO_MDL`, created from the wallet's engagement data. For
2441
+ * holders, device engagement was started with `proposeProof`.
2442
+ */
2378
2443
  PENDING = "PENDING",
2444
+ /**
2445
+ * The request reached the wallet and is waiting for the holder to
2446
+ * respond.
2447
+ */
2379
2448
  REQUESTED = "REQUESTED",
2449
+ /**
2450
+ * For verifiers, the presentation was received and verified. For
2451
+ * holders, the presentation was submitted.
2452
+ */
2380
2453
  ACCEPTED = "ACCEPTED",
2454
+ /**
2455
+ * The holder rejected the request. Not all protocols report a
2456
+ * rejection to the verifier.
2457
+ */
2381
2458
  REJECTED = "REJECTED",
2459
+ /**
2460
+ * The request was cancelled with `deleteProof` after it reached
2461
+ * `REQUESTED`. The history of the interaction is retained.
2462
+ */
2382
2463
  RETRACTED = "RETRACTED",
2464
+ /**
2465
+ * A technical error occurred or, for verifiers, the presentation
2466
+ * could not be verified.
2467
+ */
2383
2468
  ERROR = "ERROR",
2469
+ /**
2470
+ * For verifiers, the shared request expired before a wallet
2471
+ * connected. Share it again with `shareProof`.
2472
+ */
2384
2473
  INTERACTION_EXPIRED = "INTERACTION_EXPIRED"
2385
2474
  }
2386
2475
  export declare enum SortDirection {
@@ -2440,93 +2529,10 @@ export type TrustInformationDetailInfo = {
2440
2529
  };
2441
2530
  export declare enum TrustResolutionResult {
2442
2531
  TRUSTED = "TRUSTED",
2532
+ COMPLIANT = "COMPLIANT",
2443
2533
  UNTRUSTED = "UNTRUSTED",
2444
2534
  UNKNOWN = "UNKNOWN"
2445
2535
  }
2446
- export interface BleCentral {
2447
- connect(peripheral: string): Promise<number>;
2448
- disconnect(peripheral: string): Promise<void>;
2449
- getDiscoveredDevices(): Promise<Array<PeripheralDiscoveryData>>;
2450
- getNotifications(peripheral: string, service: string, characteristic: string): Promise<Array<number[]>>;
2451
- isAdapterEnabled(): Promise<boolean>;
2452
- isScanning(): Promise<boolean>;
2453
- readData(peripheral: string, service: string, characteristic: string): Promise<number[]>;
2454
- startScan(filterServices: Array<string> | undefined): Promise<void>;
2455
- stopScan(): Promise<void>;
2456
- subscribeToCharacteristicNotifications(peripheral: string, service: string, characteristic: string): Promise<void>;
2457
- unsubscribeFromCharacteristicNotifications(peripheral: string, service: string, characteristic: string): Promise<void>;
2458
- writeData(peripheral: string, service: string, characteristic: string, data: number[], writeType: CharacteristicWriteType): Promise<void>;
2459
- }
2460
- export interface BlePeripheral {
2461
- getCharacteristicWrites(device: string, service: string, characteristic: string): Promise<Array<number[]>>;
2462
- getConnectionChangeEvents(): Promise<Array<ConnectionEvent>>;
2463
- isAdapterEnabled(): Promise<boolean>;
2464
- isAdvertising(): Promise<boolean>;
2465
- notifyCharacteristicData(deviceAddress: string, service: string, characteristic: string, data: number[]): Promise<void>;
2466
- setCharacteristicData(service: string, characteristic: string, data: number[]): Promise<void>;
2467
- startAdvertisement(deviceName: string | undefined, services: Array<ServiceDescription>): Promise<string | undefined>;
2468
- stopAdvertisement(): Promise<void>;
2469
- stopServer(): Promise<void>;
2470
- waitForCharacteristicRead(device: string, service: string, characteristic: string): Promise<void>;
2471
- }
2472
- export interface NativeKeyStorage {
2473
- generateAttestation(keyReference: number[], nonce: string | undefined): Promise<Array<string>>;
2474
- generateAttestationKey(keyAlias: string, nonce: string | undefined): Promise<GeneratedKey>;
2475
- generateKey(keyAlias: string): Promise<GeneratedKey>;
2476
- sign(keyReference: number[], message: number[]): Promise<number[]>;
2477
- signWithAttestationKey(keyReference: number[], message: number[]): Promise<number[]>;
2478
- }
2479
- /** Provider of NFC host-card emulation (HCE) */
2480
- export interface NfcHce {
2481
- isEnabled(): Promise<boolean>;
2482
- isSupported(): Promise<boolean>;
2483
- /**
2484
- * Starts NFC host-card emulation (HCE)
2485
- * * `handler` implementation for handling NFC events
2486
- * * `message` UI message to be placed on the system overlay (iOS)
2487
- */
2488
- startHosting(handler: NfcHceHandler, message: string | undefined): Promise<void>;
2489
- /**
2490
- * stops emulation started via `start_hosting`
2491
- * * `success` true if hosting should be ended with a success or failure (iOS)
2492
- */
2493
- stopHosting(success: boolean): Promise<void>;
2494
- }
2495
- export interface NfcHceHandler {
2496
- /** Handle incoming APDU command, return response */
2497
- handleCommand(apdu: number[]): number[];
2498
- /** Called when NFC scanner disconnects */
2499
- onScannerDisconnected(): Promise<void>;
2500
- /** Called when NFC HCE hosting stops */
2501
- onSessionStopped(reason: NfcError): Promise<void>;
2502
- }
2503
- /** Provider of NFC scanner functionality */
2504
- export interface NfcScanner {
2505
- /**
2506
- * Stops scanning previously started via `scan`
2507
- * or disconnects the established session
2508
- * * `error_message` - error UI message to display on the system NFC overlay (iOS)
2509
- */
2510
- cancelScan(errorMessage: string | undefined): Promise<void>;
2511
- /** Check whether NFC adapter is enabled on the device (android only, iOS always enabled) */
2512
- isEnabled(): Promise<boolean>;
2513
- /** Check whether NFC scanning is supported on the device */
2514
- isSupported(): Promise<boolean>;
2515
- /**
2516
- * Starts scanning for ISO 7816-4 NFC tag
2517
- * * `message` - UI message to display on the system NFC overlay (iOS)
2518
- *
2519
- * This function returns when:
2520
- * * an IsoDep tag is scanned and session established
2521
- * * on cancellation (`cancel_scan`) - `NfcError::Cancelled`
2522
- * * or on failure
2523
- */
2524
- scan(message: string | undefined): Promise<void>;
2525
- /** Update UI message on the system NFC scanner overlay (iOS) - previously set via `scan` */
2526
- setMessage(message: string): Promise<void>;
2527
- /** Send APDU request and wait for response APDU */
2528
- transceive(commandApdu: number[]): Promise<number[]>;
2529
- }
2530
2536
  export interface OneCore {
2531
2537
  /**
2532
2538
  * Returns information about items that will be excluded from the
@@ -2565,9 +2571,15 @@ export interface OneCore {
2565
2571
  /** Creates an organization. */
2566
2572
  createOrganisation(request: CreateOrganisationRequest): Promise<string>;
2567
2573
  /**
2568
- * For verifiers, creates a proof request. Choose what information to
2569
- * request via a proof schema, an identifier, and which protocol to use
2570
- * for making the request.
2574
+ * For verifiers, creates a proof request and returns its ID. Choose
2575
+ * what information to request via a proof schema, an identifier, and
2576
+ * which protocol to use for making the request.
2577
+ *
2578
+ * For online protocols, the request is created in `CREATED` state;
2579
+ * share it with the wallet using `shareProof`. For `ISO_MDL`, the
2580
+ * wallet starts the exchange: pass the device engagement data from the
2581
+ * wallet in `isoMdlEngagement`. The request is created directly in
2582
+ * `PENDING` state and needs no sharing.
2571
2583
  */
2572
2584
  createProof(request: CreateProofRequest): Promise<string>;
2573
2585
  /**
@@ -2590,8 +2602,16 @@ export interface OneCore {
2590
2602
  /**
2591
2603
  * Deletes an incomplete proof request. If the request is in `REQUESTED`
2592
2604
  * state the proof is retracted instead, retaining history of the interaction.
2605
+ *
2606
+ * For `ISO_MDL`, this also closes the BLE session.
2593
2607
  */
2594
2608
  deleteProof(proofId: string): Promise<void>;
2609
+ /**
2610
+ * Deletes the claim data shared by the wallet holder for a proof
2611
+ * request, without waiting for the retention period set by the
2612
+ * `expireDuration` of the proof schema. The proof request itself is
2613
+ * kept, and `claimsRemovedAt` records when the claims were deleted.
2614
+ */
2595
2615
  deleteProofClaims(proofId: string): Promise<void>;
2596
2616
  deleteProofSchema(proofSchemaId: string): Promise<void>;
2597
2617
  /**
@@ -2626,8 +2646,21 @@ export interface OneCore {
2626
2646
  * offered to it.
2627
2647
  */
2628
2648
  getOrganisation(id: string): Promise<OrganisationDetail>;
2649
+ /**
2650
+ * For wallets, returns what a proof request asks for and which of the
2651
+ * wallet's credentials can satisfy it. Use the result to build the
2652
+ * submission for `holderSubmitProofV2`.
2653
+ *
2654
+ * For `ISO_MDL` requests, every claim has `required: false`, since the
2655
+ * protocol cannot mark claims as mandatory. An incomplete submission
2656
+ * may be rejected if the verifier requires claims not submitted.
2657
+ */
2629
2658
  getPresentationDefinitionV2(proofId: string): Promise<PresentationDefinitionV2>;
2630
- /** Returns detailed information about a proof request. */
2659
+ /**
2660
+ * Returns detailed information about a proof request.
2661
+ *
2662
+ * Poll this method to follow the state of the request.
2663
+ */
2631
2664
  getProof(proofId: string): Promise<ProofDetail>;
2632
2665
  getProofSchema(proofSchemaId: string): Promise<ProofSchemaDetail>;
2633
2666
  /**
@@ -2639,6 +2672,9 @@ export interface OneCore {
2639
2672
  * For a wallet, handles the interaction once the wallet connects to a share
2640
2673
  * endpoint URL (for example, scans the QR code of an offered credential or
2641
2674
  * request for proof).
2675
+ *
2676
+ * Not for use with `ISO_MDL` proximity flows, where the wallet initiates the
2677
+ * flow using `proposeProof` instead.
2642
2678
  */
2643
2679
  handleInvitation(request: HandleInvitationRequest): Promise<HandleInvitationResponse>;
2644
2680
  /**
@@ -2655,7 +2691,9 @@ export interface OneCore {
2655
2691
  * For wallets; returns the details of a single transaction data entry of a
2656
2692
  * proof request, including human-readable display data and the raw
2657
2693
  * transaction data received from the verifier. The `transactionDataId` is
2658
- * obtained from `getPresentationDefinitionv2`.
2694
+ * obtained from `getPresentationDefinitionV2`. See
2695
+ * [Transaction Authorization for Wallets](https://docs.procivis.ch/hold/transaction-authorization)
2696
+ * for more information.
2659
2697
  */
2660
2698
  holderGetTransactionData(proofId: string, transactionDataId: string): Promise<ProofTransactionData>;
2661
2699
  /**
@@ -2663,7 +2701,7 @@ export interface OneCore {
2663
2701
  * To see the result, call `holderGetInstance`.
2664
2702
  */
2665
2703
  holderInstanceStatus(id: string): Promise<void>;
2666
- /** Receive a new credential batch */
2704
+ /** Request a new credential batch. */
2667
2705
  holderRefreshCredential(interactionId: string): Promise<HolderRefreshCredentialResponse>;
2668
2706
  /** Registers the instance with a Wallet or Verifier Provider. */
2669
2707
  holderRegisterInstance(request: HolderRegisterInstanceRequest): Promise<HolderRegisterInstanceResponse>;
@@ -2673,11 +2711,21 @@ export interface OneCore {
2673
2711
  * A batch format is notified as rejected and excluded from refreshes only when all its items are rejected.
2674
2712
  */
2675
2713
  holderRejectCredential(interactionId: string, credentialIds: Array<string> | undefined): Promise<void>;
2676
- /** Rejects a proof request. */
2714
+ /**
2715
+ * For wallets, rejects a proof request. Pass the `interactionId` of
2716
+ * the request, not the proof ID.
2717
+ *
2718
+ * For `ISO_MDL`, the wallet sends an empty response to the verifier and
2719
+ * closes the BLE session.
2720
+ */
2677
2721
  holderRejectProof(interactionId: string): Promise<void>;
2678
2722
  /**
2679
- * Submits a presentation using DCQL as a query language; this should
2680
- * be used after `getPresentationDefinitionv2`.
2723
+ * For wallets, submits a presentation using DCQL as a query language.
2724
+ * Use this after `getPresentationDefinitionV2`. Pass the
2725
+ * `interactionId` of the request, not the proof ID.
2726
+ *
2727
+ * `submission` maps each credential query ID from the presentation
2728
+ * definition to the credentials chosen for it.
2681
2729
  */
2682
2730
  holderSubmitProofV2(interactionId: string, submission: Record<string, Array<PresentationSubmitV2CredentialRequest>>): Promise<void>;
2683
2731
  /**
@@ -2709,6 +2757,11 @@ export interface OneCore {
2709
2757
  * For wallets, initiates device engagement for offline flows. Reference
2710
2758
  * the `verificationEngagement` entry of your configuration for your
2711
2759
  * options for `engagement`.
2760
+ *
2761
+ * For `ISO_MDL`, this creates a proof in `PENDING` state and starts BLE
2762
+ * according to the `bleMode` set in your configuration. Poll `getProof`
2763
+ * until the state is `REQUESTED`, then call
2764
+ * `getPresentationDefinitionV2`.
2712
2765
  */
2713
2766
  proposeProof(request: ProposeProofRequest): Promise<ProposeProofResponse>;
2714
2767
  /**
@@ -2744,7 +2797,7 @@ export interface OneCore {
2744
2797
  shareCredentialSchema(credentialSchemaId: string): Promise<CredentialSchemaShareResponse>;
2745
2798
  /**
2746
2799
  * Creates a share URL from a proof request. A wallet holder can use this
2747
- * URL to access the request.
2800
+ * URL to access the request. Not used for the `ISO_MDL` proximity flow.
2748
2801
  */
2749
2802
  shareProof(proofId: string, params: ShareProofRequest): Promise<ShareProofResponse>;
2750
2803
  shareProofSchema(proofSchemaId: string): Promise<ProofSchemaShareResponse>;
@@ -2758,11 +2811,8 @@ export interface OneCore {
2758
2811
  * Follow by calling either `finalizeImport` or `rollbackImport`.
2759
2812
  */
2760
2813
  unpackBackup(password: string, inputPath: string): Promise<Metadata>;
2761
- /**
2762
- * Updates or deactivates an organization if it exists, otherwise
2763
- * creates a new organization using the provided UUID and name.
2764
- */
2765
- upsertOrganisation(request: UpsertOrganisationRequest): Promise<void>;
2814
+ /** Updates or deactivates an organization */
2815
+ updateOrganisation(request: UpdateOrganisationRequest): Promise<void>;
2766
2816
  /** Returns build information. */
2767
2817
  version(): Version;
2768
2818
  }