@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,105 @@
|
|
|
1
|
+
import { BigNumber, ethers } from 'ethers';
|
|
2
|
+
import abi from './state-abi.json';
|
|
3
|
+
import { StateTransitionPubSignals } from '../../circuits';
|
|
4
|
+
export /** @type {EthConnectionConfig} - default configuration for EthConnectionConfig */ const defaultEthConnectionConfig = {
|
|
5
|
+
url: 'http://localhost:8545',
|
|
6
|
+
defaultGasLimit: 600000,
|
|
7
|
+
minGasPrice: '0',
|
|
8
|
+
maxGasPrice: '100000000000',
|
|
9
|
+
confirmationBlockCount: 5,
|
|
10
|
+
confirmationTimeout: 600000,
|
|
11
|
+
contractAddress: '0xa513E6E4b8f2a923D98304ec87F64353C4D5C853',
|
|
12
|
+
receiptTimeout: 600000,
|
|
13
|
+
rpcResponseTimeout: 5000,
|
|
14
|
+
waitReceiptCycleTime: 30000,
|
|
15
|
+
waitBlockCycleTime: 3000
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
*
|
|
20
|
+
* @export
|
|
21
|
+
* @beta
|
|
22
|
+
* @class EthStateStorage
|
|
23
|
+
* @implements implements IStateStorage interface
|
|
24
|
+
*/
|
|
25
|
+
export class EthStateStorage {
|
|
26
|
+
/**
|
|
27
|
+
* Creates an instance of EthStateStorage.
|
|
28
|
+
* @param {EthConnectionConfig} [ethConfig=defaultEthConnectionConfig]
|
|
29
|
+
*/
|
|
30
|
+
constructor(ethConfig = defaultEthConnectionConfig) {
|
|
31
|
+
this.ethConfig = ethConfig;
|
|
32
|
+
this.provider = new ethers.providers.JsonRpcProvider(this.ethConfig.url);
|
|
33
|
+
this.stateContract = new ethers.Contract(this.ethConfig.contractAddress, abi, this.provider);
|
|
34
|
+
}
|
|
35
|
+
/** {@inheritdoc IStateStorage.getLatestStateById} */
|
|
36
|
+
async getLatestStateById(id) {
|
|
37
|
+
const rawData = await this.stateContract.getStateInfoById(id);
|
|
38
|
+
const stateInfo = {
|
|
39
|
+
id: BigNumber.from(rawData[0]).toBigInt(),
|
|
40
|
+
state: BigNumber.from(rawData[1]).toBigInt(),
|
|
41
|
+
replacedByState: BigNumber.from(rawData[2]).toBigInt(),
|
|
42
|
+
createdAtTimestamp: BigNumber.from(rawData[3]).toBigInt(),
|
|
43
|
+
replacedAtTimestamp: BigNumber.from(rawData[4]).toBigInt(),
|
|
44
|
+
createdAtBlock: BigNumber.from(rawData[5]).toBigInt(),
|
|
45
|
+
replacedAtBlock: BigNumber.from(rawData[6]).toBigInt()
|
|
46
|
+
};
|
|
47
|
+
return stateInfo;
|
|
48
|
+
}
|
|
49
|
+
/** {@inheritdoc IStateStorage.publishState} */
|
|
50
|
+
async publishState(proof, signer) {
|
|
51
|
+
const byteEncoder = new TextEncoder();
|
|
52
|
+
const contract = this.stateContract.connect(signer);
|
|
53
|
+
const stateTransitionPubSig = new StateTransitionPubSignals();
|
|
54
|
+
stateTransitionPubSig.pubSignalsUnmarshal(byteEncoder.encode(JSON.stringify(proof.pub_signals)));
|
|
55
|
+
const { userId, oldUserState, newUserState, isOldStateGenesis } = stateTransitionPubSig;
|
|
56
|
+
const payload = [
|
|
57
|
+
userId.bigInt().toString(),
|
|
58
|
+
oldUserState.bigInt().toString(),
|
|
59
|
+
newUserState.bigInt().toString(),
|
|
60
|
+
isOldStateGenesis,
|
|
61
|
+
proof.proof.pi_a.slice(0, 2),
|
|
62
|
+
[
|
|
63
|
+
[proof.proof.pi_b[0][1].toString(), proof.proof.pi_b[0][0].toString()],
|
|
64
|
+
[proof.proof.pi_b[1][1].toString(), proof.proof.pi_b[1][0].toString()]
|
|
65
|
+
],
|
|
66
|
+
proof.proof.pi_c.slice(0, 2)
|
|
67
|
+
];
|
|
68
|
+
await contract.estimateGas.transitState(...payload);
|
|
69
|
+
const tx = await contract.transitState(...payload);
|
|
70
|
+
const txnReceipt = await tx.wait();
|
|
71
|
+
const status = txnReceipt.status;
|
|
72
|
+
const txnHash = txnReceipt.transactionHash;
|
|
73
|
+
if (status === 0) {
|
|
74
|
+
throw new Error(`transaction: ${txnHash} failed to mined`);
|
|
75
|
+
}
|
|
76
|
+
return txnHash;
|
|
77
|
+
}
|
|
78
|
+
/** {@inheritdoc IStateStorage.getGISTProof} */
|
|
79
|
+
async getGISTProof(id) {
|
|
80
|
+
const data = await this.stateContract.getGISTProof(id);
|
|
81
|
+
return {
|
|
82
|
+
root: BigInt(data.root.toString()),
|
|
83
|
+
existence: data.existence,
|
|
84
|
+
siblings: data.siblings?.map((sibling) => BigInt(sibling.toString())),
|
|
85
|
+
index: BigInt(data.index.toString()),
|
|
86
|
+
value: BigInt(data.value.toString()),
|
|
87
|
+
auxExistence: data.auxExistence,
|
|
88
|
+
auxIndex: BigInt(data.auxIndex.toString()),
|
|
89
|
+
auxValue: BigInt(data.auxValue.toString())
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/** {@inheritdoc IStateStorage.getGISTRootInfo} */
|
|
93
|
+
async getGISTRootInfo(id) {
|
|
94
|
+
const data = await this.stateContract.getGISTRootInfo(id);
|
|
95
|
+
return {
|
|
96
|
+
root: BigInt(data.root.toString()),
|
|
97
|
+
replacedByRoot: BigInt(data.replacedByRoot.toString()),
|
|
98
|
+
createdAtTimestamp: BigInt(data.createdAtTimestamp.toString()),
|
|
99
|
+
replacedAtTimestamp: BigInt(data.replacedAtTimestamp.toString()),
|
|
100
|
+
createdAtBlock: BigInt(data.createdAtBlock.toString()),
|
|
101
|
+
replacedAtBlock: BigInt(data.replacedAtBlock.toString())
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/storage/blockchain/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circuitData.js","sourceRoot":"","sources":["../../../../src/storage/entities/circuitData.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/storage/entities/identity.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type of MerkleTree
|
|
3
|
+
*
|
|
4
|
+
* @export
|
|
5
|
+
* @enum {number}
|
|
6
|
+
*/
|
|
7
|
+
export var MerkleTreeType;
|
|
8
|
+
(function (MerkleTreeType) {
|
|
9
|
+
// Claims is merkle tree type for claims tree
|
|
10
|
+
MerkleTreeType[MerkleTreeType["Claims"] = 0] = "Claims";
|
|
11
|
+
// Revocations is merkle tree type for revocations tree
|
|
12
|
+
MerkleTreeType[MerkleTreeType["Revocations"] = 1] = "Revocations";
|
|
13
|
+
// Roots is merkle tree type for roots tree
|
|
14
|
+
MerkleTreeType[MerkleTreeType["Roots"] = 2] = "Roots";
|
|
15
|
+
})(MerkleTreeType || (MerkleTreeType = {}));
|
|
16
|
+
//# sourceMappingURL=mt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mt.js","sourceRoot":"","sources":["../../../../src/storage/entities/mt.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,6CAA6C;IAC7C,uDAAU,CAAA;IACV,uDAAuD;IACvD,iEAAe,CAAA;IACf,2CAA2C;IAC3C,qDAAS,CAAA;AACX,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/storage/entities/state.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Storage Errors definition
|
|
3
|
+
*
|
|
4
|
+
* @export
|
|
5
|
+
* @enum {number}
|
|
6
|
+
*/
|
|
7
|
+
export var StorageErrors;
|
|
8
|
+
(function (StorageErrors) {
|
|
9
|
+
StorageErrors["ItemNotFound"] = "item not found";
|
|
10
|
+
})(StorageErrors || (StorageErrors = {}));
|
|
11
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/storage/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAN,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,gDAA+B,CAAA;AACjC,CAAC,EAFW,aAAa,KAAb,aAAa,QAExB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/filters/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* search errors
|
|
3
|
+
*
|
|
4
|
+
* @export
|
|
5
|
+
* @enum {number}
|
|
6
|
+
*/
|
|
7
|
+
export var SearchError;
|
|
8
|
+
(function (SearchError) {
|
|
9
|
+
SearchError["NotDefinedQueryKey"] = "not defined query key";
|
|
10
|
+
SearchError["NotDefinedComparator"] = "not defined comparator";
|
|
11
|
+
})(SearchError || (SearchError = {}));
|
|
12
|
+
export /** @type {*} - filter operators and their functions */ const comparatorOptions = {
|
|
13
|
+
$noop: () => true,
|
|
14
|
+
$eq: (a, b) => a === b,
|
|
15
|
+
$in: (a, b) => b.includes(a),
|
|
16
|
+
$nin: (a, b) => !b.includes(a),
|
|
17
|
+
$gt: (a, b) => a > b,
|
|
18
|
+
$lt: (a, b) => a < b,
|
|
19
|
+
$ne: (a, b) => a !== b
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* credential search path resolver
|
|
23
|
+
*
|
|
24
|
+
* @param {object} object - object to query
|
|
25
|
+
* @param {string} path - given path
|
|
26
|
+
* @param {*} [defaultValue=null]
|
|
27
|
+
*/
|
|
28
|
+
export const resolvePath = (object, path, defaultValue = null) => path.split('.').reduce((o, p) => (o ? o[p] : defaultValue), object);
|
|
29
|
+
/**
|
|
30
|
+
* filter creation factory
|
|
31
|
+
*
|
|
32
|
+
* @param {string} path - given query path
|
|
33
|
+
* @param {*} operatorFunc - filter operation
|
|
34
|
+
* @param {*} value - filter value
|
|
35
|
+
* @param {*} [isReverseParams=false] - reversed params
|
|
36
|
+
*/
|
|
37
|
+
export const createFilter = (path, operatorFunc, value, isReverseParams = false) => {
|
|
38
|
+
if (!operatorFunc) {
|
|
39
|
+
throw new Error(SearchError.NotDefinedComparator);
|
|
40
|
+
}
|
|
41
|
+
return (credential) => {
|
|
42
|
+
const credentialPathValue = resolvePath(credential, path);
|
|
43
|
+
if (!credentialPathValue) {
|
|
44
|
+
return false;
|
|
45
|
+
// throw new Error(`Not found path - ${path} to credential`);
|
|
46
|
+
}
|
|
47
|
+
if (isReverseParams) {
|
|
48
|
+
return operatorFunc(value, credentialPathValue);
|
|
49
|
+
}
|
|
50
|
+
return operatorFunc(credentialPathValue, value);
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Filter for queries of credentialSubject with a json path e.g birthday.date
|
|
55
|
+
*
|
|
56
|
+
*
|
|
57
|
+
* @export
|
|
58
|
+
* @beta
|
|
59
|
+
* @class FilterQuery
|
|
60
|
+
* @implements implements IFilterQuery interface
|
|
61
|
+
*/
|
|
62
|
+
export class FilterQuery {
|
|
63
|
+
/**
|
|
64
|
+
* Creates an instance of FilterQuery.
|
|
65
|
+
* @param {string} path
|
|
66
|
+
* @param {FilterOperatorFunction} operatorFunc
|
|
67
|
+
* @param {*} value
|
|
68
|
+
* @param {boolean} [isReverseParams=false]
|
|
69
|
+
*/
|
|
70
|
+
constructor(path, operatorFunc, value, isReverseParams = false) {
|
|
71
|
+
this.path = path;
|
|
72
|
+
this.operatorFunc = operatorFunc;
|
|
73
|
+
this.value = value;
|
|
74
|
+
this.isReverseParams = isReverseParams;
|
|
75
|
+
}
|
|
76
|
+
/** {@inheritdoc IFilterQuery} */
|
|
77
|
+
execute(credential) {
|
|
78
|
+
if (!this.operatorFunc) {
|
|
79
|
+
throw new Error(SearchError.NotDefinedComparator);
|
|
80
|
+
}
|
|
81
|
+
const credentialPathValue = resolvePath(credential, this.path);
|
|
82
|
+
if (!credentialPathValue) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
if (this.isReverseParams) {
|
|
86
|
+
return this.operatorFunc(this.value, credentialPathValue);
|
|
87
|
+
}
|
|
88
|
+
return this.operatorFunc(credentialPathValue, this.value);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* creates filters based on proof query
|
|
93
|
+
* @param {ProofQuery} query - proof query
|
|
94
|
+
* @returns {*} {FilterQuery[]} - array of filters to apply
|
|
95
|
+
*/
|
|
96
|
+
export const StandardJSONCredentialsQueryFilter = (query) => {
|
|
97
|
+
return Object.keys(query).reduce((acc, queryKey) => {
|
|
98
|
+
const queryValue = query[queryKey];
|
|
99
|
+
switch (queryKey) {
|
|
100
|
+
case 'claimId':
|
|
101
|
+
return acc.concat(new FilterQuery('id', comparatorOptions.$eq, queryValue));
|
|
102
|
+
case 'allowedIssuers': {
|
|
103
|
+
const [first] = queryValue || [];
|
|
104
|
+
if (first && first === '*') {
|
|
105
|
+
return acc;
|
|
106
|
+
}
|
|
107
|
+
return acc.concat(new FilterQuery('issuer', comparatorOptions.$in, queryValue));
|
|
108
|
+
}
|
|
109
|
+
case 'type':
|
|
110
|
+
return acc.concat(new FilterQuery('type', comparatorOptions.$in, queryValue, true));
|
|
111
|
+
case 'context':
|
|
112
|
+
return acc.concat(new FilterQuery('@context', comparatorOptions.$in, queryValue, true));
|
|
113
|
+
case 'credentialSubjectId':
|
|
114
|
+
return acc.concat(new FilterQuery('credentialSubject.id', comparatorOptions.$eq, queryValue));
|
|
115
|
+
case 'schema':
|
|
116
|
+
return acc.concat(new FilterQuery('credentialSchema.id', comparatorOptions.$eq, queryValue));
|
|
117
|
+
case 'credentialSubject': {
|
|
118
|
+
const reqFilters = Object.keys(queryValue).reduce((acc, fieldKey) => {
|
|
119
|
+
const fieldParams = queryValue[fieldKey];
|
|
120
|
+
const res = Object.keys(fieldParams).map((comparator) => {
|
|
121
|
+
const value = fieldParams[comparator];
|
|
122
|
+
const path = `credentialSubject.${fieldKey}`;
|
|
123
|
+
return new FilterQuery(path, comparatorOptions[comparator], value);
|
|
124
|
+
});
|
|
125
|
+
return acc.concat(res);
|
|
126
|
+
}, []);
|
|
127
|
+
return acc.concat(reqFilters);
|
|
128
|
+
}
|
|
129
|
+
default:
|
|
130
|
+
throw new Error(SearchError.NotDefinedQueryKey);
|
|
131
|
+
}
|
|
132
|
+
}, []);
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=jsonQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonQuery.js","sourceRoot":"","sources":["../../../../src/storage/filters/jsonQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"circuits.js","sourceRoot":"","sources":["../../../../src/storage/interfaces/circuits.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../../src/storage/interfaces/credentials.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-source.js","sourceRoot":"","sources":["../../../../src/storage/interfaces/data-source.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-storage.js","sourceRoot":"","sources":["../../../../src/storage/interfaces/data-storage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../src/storage/interfaces/identity.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merkletree.js","sourceRoot":"","sources":["../../../../src/storage/interfaces/merkletree.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/storage/interfaces/state.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { StorageErrors } from '../errors';
|
|
2
|
+
/**
|
|
3
|
+
* Storage in the browser, uses local storage
|
|
4
|
+
*
|
|
5
|
+
* @export
|
|
6
|
+
* @beta
|
|
7
|
+
* @class BrowserDataSource
|
|
8
|
+
* @template Type
|
|
9
|
+
*/
|
|
10
|
+
export class BrowserDataSource {
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of BrowserDataSource.
|
|
13
|
+
* @param {string} _localStorageKey - key string to put storage name in the local storage
|
|
14
|
+
*/
|
|
15
|
+
constructor(_localStorageKey) {
|
|
16
|
+
this._localStorageKey = _localStorageKey;
|
|
17
|
+
const data = localStorage.getItem(this._localStorageKey);
|
|
18
|
+
if (!data) {
|
|
19
|
+
localStorage.setItem(_localStorageKey, JSON.stringify([]));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* saves value to the local storage
|
|
25
|
+
* @param {string} key - key value
|
|
26
|
+
* @param {Type} value - value to store
|
|
27
|
+
* @param {string} [keyName='id'] - key name
|
|
28
|
+
*/
|
|
29
|
+
save(key, value, keyName = 'id') {
|
|
30
|
+
if (localStorage) {
|
|
31
|
+
const data = localStorage.getItem(this._localStorageKey);
|
|
32
|
+
const items = JSON.parse(data);
|
|
33
|
+
const itemIndex = items.findIndex((i) => i[keyName] === key);
|
|
34
|
+
if (itemIndex === -1) {
|
|
35
|
+
items.push(value);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
items[itemIndex] = value;
|
|
39
|
+
}
|
|
40
|
+
localStorage.setItem(this._localStorageKey, JSON.stringify(items));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* updates data with a total reset
|
|
45
|
+
*
|
|
46
|
+
* @param {Type[]} value - value array to update
|
|
47
|
+
*/
|
|
48
|
+
patchData(value) {
|
|
49
|
+
if (localStorage) {
|
|
50
|
+
localStorage.setItem(this._localStorageKey, JSON.stringify(value));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* gets value from the local storage by given key
|
|
55
|
+
* @param {string} key - key value
|
|
56
|
+
* @param {string} [keyName='id'] - key name
|
|
57
|
+
*/
|
|
58
|
+
get(key, keyName = 'id') {
|
|
59
|
+
const data = localStorage.getItem(this._localStorageKey);
|
|
60
|
+
const parsedData = data && JSON.parse(data);
|
|
61
|
+
return parsedData.find((t) => t[keyName] === key);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* loads all from the local storage
|
|
65
|
+
*/
|
|
66
|
+
load() {
|
|
67
|
+
const data = localStorage.getItem(this._localStorageKey);
|
|
68
|
+
return data && JSON.parse(data);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* deletes item from the local storage
|
|
72
|
+
* @param {string} key - key value
|
|
73
|
+
* @param {string} [keyName='id'] - key name
|
|
74
|
+
*/
|
|
75
|
+
delete(key, keyName = 'id') {
|
|
76
|
+
const dataStr = localStorage.getItem(this._localStorageKey);
|
|
77
|
+
const data = JSON.parse(dataStr);
|
|
78
|
+
const items = data.filter((i) => i[keyName] !== key);
|
|
79
|
+
if (data.length === items.length) {
|
|
80
|
+
throw new Error(`${StorageErrors.ItemNotFound} to delete: ${key}`);
|
|
81
|
+
}
|
|
82
|
+
localStorage.setItem(this._localStorageKey, JSON.stringify(items));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-source.js","sourceRoot":"","sources":["../../../../src/storage/local-storage/data-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAiB;IAC5B;;;OAGG;IACH,YAAoB,gBAAwB;QAAxB,qBAAgB,GAAhB,gBAAgB,CAAQ;QAC1C,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE;YACT,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5D;IACH,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,GAAW,EAAE,KAAW,EAAE,OAAO,GAAG,IAAI;QAC3C,IAAI,YAAY,EAAE;YAChB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAW,CAAC;YACzC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YAC7D,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;gBACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnB;iBAAM;gBACL,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;aAC1B;YACD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACpE;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,KAAa;QACrB,IAAI,YAAY,EAAE;YAChB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACpE;IACH,CAAC;IAED;;;;OAIG;IAEH,GAAG,CAAC,GAAW,EAAE,OAAO,GAAG,IAAI;QAC7B,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,IAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACxD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,IAAI;QACF,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD;;;;OAIG;IACH,MAAM,CAAC,GAAW,EAAE,OAAO,GAAG,IAAI;QAChC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,GAAG,aAAa,CAAC,YAAY,eAAe,GAAG,EAAE,CAAC,CAAC;SACpE;QACD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/storage/local-storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { LocalStorageDB, Merkletree, str2Bytes } from '@iden3/js-merkletree';
|
|
2
|
+
import { MerkleTreeType } from '../entities/mt';
|
|
3
|
+
import * as uuid from 'uuid';
|
|
4
|
+
const mtTypes = [MerkleTreeType.Claims, MerkleTreeType.Revocations, MerkleTreeType.Roots];
|
|
5
|
+
/**
|
|
6
|
+
* Merkle tree storage that uses browser local storage
|
|
7
|
+
*
|
|
8
|
+
* @export
|
|
9
|
+
* @beta
|
|
10
|
+
* @class MerkleTreeLocalStorage
|
|
11
|
+
* @implements implements IMerkleTreeStorage interface
|
|
12
|
+
*/
|
|
13
|
+
export class MerkleTreeLocalStorage {
|
|
14
|
+
/**
|
|
15
|
+
* Creates an instance of MerkleTreeLocalStorage.
|
|
16
|
+
* @param {number} _mtDepth
|
|
17
|
+
*/
|
|
18
|
+
constructor(_mtDepth) {
|
|
19
|
+
this._mtDepth = _mtDepth;
|
|
20
|
+
}
|
|
21
|
+
/** creates a tree in the local storage */
|
|
22
|
+
async createIdentityMerkleTrees(identifier) {
|
|
23
|
+
if (!identifier) {
|
|
24
|
+
identifier = `${uuid.v4()}`;
|
|
25
|
+
}
|
|
26
|
+
const createMetaInfo = () => {
|
|
27
|
+
const treesMeta = [];
|
|
28
|
+
for (let index = 0; index < mtTypes.length; index++) {
|
|
29
|
+
const mType = mtTypes[index];
|
|
30
|
+
const treeId = identifier.concat('+' + mType.toString());
|
|
31
|
+
const metaInfo = { treeId, identifier, type: mType };
|
|
32
|
+
treesMeta.push(metaInfo);
|
|
33
|
+
}
|
|
34
|
+
return treesMeta;
|
|
35
|
+
};
|
|
36
|
+
const meta = localStorage.getItem(MerkleTreeLocalStorage.storageKeyMeta);
|
|
37
|
+
if (meta) {
|
|
38
|
+
const metaInfo = JSON.parse(meta);
|
|
39
|
+
const identityMetaInfo = metaInfo.filter((m) => m.identifier === identifier);
|
|
40
|
+
if (identityMetaInfo.length > 0) {
|
|
41
|
+
return identityMetaInfo;
|
|
42
|
+
}
|
|
43
|
+
const treesMeta = createMetaInfo();
|
|
44
|
+
localStorage.setItem(MerkleTreeLocalStorage.storageKeyMeta, JSON.stringify([...metaInfo, ...treesMeta]));
|
|
45
|
+
}
|
|
46
|
+
const treesMeta = createMetaInfo();
|
|
47
|
+
localStorage.setItem(MerkleTreeLocalStorage.storageKeyMeta, JSON.stringify(treesMeta));
|
|
48
|
+
return treesMeta;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* getIdentityMerkleTreesInfo from the local storage
|
|
53
|
+
* @param {string} identifier
|
|
54
|
+
* @returns `{Promise<IdentityMerkleTreeMetaInformation[]>}`
|
|
55
|
+
*/
|
|
56
|
+
async getIdentityMerkleTreesInfo(identifier) {
|
|
57
|
+
const meta = localStorage.getItem(MerkleTreeLocalStorage.storageKeyMeta);
|
|
58
|
+
if (meta) {
|
|
59
|
+
const metaInfo = JSON.parse(meta);
|
|
60
|
+
return metaInfo.filter((m) => m.identifier === identifier);
|
|
61
|
+
}
|
|
62
|
+
throw new Error(`Merkle tree meta not found for identifier ${identifier}`);
|
|
63
|
+
}
|
|
64
|
+
/** get merkle tree from the local storage */
|
|
65
|
+
async getMerkleTreeByIdentifierAndType(identifier, mtType) {
|
|
66
|
+
const meta = localStorage.getItem(MerkleTreeLocalStorage.storageKeyMeta);
|
|
67
|
+
const err = new Error(`Merkle tree not found for identifier ${identifier} and type ${mtType}`);
|
|
68
|
+
if (!meta) {
|
|
69
|
+
throw err;
|
|
70
|
+
}
|
|
71
|
+
const metaInfo = JSON.parse(meta);
|
|
72
|
+
const resultMeta = metaInfo.filter((m) => m.identifier === identifier && m.type === mtType)[0];
|
|
73
|
+
if (!resultMeta) {
|
|
74
|
+
throw err;
|
|
75
|
+
}
|
|
76
|
+
return new Merkletree(new LocalStorageDB(str2Bytes(resultMeta.treeId)), true, this._mtDepth);
|
|
77
|
+
}
|
|
78
|
+
/** adds to merkle tree in the local storage */
|
|
79
|
+
async addToMerkleTree(identifier, mtType, hindex, hvalue) {
|
|
80
|
+
const meta = localStorage.getItem(MerkleTreeLocalStorage.storageKeyMeta);
|
|
81
|
+
if (!meta) {
|
|
82
|
+
throw new Error(`Merkle tree meta not found for identifier ${identifier}`);
|
|
83
|
+
}
|
|
84
|
+
const metaInfo = JSON.parse(meta);
|
|
85
|
+
const resultMeta = metaInfo.filter((m) => m.identifier === identifier && m.type === mtType)[0];
|
|
86
|
+
if (!resultMeta) {
|
|
87
|
+
throw new Error(`Merkle tree not found for identifier ${identifier} and type ${mtType}`);
|
|
88
|
+
}
|
|
89
|
+
const tree = new Merkletree(new LocalStorageDB(str2Bytes(resultMeta.treeId)), true, this._mtDepth);
|
|
90
|
+
await tree.add(hindex, hvalue);
|
|
91
|
+
}
|
|
92
|
+
/** binds merkle tree in the local storage to the new identifiers */
|
|
93
|
+
async bindMerkleTreeToNewIdentifier(oldIdentifier, newIdentifier) {
|
|
94
|
+
const meta = localStorage.getItem(MerkleTreeLocalStorage.storageKeyMeta);
|
|
95
|
+
if (!meta) {
|
|
96
|
+
throw new Error(`Merkle tree meta not found for identifier ${oldIdentifier}`);
|
|
97
|
+
}
|
|
98
|
+
const metaInfo = JSON.parse(meta);
|
|
99
|
+
const treesMeta = metaInfo
|
|
100
|
+
.filter((m) => m.identifier === oldIdentifier)
|
|
101
|
+
.map((m) => ({ ...m, identifier: newIdentifier }));
|
|
102
|
+
if (treesMeta.length === 0) {
|
|
103
|
+
throw new Error(`Merkle tree meta not found for identifier ${oldIdentifier}`);
|
|
104
|
+
}
|
|
105
|
+
const newMetaInfo = [...metaInfo.filter((m) => m.identifier !== oldIdentifier), ...treesMeta];
|
|
106
|
+
localStorage.setItem(MerkleTreeLocalStorage.storageKeyMeta, JSON.stringify(newMetaInfo));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* key for the local storage
|
|
111
|
+
*
|
|
112
|
+
* @static
|
|
113
|
+
*/
|
|
114
|
+
MerkleTreeLocalStorage.storageKey = 'merkle-tree';
|
|
115
|
+
/**
|
|
116
|
+
* key for the storage key metadata
|
|
117
|
+
*
|
|
118
|
+
* @static
|
|
119
|
+
*/
|
|
120
|
+
MerkleTreeLocalStorage.storageKeyMeta = 'merkle-tree-meta';
|
|
121
|
+
//# sourceMappingURL=merkletree.js.map
|