@0xpolygonid/js-sdk 1.0.0-beta.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.
- package/LICENSE +661 -0
- package/README.md +40 -0
- package/dist/cjs/auth/auth.js +179 -0
- package/dist/cjs/auth/auth.js.map +1 -0
- package/dist/cjs/auth/index.js +18 -0
- package/dist/cjs/auth/index.js.map +1 -0
- package/dist/cjs/circuits/atomic-query-mtp-v2.js +181 -0
- package/dist/cjs/circuits/atomic-query-mtp-v2.js.map +1 -0
- package/dist/cjs/circuits/atomic-query-sig-v2.js +219 -0
- package/dist/cjs/circuits/atomic-query-sig-v2.js.map +1 -0
- package/dist/cjs/circuits/auth-v2.js +99 -0
- package/dist/cjs/circuits/auth-v2.js.map +1 -0
- package/dist/cjs/circuits/common.js +193 -0
- package/dist/cjs/circuits/common.js.map +1 -0
- package/dist/cjs/circuits/comparer.js +132 -0
- package/dist/cjs/circuits/comparer.js.map +1 -0
- package/dist/cjs/circuits/index.js +24 -0
- package/dist/cjs/circuits/index.js.map +1 -0
- package/dist/cjs/circuits/models.js +110 -0
- package/dist/cjs/circuits/models.js.map +1 -0
- package/dist/cjs/circuits/state-transition.js +94 -0
- package/dist/cjs/circuits/state-transition.js.map +1 -0
- package/dist/cjs/credentials/credential-wallet.js +264 -0
- package/dist/cjs/credentials/credential-wallet.js.map +1 -0
- package/dist/cjs/credentials/index.js +18 -0
- package/dist/cjs/credentials/index.js.map +1 -0
- package/dist/cjs/credentials/revocation.js +290 -0
- package/dist/cjs/credentials/revocation.js.map +1 -0
- package/dist/cjs/iden3comm/constants.js +45 -0
- package/dist/cjs/iden3comm/constants.js.map +1 -0
- package/dist/cjs/iden3comm/errors.js +15 -0
- package/dist/cjs/iden3comm/errors.js.map +1 -0
- package/dist/cjs/iden3comm/index.js +35 -0
- package/dist/cjs/iden3comm/index.js.map +1 -0
- package/dist/cjs/iden3comm/packageManager.js +78 -0
- package/dist/cjs/iden3comm/packageManager.js.map +1 -0
- package/dist/cjs/iden3comm/packers/index.js +19 -0
- package/dist/cjs/iden3comm/packers/index.js.map +1 -0
- package/dist/cjs/iden3comm/packers/plain.js +49 -0
- package/dist/cjs/iden3comm/packers/plain.js.map +1 -0
- package/dist/cjs/iden3comm/packers/zkp.js +155 -0
- package/dist/cjs/iden3comm/packers/zkp.js.map +1 -0
- package/dist/cjs/iden3comm/types/index.js +24 -0
- package/dist/cjs/iden3comm/types/index.js.map +1 -0
- package/dist/cjs/iden3comm/types/packageManager.js +3 -0
- package/dist/cjs/iden3comm/types/packageManager.js.map +1 -0
- package/dist/cjs/iden3comm/types/packer.js +3 -0
- package/dist/cjs/iden3comm/types/packer.js.map +1 -0
- package/dist/cjs/iden3comm/types/protocol/auth.js +3 -0
- package/dist/cjs/iden3comm/types/protocol/auth.js.map +1 -0
- package/dist/cjs/iden3comm/types/protocol/credentials.js +3 -0
- package/dist/cjs/iden3comm/types/protocol/credentials.js.map +1 -0
- package/dist/cjs/iden3comm/types/protocol/messages.js +3 -0
- package/dist/cjs/iden3comm/types/protocol/messages.js.map +1 -0
- package/dist/cjs/iden3comm/types/protocol/proof.js +3 -0
- package/dist/cjs/iden3comm/types/protocol/proof.js.map +1 -0
- package/dist/cjs/iden3comm/types/protocol/revocation.js +3 -0
- package/dist/cjs/iden3comm/types/protocol/revocation.js.map +1 -0
- package/dist/cjs/iden3comm/utils/bytes.js +20 -0
- package/dist/cjs/iden3comm/utils/bytes.js.map +1 -0
- package/dist/cjs/iden3comm/utils/envelope.js +99 -0
- package/dist/cjs/iden3comm/utils/envelope.js.map +1 -0
- package/dist/cjs/iden3comm/utils/index.js +6 -0
- package/dist/cjs/iden3comm/utils/index.js.map +1 -0
- package/dist/cjs/iden3comm/utils/message.js +43 -0
- package/dist/cjs/iden3comm/utils/message.js.map +1 -0
- package/dist/cjs/identity/common.js +40 -0
- package/dist/cjs/identity/common.js.map +1 -0
- package/dist/cjs/identity/identity-wallet.js +422 -0
- package/dist/cjs/identity/identity-wallet.js.map +1 -0
- package/dist/cjs/identity/index.js +19 -0
- package/dist/cjs/identity/index.js.map +1 -0
- package/dist/cjs/index.js +42 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/kms/bjj-provider.js +101 -0
- package/dist/cjs/kms/bjj-provider.js.map +1 -0
- package/dist/cjs/kms/index.js +20 -0
- package/dist/cjs/kms/index.js.map +1 -0
- package/dist/cjs/kms/kms.js +74 -0
- package/dist/cjs/kms/kms.js.map +1 -0
- package/dist/cjs/kms/provider-helpers.js +49 -0
- package/dist/cjs/kms/provider-helpers.js.map +1 -0
- package/dist/cjs/kms/store/abstract-key-store.js +15 -0
- package/dist/cjs/kms/store/abstract-key-store.js.map +1 -0
- package/dist/cjs/kms/store/index.js +21 -0
- package/dist/cjs/kms/store/index.js.map +1 -0
- package/dist/cjs/kms/store/local-storage-key-store.js +56 -0
- package/dist/cjs/kms/store/local-storage-key-store.js.map +1 -0
- package/dist/cjs/kms/store/memory-key-store.js +28 -0
- package/dist/cjs/kms/store/memory-key-store.js.map +1 -0
- package/dist/cjs/kms/store/types.js +15 -0
- package/dist/cjs/kms/store/types.js.map +1 -0
- package/dist/cjs/loaders/index.js +19 -0
- package/dist/cjs/loaders/index.js.map +1 -0
- package/dist/cjs/loaders/key.js +50 -0
- package/dist/cjs/loaders/key.js.map +1 -0
- package/dist/cjs/loaders/schema.js +110 -0
- package/dist/cjs/loaders/schema.js.map +1 -0
- package/dist/cjs/proof/common.js +64 -0
- package/dist/cjs/proof/common.js.map +1 -0
- package/dist/cjs/proof/index.js +20 -0
- package/dist/cjs/proof/index.js.map +1 -0
- package/dist/cjs/proof/proof-service.js +344 -0
- package/dist/cjs/proof/proof-service.js.map +1 -0
- package/dist/cjs/proof/prover.js +79 -0
- package/dist/cjs/proof/prover.js.map +1 -0
- package/dist/cjs/proof/witness_calculator.js +282 -0
- package/dist/cjs/proof/witness_calculator.js.map +1 -0
- package/dist/cjs/schema-processor/index.js +19 -0
- package/dist/cjs/schema-processor/index.js.map +1 -0
- package/dist/cjs/schema-processor/json/index.js +19 -0
- package/dist/cjs/schema-processor/json/index.js.map +1 -0
- package/dist/cjs/schema-processor/json/parser.js +136 -0
- package/dist/cjs/schema-processor/json/parser.js.map +1 -0
- package/dist/cjs/schema-processor/json/validator.js +42 -0
- package/dist/cjs/schema-processor/json/validator.js.map +1 -0
- package/dist/cjs/schema-processor/utils.js +98 -0
- package/dist/cjs/schema-processor/utils.js.map +1 -0
- package/dist/cjs/storage/blockchain/index.js +18 -0
- package/dist/cjs/storage/blockchain/index.js.map +1 -0
- package/dist/cjs/storage/blockchain/state-abi.json +922 -0
- package/dist/cjs/storage/blockchain/state.js +112 -0
- package/dist/cjs/storage/blockchain/state.js.map +1 -0
- package/dist/cjs/storage/entities/circuitData.js +3 -0
- package/dist/cjs/storage/entities/circuitData.js.map +1 -0
- package/dist/cjs/storage/entities/identity.js +3 -0
- package/dist/cjs/storage/entities/identity.js.map +1 -0
- package/dist/cjs/storage/entities/index.js +21 -0
- package/dist/cjs/storage/entities/index.js.map +1 -0
- package/dist/cjs/storage/entities/mt.js +19 -0
- package/dist/cjs/storage/entities/mt.js.map +1 -0
- package/dist/cjs/storage/entities/state.js +3 -0
- package/dist/cjs/storage/entities/state.js.map +1 -0
- package/dist/cjs/storage/errors.js +14 -0
- package/dist/cjs/storage/errors.js.map +1 -0
- package/dist/cjs/storage/filters/index.js +18 -0
- package/dist/cjs/storage/filters/index.js.map +1 -0
- package/dist/cjs/storage/filters/jsonQuery.js +141 -0
- package/dist/cjs/storage/filters/jsonQuery.js.map +1 -0
- package/dist/cjs/storage/index.js +24 -0
- package/dist/cjs/storage/index.js.map +1 -0
- package/dist/cjs/storage/interfaces/circuits.js +3 -0
- package/dist/cjs/storage/interfaces/circuits.js.map +1 -0
- package/dist/cjs/storage/interfaces/credentials.js +3 -0
- package/dist/cjs/storage/interfaces/credentials.js.map +1 -0
- package/dist/cjs/storage/interfaces/data-source.js +3 -0
- package/dist/cjs/storage/interfaces/data-source.js.map +1 -0
- package/dist/cjs/storage/interfaces/data-storage.js +3 -0
- package/dist/cjs/storage/interfaces/data-storage.js.map +1 -0
- package/dist/cjs/storage/interfaces/identity.js +3 -0
- package/dist/cjs/storage/interfaces/identity.js.map +1 -0
- package/dist/cjs/storage/interfaces/index.js +24 -0
- package/dist/cjs/storage/interfaces/index.js.map +1 -0
- package/dist/cjs/storage/interfaces/merkletree.js +3 -0
- package/dist/cjs/storage/interfaces/merkletree.js.map +1 -0
- package/dist/cjs/storage/interfaces/state.js +3 -0
- package/dist/cjs/storage/interfaces/state.js.map +1 -0
- package/dist/cjs/storage/local-storage/data-source.js +89 -0
- package/dist/cjs/storage/local-storage/data-source.js.map +1 -0
- package/dist/cjs/storage/local-storage/index.js +19 -0
- package/dist/cjs/storage/local-storage/index.js.map +1 -0
- package/dist/cjs/storage/local-storage/merkletree.js +148 -0
- package/dist/cjs/storage/local-storage/merkletree.js.map +1 -0
- package/dist/cjs/storage/memory/data-source.js +49 -0
- package/dist/cjs/storage/memory/data-source.js.map +1 -0
- package/dist/cjs/storage/memory/index.js +19 -0
- package/dist/cjs/storage/memory/index.js.map +1 -0
- package/dist/cjs/storage/memory/merkletree.js +94 -0
- package/dist/cjs/storage/memory/merkletree.js.map +1 -0
- package/dist/cjs/storage/shared/circuit-storage.js +46 -0
- package/dist/cjs/storage/shared/circuit-storage.js.map +1 -0
- package/dist/cjs/storage/shared/credential-storage.js +66 -0
- package/dist/cjs/storage/shared/credential-storage.js.map +1 -0
- package/dist/cjs/storage/shared/identity-storage.js +71 -0
- package/dist/cjs/storage/shared/identity-storage.js.map +1 -0
- package/dist/cjs/storage/shared/index.js +20 -0
- package/dist/cjs/storage/shared/index.js.map +1 -0
- package/dist/cjs/verifiable/constants.js +104 -0
- package/dist/cjs/verifiable/constants.js.map +1 -0
- package/dist/cjs/verifiable/credential.js +129 -0
- package/dist/cjs/verifiable/credential.js.map +1 -0
- package/dist/cjs/verifiable/index.js +21 -0
- package/dist/cjs/verifiable/index.js.map +1 -0
- package/dist/cjs/verifiable/proof.js +70 -0
- package/dist/cjs/verifiable/proof.js.map +1 -0
- package/dist/cjs/verifiable/schema.js +245 -0
- package/dist/cjs/verifiable/schema.js.map +1 -0
- package/dist/esm/auth/auth.js +152 -0
- package/dist/esm/auth/auth.js.map +1 -0
- package/dist/esm/auth/index.js +2 -0
- package/dist/esm/auth/index.js.map +1 -0
- package/dist/esm/circuits/atomic-query-mtp-v2.js +176 -0
- package/dist/esm/circuits/atomic-query-mtp-v2.js.map +1 -0
- package/dist/esm/circuits/atomic-query-sig-v2.js +214 -0
- package/dist/esm/circuits/atomic-query-sig-v2.js.map +1 -0
- package/dist/esm/circuits/auth-v2.js +94 -0
- package/dist/esm/circuits/auth-v2.js.map +1 -0
- package/dist/esm/circuits/common.js +186 -0
- package/dist/esm/circuits/common.js.map +1 -0
- package/dist/esm/circuits/comparer.js +126 -0
- package/dist/esm/circuits/comparer.js.map +1 -0
- package/dist/esm/circuits/index.js +8 -0
- package/dist/esm/circuits/index.js.map +1 -0
- package/dist/esm/circuits/models.js +104 -0
- package/dist/esm/circuits/models.js.map +1 -0
- package/dist/esm/circuits/state-transition.js +89 -0
- package/dist/esm/circuits/state-transition.js.map +1 -0
- package/dist/esm/credentials/credential-wallet.js +232 -0
- package/dist/esm/credentials/credential-wallet.js.map +1 -0
- package/dist/esm/credentials/index.js +2 -0
- package/dist/esm/credentials/index.js.map +1 -0
- package/dist/esm/credentials/revocation.js +281 -0
- package/dist/esm/credentials/revocation.js.map +1 -0
- package/dist/esm/iden3comm/constants.js +42 -0
- package/dist/esm/iden3comm/constants.js.map +1 -0
- package/dist/esm/iden3comm/errors.js +12 -0
- package/dist/esm/iden3comm/errors.js.map +1 -0
- package/dist/esm/iden3comm/index.js +6 -0
- package/dist/esm/iden3comm/index.js.map +1 -0
- package/dist/esm/iden3comm/packageManager.js +74 -0
- package/dist/esm/iden3comm/packageManager.js.map +1 -0
- package/dist/esm/iden3comm/packers/index.js +3 -0
- package/dist/esm/iden3comm/packers/index.js.map +1 -0
- package/dist/esm/iden3comm/packers/plain.js +45 -0
- package/dist/esm/iden3comm/packers/plain.js.map +1 -0
- package/dist/esm/iden3comm/packers/zkp.js +149 -0
- package/dist/esm/iden3comm/packers/zkp.js.map +1 -0
- package/dist/esm/iden3comm/types/index.js +8 -0
- package/dist/esm/iden3comm/types/index.js.map +1 -0
- package/dist/esm/iden3comm/types/packageManager.js +2 -0
- package/dist/esm/iden3comm/types/packageManager.js.map +1 -0
- package/dist/esm/iden3comm/types/packer.js +2 -0
- package/dist/esm/iden3comm/types/packer.js.map +1 -0
- package/dist/esm/iden3comm/types/protocol/auth.js +2 -0
- package/dist/esm/iden3comm/types/protocol/auth.js.map +1 -0
- package/dist/esm/iden3comm/types/protocol/credentials.js +2 -0
- package/dist/esm/iden3comm/types/protocol/credentials.js.map +1 -0
- package/dist/esm/iden3comm/types/protocol/messages.js +2 -0
- package/dist/esm/iden3comm/types/protocol/messages.js.map +1 -0
- package/dist/esm/iden3comm/types/protocol/proof.js +2 -0
- package/dist/esm/iden3comm/types/protocol/proof.js.map +1 -0
- package/dist/esm/iden3comm/types/protocol/revocation.js +2 -0
- package/dist/esm/iden3comm/types/protocol/revocation.js.map +1 -0
- package/dist/esm/iden3comm/utils/bytes.js +20 -0
- package/dist/esm/iden3comm/utils/bytes.js.map +1 -0
- package/dist/esm/iden3comm/utils/envelope.js +92 -0
- package/dist/esm/iden3comm/utils/envelope.js.map +1 -0
- package/dist/esm/iden3comm/utils/index.js +3 -0
- package/dist/esm/iden3comm/utils/index.js.map +1 -0
- package/dist/esm/iden3comm/utils/message.js +37 -0
- package/dist/esm/iden3comm/utils/message.js.map +1 -0
- package/dist/esm/identity/common.js +35 -0
- package/dist/esm/identity/common.js.map +1 -0
- package/dist/esm/identity/identity-wallet.js +395 -0
- package/dist/esm/identity/identity-wallet.js.map +1 -0
- package/dist/esm/identity/index.js +3 -0
- package/dist/esm/identity/index.js.map +1 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/kms/bjj-provider.js +74 -0
- package/dist/esm/kms/bjj-provider.js.map +1 -0
- package/dist/esm/kms/index.js +4 -0
- package/dist/esm/kms/index.js.map +1 -0
- package/dist/esm/kms/kms.js +70 -0
- package/dist/esm/kms/kms.js.map +1 -0
- package/dist/esm/kms/provider-helpers.js +44 -0
- package/dist/esm/kms/provider-helpers.js.map +1 -0
- package/dist/esm/kms/store/abstract-key-store.js +11 -0
- package/dist/esm/kms/store/abstract-key-store.js.map +1 -0
- package/dist/esm/kms/store/index.js +5 -0
- package/dist/esm/kms/store/index.js.map +1 -0
- package/dist/esm/kms/store/local-storage-key-store.js +52 -0
- package/dist/esm/kms/store/local-storage-key-store.js.map +1 -0
- package/dist/esm/kms/store/memory-key-store.js +24 -0
- package/dist/esm/kms/store/memory-key-store.js.map +1 -0
- package/dist/esm/kms/store/types.js +12 -0
- package/dist/esm/kms/store/types.js.map +1 -0
- package/dist/esm/loaders/index.js +3 -0
- package/dist/esm/loaders/index.js.map +1 -0
- package/dist/esm/loaders/key.js +23 -0
- package/dist/esm/loaders/key.js.map +1 -0
- package/dist/esm/loaders/schema.js +100 -0
- package/dist/esm/loaders/schema.js.map +1 -0
- package/dist/esm/proof/common.js +59 -0
- package/dist/esm/proof/common.js.map +1 -0
- package/dist/esm/proof/index.js +4 -0
- package/dist/esm/proof/index.js.map +1 -0
- package/dist/esm/proof/proof-service.js +339 -0
- package/dist/esm/proof/proof-service.js.map +1 -0
- package/dist/esm/proof/prover.js +52 -0
- package/dist/esm/proof/prover.js.map +1 -0
- package/dist/esm/proof/witness_calculator.js +278 -0
- package/dist/esm/proof/witness_calculator.js.map +1 -0
- package/dist/esm/schema-processor/index.js +3 -0
- package/dist/esm/schema-processor/index.js.map +1 -0
- package/dist/esm/schema-processor/json/index.js +3 -0
- package/dist/esm/schema-processor/json/index.js.map +1 -0
- package/dist/esm/schema-processor/json/parser.js +132 -0
- package/dist/esm/schema-processor/json/parser.js.map +1 -0
- package/dist/esm/schema-processor/json/validator.js +35 -0
- package/dist/esm/schema-processor/json/validator.js.map +1 -0
- package/dist/esm/schema-processor/utils.js +89 -0
- package/dist/esm/schema-processor/utils.js.map +1 -0
- package/dist/esm/storage/blockchain/index.js +2 -0
- package/dist/esm/storage/blockchain/index.js.map +1 -0
- package/dist/esm/storage/blockchain/state-abi.json +922 -0
- package/dist/esm/storage/blockchain/state.js +105 -0
- package/dist/esm/storage/blockchain/state.js.map +1 -0
- package/dist/esm/storage/entities/circuitData.js +2 -0
- package/dist/esm/storage/entities/circuitData.js.map +1 -0
- package/dist/esm/storage/entities/identity.js +2 -0
- package/dist/esm/storage/entities/identity.js.map +1 -0
- package/dist/esm/storage/entities/index.js +5 -0
- package/dist/esm/storage/entities/index.js.map +1 -0
- package/dist/esm/storage/entities/mt.js +16 -0
- package/dist/esm/storage/entities/mt.js.map +1 -0
- package/dist/esm/storage/entities/state.js +2 -0
- package/dist/esm/storage/entities/state.js.map +1 -0
- package/dist/esm/storage/errors.js +11 -0
- package/dist/esm/storage/errors.js.map +1 -0
- package/dist/esm/storage/filters/index.js +2 -0
- package/dist/esm/storage/filters/index.js.map +1 -0
- package/dist/esm/storage/filters/jsonQuery.js +134 -0
- package/dist/esm/storage/filters/jsonQuery.js.map +1 -0
- package/dist/esm/storage/index.js +8 -0
- package/dist/esm/storage/index.js.map +1 -0
- package/dist/esm/storage/interfaces/circuits.js +2 -0
- package/dist/esm/storage/interfaces/circuits.js.map +1 -0
- package/dist/esm/storage/interfaces/credentials.js +2 -0
- package/dist/esm/storage/interfaces/credentials.js.map +1 -0
- package/dist/esm/storage/interfaces/data-source.js +2 -0
- package/dist/esm/storage/interfaces/data-source.js.map +1 -0
- package/dist/esm/storage/interfaces/data-storage.js +2 -0
- package/dist/esm/storage/interfaces/data-storage.js.map +1 -0
- package/dist/esm/storage/interfaces/identity.js +2 -0
- package/dist/esm/storage/interfaces/identity.js.map +1 -0
- package/dist/esm/storage/interfaces/index.js +8 -0
- package/dist/esm/storage/interfaces/index.js.map +1 -0
- package/dist/esm/storage/interfaces/merkletree.js +2 -0
- package/dist/esm/storage/interfaces/merkletree.js.map +1 -0
- package/dist/esm/storage/interfaces/state.js +2 -0
- package/dist/esm/storage/interfaces/state.js.map +1 -0
- package/dist/esm/storage/local-storage/data-source.js +85 -0
- package/dist/esm/storage/local-storage/data-source.js.map +1 -0
- package/dist/esm/storage/local-storage/index.js +3 -0
- package/dist/esm/storage/local-storage/index.js.map +1 -0
- package/dist/esm/storage/local-storage/merkletree.js +121 -0
- package/dist/esm/storage/local-storage/merkletree.js.map +1 -0
- package/dist/esm/storage/memory/data-source.js +45 -0
- package/dist/esm/storage/memory/data-source.js.map +1 -0
- package/dist/esm/storage/memory/index.js +3 -0
- package/dist/esm/storage/memory/index.js.map +1 -0
- package/dist/esm/storage/memory/merkletree.js +67 -0
- package/dist/esm/storage/memory/merkletree.js.map +1 -0
- package/dist/esm/storage/shared/circuit-storage.js +42 -0
- package/dist/esm/storage/shared/circuit-storage.js.map +1 -0
- package/dist/esm/storage/shared/credential-storage.js +62 -0
- package/dist/esm/storage/shared/credential-storage.js.map +1 -0
- package/dist/esm/storage/shared/identity-storage.js +67 -0
- package/dist/esm/storage/shared/identity-storage.js.map +1 -0
- package/dist/esm/storage/shared/index.js +4 -0
- package/dist/esm/storage/shared/index.js.map +1 -0
- package/dist/esm/verifiable/constants.js +101 -0
- package/dist/esm/verifiable/constants.js.map +1 -0
- package/dist/esm/verifiable/credential.js +124 -0
- package/dist/esm/verifiable/credential.js.map +1 -0
- package/dist/esm/verifiable/index.js +5 -0
- package/dist/esm/verifiable/index.js.map +1 -0
- package/dist/esm/verifiable/proof.js +64 -0
- package/dist/esm/verifiable/proof.js.map +1 -0
- package/dist/esm/verifiable/schema.js +242 -0
- package/dist/esm/verifiable/schema.js.map +1 -0
- package/dist/esm_esbuild/index.js +128087 -0
- package/dist/esm_esbuild/index.js.map +7 -0
- package/dist/types/auth/auth.d.ts +131 -0
- package/dist/types/auth/index.d.ts +1 -0
- package/dist/types/circuits/atomic-query-mtp-v2.d.ts +64 -0
- package/dist/types/circuits/atomic-query-sig-v2.d.ts +65 -0
- package/dist/types/circuits/auth-v2.d.ts +46 -0
- package/dist/types/circuits/common.d.ts +124 -0
- package/dist/types/circuits/comparer.d.ts +87 -0
- package/dist/types/circuits/index.d.ts +7 -0
- package/dist/types/circuits/models.d.ts +181 -0
- package/dist/types/circuits/state-transition.d.ts +50 -0
- package/dist/types/credentials/credential-wallet.d.ts +248 -0
- package/dist/types/credentials/index.d.ts +1 -0
- package/dist/types/credentials/revocation.d.ts +97 -0
- package/dist/types/iden3comm/constants.d.ts +27 -0
- package/dist/types/iden3comm/errors.d.ts +8 -0
- package/dist/types/iden3comm/index.d.ts +5 -0
- package/dist/types/iden3comm/packageManager.d.ts +31 -0
- package/dist/types/iden3comm/packers/index.d.ts +2 -0
- package/dist/types/iden3comm/packers/plain.d.ts +34 -0
- package/dist/types/iden3comm/packers/zkp.d.ts +86 -0
- package/dist/types/iden3comm/types/index.d.ts +15 -0
- package/dist/types/iden3comm/types/packageManager.d.ts +80 -0
- package/dist/types/iden3comm/types/packer.d.ts +59 -0
- package/dist/types/iden3comm/types/protocol/auth.d.ts +49 -0
- package/dist/types/iden3comm/types/protocol/credentials.d.ts +74 -0
- package/dist/types/iden3comm/types/protocol/messages.d.ts +16 -0
- package/dist/types/iden3comm/types/protocol/proof.d.ts +31 -0
- package/dist/types/iden3comm/types/protocol/revocation.d.ts +28 -0
- package/dist/types/iden3comm/utils/bytes.d.ts +8 -0
- package/dist/types/iden3comm/utils/envelope.d.ts +31 -0
- package/dist/types/iden3comm/utils/index.d.ts +2 -0
- package/dist/types/iden3comm/utils/message.d.ts +19 -0
- package/dist/types/identity/common.d.ts +18 -0
- package/dist/types/identity/identity-wallet.d.ts +248 -0
- package/dist/types/identity/index.d.ts +2 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/kms/bjj-provider.d.ts +47 -0
- package/dist/types/kms/index.d.ts +3 -0
- package/dist/types/kms/kms.d.ts +80 -0
- package/dist/types/kms/provider-helpers.d.ts +18 -0
- package/dist/types/kms/store/abstract-key-store.d.ts +31 -0
- package/dist/types/kms/store/index.d.ts +4 -0
- package/dist/types/kms/store/local-storage-key-store.d.ts +32 -0
- package/dist/types/kms/store/memory-key-store.d.ts +20 -0
- package/dist/types/kms/store/types.d.ts +21 -0
- package/dist/types/loaders/index.d.ts +2 -0
- package/dist/types/loaders/key.d.ts +29 -0
- package/dist/types/loaders/schema.d.ts +85 -0
- package/dist/types/proof/common.d.ts +17 -0
- package/dist/types/proof/index.d.ts +3 -0
- package/dist/types/proof/proof-service.d.ts +121 -0
- package/dist/types/proof/prover.d.ts +11 -0
- package/dist/types/proof/witness_calculator.d.ts +16 -0
- package/dist/types/schema-processor/index.d.ts +2 -0
- package/dist/types/schema-processor/json/index.d.ts +2 -0
- package/dist/types/schema-processor/json/parser.d.ts +103 -0
- package/dist/types/schema-processor/json/validator.d.ts +22 -0
- package/dist/types/schema-processor/utils.d.ts +49 -0
- package/dist/types/storage/blockchain/index.d.ts +1 -0
- package/dist/types/storage/blockchain/state.d.ts +52 -0
- package/dist/types/storage/entities/circuitData.d.ts +7 -0
- package/dist/types/storage/entities/identity.d.ts +15 -0
- package/dist/types/storage/entities/index.d.ts +4 -0
- package/dist/types/storage/entities/mt.d.ts +23 -0
- package/dist/types/storage/entities/state.d.ts +48 -0
- package/dist/types/storage/errors.d.ts +9 -0
- package/dist/types/storage/filters/index.d.ts +1 -0
- package/dist/types/storage/filters/jsonQuery.d.ts +82 -0
- package/dist/types/storage/index.d.ts +7 -0
- package/dist/types/storage/interfaces/circuits.d.ts +26 -0
- package/dist/types/storage/interfaces/credentials.d.ts +53 -0
- package/dist/types/storage/interfaces/data-source.d.ts +39 -0
- package/dist/types/storage/interfaces/data-storage.d.ts +17 -0
- package/dist/types/storage/interfaces/identity.d.ts +63 -0
- package/dist/types/storage/interfaces/index.d.ts +7 -0
- package/dist/types/storage/interfaces/merkletree.d.ts +44 -0
- package/dist/types/storage/interfaces/state.d.ts +41 -0
- package/dist/types/storage/local-storage/data-source.d.ts +47 -0
- package/dist/types/storage/local-storage/index.d.ts +2 -0
- package/dist/types/storage/local-storage/merkletree.d.ts +46 -0
- package/dist/types/storage/memory/data-source.d.ts +22 -0
- package/dist/types/storage/memory/index.d.ts +2 -0
- package/dist/types/storage/memory/merkletree.d.ts +49 -0
- package/dist/types/storage/shared/circuit-storage.d.ts +35 -0
- package/dist/types/storage/shared/credential-storage.d.ts +39 -0
- package/dist/types/storage/shared/identity-storage.d.ts +40 -0
- package/dist/types/storage/shared/index.d.ts +3 -0
- package/dist/types/verifiable/constants.d.ts +78 -0
- package/dist/types/verifiable/credential.d.ts +123 -0
- package/dist/types/verifiable/index.d.ts +4 -0
- package/dist/types/verifiable/proof.d.ts +123 -0
- package/dist/types/verifiable/schema.d.ts +2 -0
- package/dist/umd/index.js +462 -0
- package/dist/umd/index.js.map +7 -0
- package/package.json +95 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { buildDIDType, BytesHelper, DID, Id } from '@iden3/js-iden3-core';
|
|
2
|
+
import axios from 'axios';
|
|
3
|
+
import { W3CCredential, VerifiableConstants, CredentialStatusType } from './../verifiable';
|
|
4
|
+
import * as uuid from 'uuid';
|
|
5
|
+
import { getStatusFromRHS } from './revocation';
|
|
6
|
+
import { Proof } from '@iden3/js-merkletree';
|
|
7
|
+
// ErrAllClaimsRevoked all claims are revoked.
|
|
8
|
+
const ErrAllClaimsRevoked = 'all claims are revoked';
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* Wallet instance is a wrapper of CRUD logic for W3C credentials,
|
|
12
|
+
* also it allows to fetch revocation statuses.
|
|
13
|
+
*
|
|
14
|
+
* @export
|
|
15
|
+
* @beta
|
|
16
|
+
* @class CredentialWallet
|
|
17
|
+
* @implements implements ICredentialWallet interface
|
|
18
|
+
*/
|
|
19
|
+
export class CredentialWallet {
|
|
20
|
+
/**
|
|
21
|
+
* Creates an instance of CredentialWallet.
|
|
22
|
+
* @param {IDataStorage} _storage - - data storage to access credential / identity / Merkle tree data
|
|
23
|
+
*/
|
|
24
|
+
constructor(_storage) {
|
|
25
|
+
this._storage = _storage;
|
|
26
|
+
/**
|
|
27
|
+
* {@inheritDoc ICredentialWallet.createCredential}
|
|
28
|
+
*/
|
|
29
|
+
this.createCredential = (hostUrl, issuer, request, schema, rhsUrl) => {
|
|
30
|
+
if (!schema.$metadata.uris['jsonLdContext']) {
|
|
31
|
+
throw new Error('jsonLdContext is missing is the schema');
|
|
32
|
+
}
|
|
33
|
+
const context = [
|
|
34
|
+
VerifiableConstants.JSONLD_SCHEMA.W3C_CREDENTIAL_2018,
|
|
35
|
+
VerifiableConstants.JSONLD_SCHEMA.IDEN3_CREDENTIAL,
|
|
36
|
+
schema.$metadata.uris['jsonLdContext']
|
|
37
|
+
];
|
|
38
|
+
const credentialType = [VerifiableConstants.CREDENTIAL_TYPE.W3C_VERIFIABLE, request.type];
|
|
39
|
+
const expirationDate = !request.expiration || request.expiration == 0 ? null : request.expiration;
|
|
40
|
+
const issuerDID = issuer.toString();
|
|
41
|
+
const credentialSubject = request.credentialSubject;
|
|
42
|
+
credentialSubject['type'] = request.type;
|
|
43
|
+
const cr = new W3CCredential();
|
|
44
|
+
cr.id = `${hostUrl}/${uuid.v4()}`;
|
|
45
|
+
cr['@context'] = context;
|
|
46
|
+
cr.type = credentialType;
|
|
47
|
+
cr.expirationDate = expirationDate ? new Date(expirationDate * 1000).toISOString() : undefined;
|
|
48
|
+
cr.issuanceDate = new Date().toISOString();
|
|
49
|
+
cr.credentialSubject = credentialSubject;
|
|
50
|
+
cr.issuer = issuerDID.toString();
|
|
51
|
+
cr.credentialSchema = {
|
|
52
|
+
id: request.credentialSchema,
|
|
53
|
+
type: VerifiableConstants.JSON_SCHEMA_VALIDATOR
|
|
54
|
+
};
|
|
55
|
+
if (rhsUrl) {
|
|
56
|
+
cr.credentialStatus = {
|
|
57
|
+
id: `${rhsUrl}`,
|
|
58
|
+
revocationNonce: request.revNonce,
|
|
59
|
+
type: CredentialStatusType.Iden3ReverseSparseMerkleTreeProof
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
cr.credentialStatus = {
|
|
64
|
+
id: `${hostUrl}/revocation/${request.revNonce}`,
|
|
65
|
+
revocationNonce: request.revNonce,
|
|
66
|
+
type: CredentialStatusType.SparseMerkleTreeProof
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return cr;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* {@inheritDoc ICredentialWallet.getAuthBJJCredential}
|
|
74
|
+
*/
|
|
75
|
+
async getAuthBJJCredential(did) {
|
|
76
|
+
// filter where the issuer of auth credential is given did
|
|
77
|
+
const authBJJCredsOfIssuer = await this._storage.credential.findCredentialsByQuery({
|
|
78
|
+
context: VerifiableConstants.AUTH.AUTH_BJJ_CREDENTIAL_SCHEMA_JSONLD_URL,
|
|
79
|
+
type: VerifiableConstants.AUTH.AUTH_BJJ_CREDENTIAL_TYPE,
|
|
80
|
+
allowedIssuers: [did.toString()]
|
|
81
|
+
});
|
|
82
|
+
if (!authBJJCredsOfIssuer.length) {
|
|
83
|
+
throw new Error('no auth credentials found');
|
|
84
|
+
}
|
|
85
|
+
for (let index = 0; index < authBJJCredsOfIssuer.length; index++) {
|
|
86
|
+
const authCred = authBJJCredsOfIssuer[index];
|
|
87
|
+
const revocationStatus = await this.getRevocationStatusFromCredential(authCred);
|
|
88
|
+
if (!revocationStatus.mtp.existence) {
|
|
89
|
+
return authCred;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
throw new Error('all auth bjj credentials are revoked');
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* {@inheritDoc ICredentialWallet.getRevocationStatusFromCredential}
|
|
96
|
+
*/
|
|
97
|
+
async getRevocationStatusFromCredential(cred) {
|
|
98
|
+
const mtpProof = cred.getIden3SparseMerkleTreeProof();
|
|
99
|
+
const sigProof = cred.getBJJSignature2021Proof();
|
|
100
|
+
const issuerData = mtpProof
|
|
101
|
+
? mtpProof.issuerData
|
|
102
|
+
: sigProof?.issuerData;
|
|
103
|
+
if (!issuerData) {
|
|
104
|
+
throw new Error('no sig / mtp proof to check issuer info');
|
|
105
|
+
}
|
|
106
|
+
const issuerDID = DID.parse(cred.issuer);
|
|
107
|
+
return await this.getRevocationStatus(cred.credentialStatus, issuerDID, issuerData);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* {@inheritDoc ICredentialWallet.getRevocationStatus}
|
|
111
|
+
*/
|
|
112
|
+
async getRevocationStatus(credStatus, issuerDID, issuerData) {
|
|
113
|
+
if (credStatus.type === CredentialStatusType.SparseMerkleTreeProof) {
|
|
114
|
+
return (await axios.get(credStatus.id)).data;
|
|
115
|
+
}
|
|
116
|
+
if (credStatus.type === CredentialStatusType.Iden3ReverseSparseMerkleTreeProof) {
|
|
117
|
+
try {
|
|
118
|
+
return await getStatusFromRHS(issuerDID, credStatus, this._storage.states);
|
|
119
|
+
}
|
|
120
|
+
catch (e) {
|
|
121
|
+
const errMsg = e['reason'] ?? e.message;
|
|
122
|
+
if (errMsg.includes(VerifiableConstants.ERRORS.IDENTITY_DOES_NOT_EXIST) &&
|
|
123
|
+
isIssuerGenesis(issuerDID.toString(), issuerData.state.value)) {
|
|
124
|
+
return {
|
|
125
|
+
mtp: new Proof(),
|
|
126
|
+
issuer: {
|
|
127
|
+
state: issuerData.state.value,
|
|
128
|
+
revocationTreeRoot: issuerData.state.revocationTreeRoot,
|
|
129
|
+
rootOfRoots: issuerData.state.rootOfRoots,
|
|
130
|
+
claimsTreeRoot: issuerData.state.claimsTreeRoot
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
const status = credStatus;
|
|
135
|
+
if (status?.statusIssuer?.type === CredentialStatusType.SparseMerkleTreeProof) {
|
|
136
|
+
return (await axios.get(credStatus.id)).data;
|
|
137
|
+
}
|
|
138
|
+
throw new Error(`can't fetch revocation status`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
throw new Error('revocation status unknown');
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* {@inheritDoc ICredentialWallet.findById}
|
|
145
|
+
*/
|
|
146
|
+
async findById(id) {
|
|
147
|
+
return this._storage.credential.findCredentialById(id);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* {@inheritDoc ICredentialWallet.findByContextType}
|
|
151
|
+
*/
|
|
152
|
+
async findByContextType(context, type) {
|
|
153
|
+
return this._storage.credential.findCredentialsByQuery({ context, type });
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* {@inheritDoc ICredentialWallet.save}
|
|
157
|
+
*/
|
|
158
|
+
async save(credential) {
|
|
159
|
+
return this._storage.credential.saveCredential(credential);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* {@inheritDoc ICredentialWallet.saveAll}
|
|
163
|
+
*/
|
|
164
|
+
async saveAll(credentials) {
|
|
165
|
+
return this._storage.credential.saveAllCredentials(credentials);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* {@inheritDoc ICredentialWallet.remove}
|
|
169
|
+
*/
|
|
170
|
+
async remove(id) {
|
|
171
|
+
return this._storage.credential.removeCredential(id);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* {@inheritDoc ICredentialWallet.list}
|
|
175
|
+
*/
|
|
176
|
+
async list() {
|
|
177
|
+
return this._storage.credential.listCredentials();
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* {@inheritDoc ICredentialWallet.findByQuery}
|
|
181
|
+
*/
|
|
182
|
+
async findByQuery(query) {
|
|
183
|
+
return this._storage.credential.findCredentialsByQuery(query);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* {@inheritDoc ICredentialWallet.filterByCredentialSubject}
|
|
187
|
+
*/
|
|
188
|
+
async filterByCredentialSubject(credentials, subject) {
|
|
189
|
+
return credentials.filter((cred) => {
|
|
190
|
+
return cred.credentialSubject['id'] === subject.toString();
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
async findNonRevokedCredential(creds) {
|
|
194
|
+
for (const cred of creds) {
|
|
195
|
+
const revStatus = await this.getRevocationStatusFromCredential(cred);
|
|
196
|
+
if (revStatus.mtp.existence) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
return { cred, revStatus };
|
|
200
|
+
}
|
|
201
|
+
throw new Error(ErrAllClaimsRevoked);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Checks if issuer did is created from given state is genesis
|
|
206
|
+
*
|
|
207
|
+
* @export
|
|
208
|
+
* @param {string} issuer - did (string)
|
|
209
|
+
* @param {string} state - hex state
|
|
210
|
+
* @returns boolean
|
|
211
|
+
*/
|
|
212
|
+
export function isIssuerGenesis(issuer, state) {
|
|
213
|
+
const did = DID.parse(issuer);
|
|
214
|
+
const arr = BytesHelper.hexToBytes(state);
|
|
215
|
+
const stateBigInt = BytesHelper.bytesToInt(arr);
|
|
216
|
+
const type = buildDIDType(did.method, did.blockchain, did.networkId);
|
|
217
|
+
return isGenesisStateId(did.id.bigInt(), stateBigInt, type);
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Checks if id is created from given state and type is genesis
|
|
221
|
+
*
|
|
222
|
+
* @export
|
|
223
|
+
* @param {bigint} id
|
|
224
|
+
* @param {bigint} state
|
|
225
|
+
* @param {Uint8Array} type
|
|
226
|
+
* @returns boolean - returns if id is genesis
|
|
227
|
+
*/
|
|
228
|
+
export function isGenesisStateId(id, state, type) {
|
|
229
|
+
const idFromState = Id.idGenesisFromIdenState(type, state);
|
|
230
|
+
return id.toString() === idFromState.bigInt().toString();
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=credential-wallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-wallet.js","sourceRoot":"","sources":["../../../src/credentials/credential-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,aAAa,EAEb,mBAAmB,EAMnB,oBAAoB,EAErB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,8CAA8C;AAC9C,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AA2KrD;;;;;;;;;GASG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;;OAGG;IACH,YAA6B,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QAwFnD;;WAEG;QACH,qBAAgB,GAAG,CACjB,OAAe,EACf,MAAW,EACX,OAA0B,EAC1B,MAAkB,EAClB,MAAe,EACA,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC3D;YACD,MAAM,OAAO,GAAG;gBACd,mBAAmB,CAAC,aAAa,CAAC,mBAAmB;gBACrD,mBAAmB,CAAC,aAAa,CAAC,gBAAgB;gBAClD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;aACvC,CAAC;YACF,MAAM,cAAc,GAAG,CAAC,mBAAmB,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAE1F,MAAM,cAAc,GAClB,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YAE7E,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YACpD,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAEzC,MAAM,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;YAC/B,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;YAClC,EAAE,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;YACzB,EAAE,CAAC,IAAI,GAAG,cAAc,CAAC;YACzB,EAAE,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/F,EAAE,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,EAAE,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YACzC,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;YACjC,EAAE,CAAC,gBAAgB,GAAG;gBACpB,EAAE,EAAE,OAAO,CAAC,gBAAgB;gBAC5B,IAAI,EAAE,mBAAmB,CAAC,qBAAqB;aAChD,CAAC;YAEF,IAAI,MAAM,EAAE;gBACV,EAAE,CAAC,gBAAgB,GAAG;oBACpB,EAAE,EAAE,GAAG,MAAM,EAAE;oBACf,eAAe,EAAE,OAAO,CAAC,QAAQ;oBACjC,IAAI,EAAE,oBAAoB,CAAC,iCAAiC;iBAC7D,CAAC;aACH;iBAAM;gBACL,EAAE,CAAC,gBAAgB,GAAG;oBACpB,EAAE,EAAE,GAAG,OAAO,eAAe,OAAO,CAAC,QAAQ,EAAE;oBAC/C,eAAe,EAAE,OAAO,CAAC,QAAQ;oBACjC,IAAI,EAAE,oBAAoB,CAAC,qBAAqB;iBACjD,CAAC;aACH;YAED,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;IA/IoD,CAAC;IAEvD;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAQ;QACjC,0DAA0D;QAE1D,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;YACjF,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,qCAAqC;YACvE,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,wBAAwB;YACvD,cAAc,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;YAEhF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE;gBACnC,OAAO,QAAQ,CAAC;aACjB;SACF;QACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iCAAiC,CAAC,IAAmB;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEjD,MAAM,UAAU,GAA2B,QAAQ;YACjD,CAAC,CAAC,QAAQ,CAAC,UAAU;YACrB,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzC,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,UAAkD,EAClD,SAAc,EACd,UAAsB;QAEtB,IAAI,UAAU,CAAC,IAAI,KAAK,oBAAoB,CAAC,qBAAqB,EAAE;YAClE,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,CAAmB,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAChE;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,oBAAoB,CAAC,iCAAiC,EAAE;YAC9E,IAAI;gBACF,OAAO,MAAM,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAC5E;YAAC,OAAO,CAAC,EAAE;gBACV,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;gBACxC,IACE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,uBAAuB,CAAC;oBACnE,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAC7D;oBACA,OAAO;wBACL,GAAG,EAAE,IAAI,KAAK,EAAE;wBAChB,MAAM,EAAE;4BACN,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK;4BAC7B,kBAAkB,EAAE,UAAU,CAAC,KAAK,CAAC,kBAAkB;4BACvD,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW;4BACzC,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc;yBAChD;qBACF,CAAC;iBACH;gBAED,MAAM,MAAM,GAAG,UAAiC,CAAC;gBACjD,IAAI,MAAM,EAAE,YAAY,EAAE,IAAI,KAAK,oBAAoB,CAAC,qBAAqB,EAAE;oBAC7E,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,CAAmB,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAChE;gBACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;aAClD;SACF;QACD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAyDD;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,IAAY;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,UAAyB;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,WAA4B;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;IACpD,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAiB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAC7B,WAA4B,EAC5B,OAAY;QAEZ,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,IAAmB,EAAE,EAAE;YAChD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,wBAAwB,CAAC,KAAsB;QAInD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE;gBAC3B,SAAS;aACV;YACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SAC5B;QACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,KAAa;IAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACrE,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAU,EAAE,KAAa,EAAE,IAAgB;IAC1E,MAAM,WAAW,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/credentials/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import { newHashFromBigInt, ZERO_HASH, setBitBigEndian, testBit, NodeLeaf } from '@iden3/js-merkletree';
|
|
2
|
+
import axios from 'axios';
|
|
3
|
+
import { NODE_TYPE_LEAF, Proof } from '@iden3/js-merkletree';
|
|
4
|
+
import { hashElems } from '@iden3/js-merkletree';
|
|
5
|
+
import { strMTHex } from '../circuits';
|
|
6
|
+
var NodeType;
|
|
7
|
+
(function (NodeType) {
|
|
8
|
+
NodeType[NodeType["Unknown"] = 0] = "Unknown";
|
|
9
|
+
NodeType[NodeType["Middle"] = 1] = "Middle";
|
|
10
|
+
NodeType[NodeType["Leaf"] = 2] = "Leaf";
|
|
11
|
+
NodeType[NodeType["State"] = 3] = "State";
|
|
12
|
+
})(NodeType || (NodeType = {}));
|
|
13
|
+
/**
|
|
14
|
+
* ProofNode is a partial Reverse Hash Service result
|
|
15
|
+
* it contains the current node hash and its children
|
|
16
|
+
*
|
|
17
|
+
* @export
|
|
18
|
+
* @beta
|
|
19
|
+
* @class ProofNode
|
|
20
|
+
*/
|
|
21
|
+
export class ProofNode {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* Creates an instance of ProofNode.
|
|
25
|
+
* @param {Hash} [hash=ZERO_HASH] - current node hash
|
|
26
|
+
* @param {Hash[]} [children=[]] - children of the node
|
|
27
|
+
*/
|
|
28
|
+
constructor(hash = ZERO_HASH, children = []) {
|
|
29
|
+
this.hash = hash;
|
|
30
|
+
this.children = children;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Determination of Node type
|
|
34
|
+
* Can be: Leaf, Middle or State node
|
|
35
|
+
*
|
|
36
|
+
* @returns NodeType
|
|
37
|
+
*/
|
|
38
|
+
nodeType() {
|
|
39
|
+
if (this.children.length === 2) {
|
|
40
|
+
return NodeType.Middle;
|
|
41
|
+
}
|
|
42
|
+
if (this.children.length === 3 &&
|
|
43
|
+
this.children[2].hex() === newHashFromBigInt(BigInt(1)).hex()) {
|
|
44
|
+
return NodeType.Leaf;
|
|
45
|
+
}
|
|
46
|
+
if (this.children.length === 3) {
|
|
47
|
+
return NodeType.State;
|
|
48
|
+
}
|
|
49
|
+
return NodeType.Unknown;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* JSON Representation of ProofNode with a hex values
|
|
53
|
+
*
|
|
54
|
+
* @returns {*} - ProofNode with hexes
|
|
55
|
+
*/
|
|
56
|
+
toJSON() {
|
|
57
|
+
return {
|
|
58
|
+
hash: this.hash.hex(),
|
|
59
|
+
children: this.children.map((h) => h.hex())
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Creates ProofNode Hashes from hex values
|
|
64
|
+
*
|
|
65
|
+
* @static
|
|
66
|
+
* @param {ProofNodeHex} hexNode
|
|
67
|
+
* @returns ProofNode
|
|
68
|
+
*/
|
|
69
|
+
static fromHex(hexNode) {
|
|
70
|
+
return new ProofNode(strMTHex(hexNode.hash), hexNode.children.map((ch) => strMTHex(ch)));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
*
|
|
75
|
+
* Fetches and Builds a revocation status for a given credential
|
|
76
|
+
* Supported types for credentialStatus field: SparseMerkleTreeProof, Iden3ReverseSparseMerkleTreeProof
|
|
77
|
+
*
|
|
78
|
+
* @export
|
|
79
|
+
* @param {DID} issuer - issuer identity
|
|
80
|
+
* @param {(CredentialStatus | RHSCredentialStatus)} credStatus - credentialStatus field from the W3C verifiable credential
|
|
81
|
+
* @param {IStateStorage} stateStorage - storage to fetch current issuer status
|
|
82
|
+
* @returns Promise<RevocationStatus>
|
|
83
|
+
*/
|
|
84
|
+
export async function getStatusFromRHS(issuer, credStatus, stateStorage) {
|
|
85
|
+
const latestStateInfo = await stateStorage.getLatestStateById(issuer.id.bigInt());
|
|
86
|
+
const hashedRevNonce = newHashFromBigInt(BigInt(credStatus.revocationNonce ?? 0));
|
|
87
|
+
const hashedIssuerRoot = newHashFromBigInt(BigInt(latestStateInfo?.state ?? 0));
|
|
88
|
+
return getRevocationStatusFromRHS(hashedRevNonce, hashedIssuerRoot, credStatus.id);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Gets partial revocation status info from rhs service.
|
|
92
|
+
*
|
|
93
|
+
* @param {Hash} data - hash to fetch
|
|
94
|
+
* @param {Hash} issuerRoot - issuer root which is a part of url
|
|
95
|
+
* @param {string} rhsURL - base URL for reverse hash service
|
|
96
|
+
* @returns Promise<RevocationStatus>
|
|
97
|
+
*/
|
|
98
|
+
async function getRevocationStatusFromRHS(data, issuerRoot, rhsURL) {
|
|
99
|
+
if (!rhsURL)
|
|
100
|
+
throw new Error('HTTP reverse hash service URL is not specified');
|
|
101
|
+
const treeRoots = (await axios.get(`${rhsURL}/node/${issuerRoot.hex()}`)).data
|
|
102
|
+
?.node;
|
|
103
|
+
if (treeRoots.children.length !== 3) {
|
|
104
|
+
throw new Error('state should has tree children');
|
|
105
|
+
}
|
|
106
|
+
const s = issuerRoot.hex();
|
|
107
|
+
const cTR = treeRoots.children[0];
|
|
108
|
+
const rTR = treeRoots.children[1];
|
|
109
|
+
const roTR = treeRoots.children[2];
|
|
110
|
+
const rtrHashed = strMTHex(rTR);
|
|
111
|
+
const nonRevProof = await rhsGenerateProof(rtrHashed, data, `${rhsURL}/node`);
|
|
112
|
+
return {
|
|
113
|
+
mtp: nonRevProof,
|
|
114
|
+
issuer: {
|
|
115
|
+
state: s,
|
|
116
|
+
claimsTreeRoot: cTR,
|
|
117
|
+
revocationTreeRoot: rTR,
|
|
118
|
+
rootOfRoots: roTR
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
async function newProofFromData(existence, allSiblings, nodeAux) {
|
|
123
|
+
const p = new Proof();
|
|
124
|
+
p.existence = existence;
|
|
125
|
+
p.nodeAux = nodeAux;
|
|
126
|
+
p.depth = allSiblings.length;
|
|
127
|
+
for (let i = 0; i < allSiblings.length; i++) {
|
|
128
|
+
const sibling = allSiblings[i];
|
|
129
|
+
if (JSON.stringify(allSiblings[i]) !== JSON.stringify(ZERO_HASH)) {
|
|
130
|
+
setBitBigEndian(p.notEmpties, i);
|
|
131
|
+
p.siblings.push(sibling);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return p;
|
|
135
|
+
}
|
|
136
|
+
async function rhsGenerateProof(treeRoot, key, rhsURL) {
|
|
137
|
+
let exists = false;
|
|
138
|
+
const siblings = [];
|
|
139
|
+
let nodeAux;
|
|
140
|
+
const mkProof = () => newProofFromData(exists, siblings, nodeAux);
|
|
141
|
+
let nextKey = treeRoot;
|
|
142
|
+
for (let depth = 0; depth < key.bytes.length * 8; depth++) {
|
|
143
|
+
if (nextKey.bytes.every((i) => i === 0)) {
|
|
144
|
+
return mkProof();
|
|
145
|
+
}
|
|
146
|
+
const resp = (await axios.get(`${rhsURL}/${nextKey.hex()}`)).data?.node;
|
|
147
|
+
const n = ProofNode.fromHex(resp);
|
|
148
|
+
switch (n.nodeType()) {
|
|
149
|
+
case NodeType.Leaf:
|
|
150
|
+
if (key.bytes.every((b, index) => b === n.children[0].bytes[index])) {
|
|
151
|
+
exists = true;
|
|
152
|
+
return mkProof();
|
|
153
|
+
}
|
|
154
|
+
// We found a leaf whose entry didn't match hIndex
|
|
155
|
+
nodeAux = {
|
|
156
|
+
key: n.children[0],
|
|
157
|
+
value: n.children[1]
|
|
158
|
+
};
|
|
159
|
+
return mkProof();
|
|
160
|
+
case NodeType.Middle:
|
|
161
|
+
if (testBit(key.bytes, depth)) {
|
|
162
|
+
nextKey = n.children[1];
|
|
163
|
+
siblings.push(n.children[0]);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
nextKey = n.children[0];
|
|
167
|
+
siblings.push(n.children[1]);
|
|
168
|
+
}
|
|
169
|
+
break;
|
|
170
|
+
default:
|
|
171
|
+
throw new Error(`found unexpected node type in tree ${n.hash.hex()}`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
throw new Error('tree depth is too high');
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Pushes identity state information to a reverse hash service.
|
|
178
|
+
*
|
|
179
|
+
* A reverse hash service (RHS) is a centralized or decentralized service for storing publicly available data about identity.
|
|
180
|
+
* Such data are identity state and state of revocation tree and roots tree root tree.
|
|
181
|
+
*
|
|
182
|
+
* @export
|
|
183
|
+
* @param {Hash} state - current state of identity
|
|
184
|
+
* @param {TreesModel} trees - current trees of identity (claims, revocation, rootOfRoots )
|
|
185
|
+
* @param {string} rhsUrl - URL of service
|
|
186
|
+
* @param {number[]} [revokedNonces] - revoked nonces since last published info
|
|
187
|
+
* @returns void
|
|
188
|
+
*/
|
|
189
|
+
export async function pushHashesToRHS(state, trees, rhsUrl, revokedNonces) {
|
|
190
|
+
const nb = new NodesBuilder();
|
|
191
|
+
if (revokedNonces) {
|
|
192
|
+
await addRevocationNode(nb, trees, revokedNonces);
|
|
193
|
+
}
|
|
194
|
+
await addRoRNode(nb, trees);
|
|
195
|
+
// add new state node
|
|
196
|
+
if (!state.bytes.every((b) => b === 0)) {
|
|
197
|
+
nb.addProofNode(new ProofNode(state, [trees.claimsTree.root, trees.revocationTree.root, trees.rootsTree.root]));
|
|
198
|
+
}
|
|
199
|
+
if (nb.nodes.length > 0) {
|
|
200
|
+
await saveNodes(nb.nodes, rhsUrl);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
async function saveNodes(nodes, nodeUrl) {
|
|
204
|
+
const nodesJSON = nodes.map((n) => n.toJSON());
|
|
205
|
+
return (await (await axios.post(nodeUrl + '/node', nodesJSON)).status) === 200;
|
|
206
|
+
}
|
|
207
|
+
async function addRoRNode(nb, trees) {
|
|
208
|
+
const currentRootsTree = trees.rootsTree;
|
|
209
|
+
const claimsTree = trees.claimsTree;
|
|
210
|
+
return nb.addKey(currentRootsTree, claimsTree.root.bigInt());
|
|
211
|
+
}
|
|
212
|
+
async function addRevocationNode(nb, trees, revokedNonces) {
|
|
213
|
+
const revocationTree = trees.revocationTree;
|
|
214
|
+
for (const nonce of revokedNonces) {
|
|
215
|
+
await nb.addKey(revocationTree, BigInt(nonce));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Builder to send state information to Reverse hash Service
|
|
220
|
+
*
|
|
221
|
+
* @beta
|
|
222
|
+
* @class NodesBuilder
|
|
223
|
+
*/
|
|
224
|
+
class NodesBuilder {
|
|
225
|
+
constructor(nodes = [], seen = new Map()) {
|
|
226
|
+
this.nodes = nodes;
|
|
227
|
+
this.seen = seen;
|
|
228
|
+
}
|
|
229
|
+
async addKey(tree, nodeKey) {
|
|
230
|
+
const { value: nodeValue, siblings } = await tree.get(nodeKey);
|
|
231
|
+
const nodeKeyHash = newHashFromBigInt(nodeKey);
|
|
232
|
+
const nodeValueHash = newHashFromBigInt(nodeValue);
|
|
233
|
+
const node = new NodeLeaf(nodeKeyHash, nodeValueHash);
|
|
234
|
+
const newNodes = await buildNodesUp(siblings, node);
|
|
235
|
+
for (const n of newNodes) {
|
|
236
|
+
if (!this.seen.get(n.hash.hex())) {
|
|
237
|
+
this.nodes.push(n);
|
|
238
|
+
this.seen.set(n.hash.hex(), true);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
addProofNode(node) {
|
|
243
|
+
const hex = node.hash.hex();
|
|
244
|
+
const isSeen = this.seen.get(hex);
|
|
245
|
+
if (!isSeen) {
|
|
246
|
+
this.nodes.push(node);
|
|
247
|
+
this.seen.set(hex, true);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
async function buildNodesUp(siblings, node) {
|
|
252
|
+
if (node.type !== NODE_TYPE_LEAF) {
|
|
253
|
+
throw new Error('node is not a leaf');
|
|
254
|
+
}
|
|
255
|
+
let prevHash = await node.getKey();
|
|
256
|
+
const sl = siblings.length;
|
|
257
|
+
const nodes = new Array(sl + 1);
|
|
258
|
+
for (let index = 0; index < nodes.length; index++) {
|
|
259
|
+
nodes[index] = new ProofNode();
|
|
260
|
+
}
|
|
261
|
+
nodes[sl].hash = prevHash;
|
|
262
|
+
const hashOfOne = newHashFromBigInt(BigInt(1));
|
|
263
|
+
nodes[sl].children = [node.entry[0], node.entry[1], hashOfOne];
|
|
264
|
+
const pathKey = node.entry[0];
|
|
265
|
+
for (let i = sl - 1; i >= 0; i--) {
|
|
266
|
+
const isRight = testBit(pathKey.bytes, i);
|
|
267
|
+
nodes[i].children = new Array(2);
|
|
268
|
+
if (isRight) {
|
|
269
|
+
nodes[i].children[0] = siblings[i];
|
|
270
|
+
nodes[i].children[1] = prevHash;
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
nodes[i].children[0] = prevHash;
|
|
274
|
+
nodes[i].children[1] = siblings[i];
|
|
275
|
+
}
|
|
276
|
+
nodes[i].hash = await hashElems([nodes[i].children[0].bigInt(), nodes[i].children[1].bigInt()]);
|
|
277
|
+
prevHash = nodes[i].hash;
|
|
278
|
+
}
|
|
279
|
+
return nodes;
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=revocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revocation.js","sourceRoot":"","sources":["../../../src/credentials/revocation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const IDEN3_PROTOCOL = 'https://iden3-communication.io/';
|
|
2
|
+
/**
|
|
3
|
+
* Constants for Iden3 protocol
|
|
4
|
+
*/
|
|
5
|
+
export const PROTOCOL_MESSAGE_TYPE = Object.freeze({
|
|
6
|
+
// AuthorizationV2RequestMessageType defines auth request type of the communication protocol
|
|
7
|
+
AUTHORIZATION_REQUEST_MESSAGE_TYPE: IDEN3_PROTOCOL + 'authorization/1.0/request',
|
|
8
|
+
// AuthorizationResponseMessageType defines auth response type of the communication protocol
|
|
9
|
+
AUTHORIZATION_RESPONSE_MESSAGE_TYPE: IDEN3_PROTOCOL + 'authorization/1.0/response',
|
|
10
|
+
// CredentialIssuanceRequestMessageType accepts request for credential creation
|
|
11
|
+
CREDENTIAL_ISSUANCE_REQUEST_MESSAGE_TYPE: IDEN3_PROTOCOL + 'credentials/1.0/issuance-request',
|
|
12
|
+
// CredentialFetchRequestMessageType is type for request of credential generation
|
|
13
|
+
CREDENTIAL_FETCH_REQUEST_MESSAGE_TYPE: IDEN3_PROTOCOL + 'credentials/1.0/fetch-request',
|
|
14
|
+
// CredentialOfferMessageType is type of message with credential offering
|
|
15
|
+
CREDENTIAL_OFFER_MESSAGE_TYPE: IDEN3_PROTOCOL + 'credentials/1.0/offer',
|
|
16
|
+
// CredentialIssuanceResponseMessageType is type for message with a credential issuance
|
|
17
|
+
CREDENTIAL_ISSUANCE_RESPONSE_MESSAGE_TYPE: IDEN3_PROTOCOL + 'credentials/1.0/issuance-response',
|
|
18
|
+
// DeviceRegistrationRequestMessageType defines device registration request type of the communication protocol
|
|
19
|
+
DEVICE_REGISTRATION_REQUEST_MESSAGE_TYPE: IDEN3_PROTOCOL + 'devices/1.0/registration',
|
|
20
|
+
// MessageFetMessageFetchRequestMessageType defines message fetch request type of the communication protocol.
|
|
21
|
+
MESSAGE_FETCH_REQUEST_MESSAGE_TYPE: IDEN3_PROTOCOL + 'messages/1.0/fetch',
|
|
22
|
+
// ProofGenerationRequestMessageType is type for request of proof generation
|
|
23
|
+
PROOF_GENERATION_REQUEST_MESSAGE_TYPE: IDEN3_PROTOCOL + 'proofs/1.0/request',
|
|
24
|
+
// ProofGenerationResponseMessageType is type for response of proof generation
|
|
25
|
+
PROOF_GENERATION_RESPONSE_MESSAGE_TYPE: IDEN3_PROTOCOL + 'proofs/1.0/response',
|
|
26
|
+
// RevocationStatusRequestMessageType is type for request of revocation status
|
|
27
|
+
REVOCATION_STATUS_REQUEST_MESSAGE_TYPE: IDEN3_PROTOCOL + 'revocation/1.0/request-status',
|
|
28
|
+
// RevocationStatusResponseMessageType is type for response with a revocation status
|
|
29
|
+
REVOCATION_STATUS_RESPONSE_MESSAGE_TYPE: IDEN3_PROTOCOL + 'revocation/1.0/status'
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* Media types for iden3 comm communication protocol
|
|
33
|
+
*
|
|
34
|
+
* @export
|
|
35
|
+
* @enum {number}
|
|
36
|
+
*/
|
|
37
|
+
export var MediaType;
|
|
38
|
+
(function (MediaType) {
|
|
39
|
+
MediaType["ZKPMessage"] = "application/iden3-zkp-json";
|
|
40
|
+
MediaType["PlainMessage"] = "application/iden3comm-plain-json";
|
|
41
|
+
})(MediaType || (MediaType = {}));
|
|
42
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/iden3comm/constants.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,4FAA4F;IAC5F,kCAAkC,EAAE,cAAc,GAAG,2BAA2B;IAChF,4FAA4F;IAC5F,mCAAmC,EAAE,cAAc,GAAG,4BAA4B;IAClF,+EAA+E;IAC/E,wCAAwC,EAAE,cAAc,GAAG,kCAAkC;IAC7F,iFAAiF;IACjF,qCAAqC,EAAE,cAAc,GAAG,+BAA+B;IACvF,yEAAyE;IACzE,6BAA6B,EAAE,cAAc,GAAG,uBAAuB;IACvE,uFAAuF;IACvF,yCAAyC,EAAE,cAAc,GAAG,mCAAmC;IAC/F,8GAA8G;IAC9G,wCAAwC,EAAE,cAAc,GAAG,0BAA0B;IACrF,6GAA6G;IAC7G,kCAAkC,EAAE,cAAc,GAAG,oBAAoB;IACzE,4EAA4E;IAC5E,qCAAqC,EAAE,cAAc,GAAG,oBAAoB;IAC5E,8EAA8E;IAC9E,sCAAsC,EAAE,cAAc,GAAG,qBAAqB;IAC9E,8EAA8E;IAC9E,sCAAsC,EAAE,cAAc,GAAG,+BAA+B;IACxF,oFAAoF;IACpF,uCAAuC,EAAE,cAAc,GAAG,uBAAuB;CAClF,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,sDAAyC,CAAA;IACzC,8DAAiD,CAAA;AACnD,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Envelope Errors
|
|
2
|
+
export const ErrNotProtocolMessage = 'the envelope is not a protocol message';
|
|
3
|
+
export const ErrNotEnvelopeStub = "the envelope doesn't contain field protected";
|
|
4
|
+
export const ErrNotHeaderStub = "the envelope doesn't contain field typ";
|
|
5
|
+
// Token Errors
|
|
6
|
+
export const ErrUnknownCircuitID = "unknown circuit ID. can't verify msg sender";
|
|
7
|
+
export const ErrSenderNotUsedTokenCreation = 'sender of message is not used for jwz token creation';
|
|
8
|
+
// ZKP-Packer Errors
|
|
9
|
+
export const ErrPackedWithUnsupportedCircuit = 'message was packed with unsupported circuit';
|
|
10
|
+
export const ErrProofIsInvalid = 'message proof is invalid';
|
|
11
|
+
export const ErrStateVerificationFailed = 'message state verification failed';
|
|
12
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/iden3comm/errors.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,MAAM,CAAC,MAAM,qBAAqB,GAAG,wCAAwC,CAAC;AAC9E,MAAM,CAAC,MAAM,kBAAkB,GAAG,8CAA8C,CAAC;AACjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,wCAAwC,CAAC;AAEzE,eAAe;AACf,MAAM,CAAC,MAAM,mBAAmB,GAAG,6CAA6C,CAAC;AACjF,MAAM,CAAC,MAAM,6BAA6B,GAAG,sDAAsD,CAAC;AAEpG,oBAAoB;AACpB,MAAM,CAAC,MAAM,+BAA+B,GAAG,6CAA6C,CAAC;AAC7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAC5D,MAAM,CAAC,MAAM,0BAA0B,GAAG,mCAAmC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/iden3comm/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,kBAAkB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|