@0xpolygonid/js-sdk 1.10.4 → 1.11.1
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/README.md +11 -0
- package/dist/browser/esm/index.js +8360 -17398
- package/dist/browser/esm/index.js.map +1 -1
- package/dist/browser/umd/index.js +8383 -17416
- package/dist/browser/umd/index.js.map +1 -1
- package/dist/node/cjs/blockchain/index.js +17 -0
- package/dist/node/cjs/blockchain/transaction-service.js +55 -0
- package/dist/node/cjs/credentials/credential-wallet.js +1 -1
- package/dist/node/cjs/credentials/status/reverse-sparse-merkle-tree.js +5 -1
- package/dist/node/cjs/iden3comm/handlers/auth.js +62 -27
- package/dist/node/cjs/iden3comm/handlers/common.js +4 -4
- package/dist/node/cjs/iden3comm/handlers/contract-request.js +34 -15
- package/dist/node/cjs/iden3comm/handlers/credential-proposal.js +33 -14
- package/dist/node/cjs/iden3comm/handlers/fetch.js +65 -34
- package/dist/node/cjs/iden3comm/handlers/index.js +1 -0
- package/dist/node/cjs/iden3comm/handlers/message-handler.js +96 -0
- package/dist/node/cjs/iden3comm/handlers/revocation-status.js +58 -30
- package/dist/node/cjs/iden3comm/packageManager.js +16 -0
- package/dist/node/cjs/iden3comm/packers/jws.js +63 -49
- package/dist/node/cjs/iden3comm/packers/plain.js +13 -3
- package/dist/node/cjs/iden3comm/packers/zkp.js +9 -0
- package/dist/node/cjs/iden3comm/utils/did.js +11 -11
- package/dist/node/cjs/identity/identity-wallet.js +228 -43
- package/dist/node/cjs/index.js +1 -0
- package/dist/node/cjs/kms/key-providers/bjj-provider.js +9 -0
- package/dist/node/cjs/kms/key-providers/ed25519-provider.js +14 -3
- package/dist/node/cjs/kms/key-providers/index.js +1 -1
- package/dist/node/cjs/kms/key-providers/{sec256k1-provider.js → secp256k1-provider.js} +37 -26
- package/dist/node/cjs/kms/kms.js +15 -0
- package/dist/node/cjs/proof/proof-service.js +3 -33
- package/dist/node/cjs/proof/provers/inputs-generator.js +2 -7
- package/dist/node/cjs/storage/blockchain/onchain-revocation.js +4 -12
- package/dist/node/cjs/storage/blockchain/onchain-zkp-verifier.js +3 -10
- package/dist/node/cjs/storage/blockchain/state.js +39 -10
- package/dist/node/cjs/utils/did-helper.js +36 -2
- package/dist/node/cjs/verifiable/constants.js +2 -1
- package/dist/node/esm/blockchain/index.js +1 -0
- package/dist/node/esm/blockchain/transaction-service.js +51 -0
- package/dist/node/esm/credentials/credential-wallet.js +1 -1
- package/dist/node/esm/credentials/status/reverse-sparse-merkle-tree.js +6 -2
- package/dist/node/esm/iden3comm/handlers/auth.js +62 -27
- package/dist/node/esm/iden3comm/handlers/common.js +4 -4
- package/dist/node/esm/iden3comm/handlers/contract-request.js +34 -15
- package/dist/node/esm/iden3comm/handlers/credential-proposal.js +33 -14
- package/dist/node/esm/iden3comm/handlers/fetch.js +65 -34
- package/dist/node/esm/iden3comm/handlers/index.js +1 -0
- package/dist/node/esm/iden3comm/handlers/message-handler.js +91 -0
- package/dist/node/esm/iden3comm/handlers/revocation-status.js +58 -30
- package/dist/node/esm/iden3comm/packageManager.js +16 -0
- package/dist/node/esm/iden3comm/packers/jws.js +63 -49
- package/dist/node/esm/iden3comm/packers/plain.js +13 -3
- package/dist/node/esm/iden3comm/packers/zkp.js +9 -0
- package/dist/node/esm/iden3comm/utils/did.js +11 -8
- package/dist/node/esm/identity/identity-wallet.js +230 -45
- package/dist/node/esm/index.js +1 -0
- package/dist/node/esm/kms/key-providers/bjj-provider.js +10 -1
- package/dist/node/esm/kms/key-providers/ed25519-provider.js +14 -3
- package/dist/node/esm/kms/key-providers/index.js +1 -1
- package/dist/node/esm/kms/key-providers/secp256k1-provider.js +85 -0
- package/dist/node/esm/kms/kms.js +15 -0
- package/dist/node/esm/proof/proof-service.js +4 -34
- package/dist/node/esm/proof/provers/inputs-generator.js +3 -8
- package/dist/node/esm/storage/blockchain/onchain-revocation.js +4 -12
- package/dist/node/esm/storage/blockchain/onchain-zkp-verifier.js +3 -10
- package/dist/node/esm/storage/blockchain/state.js +39 -10
- package/dist/node/esm/utils/did-helper.js +33 -1
- package/dist/node/esm/verifiable/constants.js +2 -1
- package/dist/types/blockchain/index.d.ts +1 -0
- package/dist/types/blockchain/transaction-service.d.ts +80 -0
- package/dist/types/iden3comm/handlers/auth.d.ts +17 -2
- package/dist/types/iden3comm/handlers/common.d.ts +2 -2
- package/dist/types/iden3comm/handlers/contract-request.d.ts +10 -2
- package/dist/types/iden3comm/handlers/credential-proposal.d.ts +5 -2
- package/dist/types/iden3comm/handlers/fetch.d.ts +15 -6
- package/dist/types/iden3comm/handlers/index.d.ts +1 -0
- package/dist/types/iden3comm/handlers/message-handler.d.ts +83 -0
- package/dist/types/iden3comm/handlers/revocation-status.d.ts +18 -2
- package/dist/types/iden3comm/packageManager.d.ts +10 -0
- package/dist/types/iden3comm/packers/jws.d.ts +9 -0
- package/dist/types/iden3comm/packers/plain.d.ts +10 -2
- package/dist/types/iden3comm/packers/zkp.d.ts +7 -0
- package/dist/types/iden3comm/types/packageManager.d.ts +10 -0
- package/dist/types/iden3comm/types/packer.d.ts +24 -2
- package/dist/types/iden3comm/types/protocol/auth.d.ts +5 -15
- package/dist/types/iden3comm/types/protocol/contract-request.d.ts +2 -6
- package/dist/types/iden3comm/types/protocol/credentials.d.ts +7 -44
- package/dist/types/iden3comm/types/protocol/messages.d.ts +2 -9
- package/dist/types/iden3comm/types/protocol/proof.d.ts +3 -16
- package/dist/types/iden3comm/types/protocol/revocation.d.ts +3 -16
- package/dist/types/identity/identity-wallet.d.ts +80 -7
- package/dist/types/index.d.ts +1 -0
- package/dist/types/kms/key-providers/bjj-provider.d.ts +1 -0
- package/dist/types/kms/key-providers/ed25519-provider.d.ts +10 -2
- package/dist/types/kms/key-providers/index.d.ts +1 -1
- package/dist/types/kms/key-providers/{sec256k1-provider.d.ts → secp256k1-provider.d.ts} +15 -9
- package/dist/types/kms/kms.d.ts +18 -0
- package/dist/types/proof/proof-service.d.ts +2 -2
- package/dist/types/storage/blockchain/onchain-revocation.d.ts +1 -0
- package/dist/types/storage/blockchain/state.d.ts +7 -2
- package/dist/types/storage/interfaces/state.d.ts +26 -2
- package/dist/types/utils/did-helper.d.ts +9 -1
- package/dist/types/verifiable/constants.d.ts +1 -0
- package/package.json +10 -12
- package/LICENSE +0 -691
- package/dist/node/esm/kms/key-providers/sec256k1-provider.js +0 -71
package/dist/types/kms/kms.d.ts
CHANGED
|
@@ -37,6 +37,15 @@ export interface IKeyProvider {
|
|
|
37
37
|
* @returns `Promise<KmsKeyId>`
|
|
38
38
|
*/
|
|
39
39
|
newPrivateKeyFromSeed(seed: Uint8Array): Promise<KmsKeyId>;
|
|
40
|
+
/**
|
|
41
|
+
* Verifies a message signature using the provided key ID.
|
|
42
|
+
*
|
|
43
|
+
* @param message - The message bytes to verify.
|
|
44
|
+
* @param signatureHex - The signature in hexadecimal format.
|
|
45
|
+
* @param keyId - The KMS key ID used to verify the signature.
|
|
46
|
+
* @returns A promise that resolves to a boolean indicating whether the signature is valid.
|
|
47
|
+
*/
|
|
48
|
+
verify(message: Uint8Array, signatureHex: string, keyId: KmsKeyId): Promise<boolean>;
|
|
40
49
|
}
|
|
41
50
|
/**
|
|
42
51
|
* Key management system class contains different key providers.
|
|
@@ -79,4 +88,13 @@ export declare class KMS {
|
|
|
79
88
|
sign(keyId: KmsKeyId, data: Uint8Array, opts?: {
|
|
80
89
|
[key: string]: unknown;
|
|
81
90
|
}): Promise<Uint8Array>;
|
|
91
|
+
/**
|
|
92
|
+
* Verifies a signature against the provided data and key ID.
|
|
93
|
+
*
|
|
94
|
+
* @param data - The data to verify the signature against.
|
|
95
|
+
* @param signatureHex - The signature to verify, in hexadecimal format.
|
|
96
|
+
* @param keyId - The key ID to use for verification.
|
|
97
|
+
* @returns A promise that resolves to a boolean indicating whether the signature is valid.
|
|
98
|
+
*/
|
|
99
|
+
verify(data: Uint8Array, signatureHex: string, keyId: KmsKeyId): Promise<boolean>;
|
|
82
100
|
}
|
|
@@ -90,7 +90,6 @@ export interface IProofService {
|
|
|
90
90
|
* @param {DID} did - identity that will transit state
|
|
91
91
|
* @param {TreeState} oldTreeState - previous tree state
|
|
92
92
|
* @param {boolean} isOldStateGenesis - is a transition state is done from genesis state
|
|
93
|
-
* @param {IStateStorage} stateStorage - storage of identity states (only eth based storage currently)
|
|
94
93
|
* @param {Signer} ethSigner - signer for transaction
|
|
95
94
|
* @returns `{Promise<string>}` - transaction hash is returned
|
|
96
95
|
*/
|
|
@@ -133,7 +132,8 @@ export declare class ProofService implements IProofService {
|
|
|
133
132
|
/** {@inheritdoc IProofService.generateProof} */
|
|
134
133
|
generateProof(proofReq: ZeroKnowledgeProofRequest, identifier: DID, opts?: ProofGenerationOptions): Promise<ZeroKnowledgeProofResponse>;
|
|
135
134
|
/** {@inheritdoc IProofService.transitState} */
|
|
136
|
-
transitState(did: DID, oldTreeState: TreeState, isOldStateGenesis: boolean, stateStorage: IStateStorage,
|
|
135
|
+
transitState(did: DID, oldTreeState: TreeState, isOldStateGenesis: boolean, stateStorage: IStateStorage, // for compatibility with previous versions we leave this parameter
|
|
136
|
+
ethSigner: Signer): Promise<string>;
|
|
137
137
|
private generateInputs;
|
|
138
138
|
private toCircuitsQuery;
|
|
139
139
|
private loadLdContext;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RootInfo, StateProof } from './../entities/state';
|
|
2
2
|
import { ZKProof } from '@iden3/js-jwz';
|
|
3
|
-
import { IStateStorage } from '../interfaces/state';
|
|
3
|
+
import { IStateStorage, UserStateTransitionInfo } from '../interfaces/state';
|
|
4
4
|
import { Contract, JsonRpcProvider, Signer } from 'ethers';
|
|
5
5
|
import { StateInfo } from '../entities/state';
|
|
6
6
|
/**
|
|
@@ -36,7 +36,8 @@ export declare const defaultEthConnectionConfig: EthConnectionConfig;
|
|
|
36
36
|
export declare class EthStateStorage implements IStateStorage {
|
|
37
37
|
private readonly ethConfig;
|
|
38
38
|
readonly stateContract: Contract;
|
|
39
|
-
readonly provider
|
|
39
|
+
private readonly provider;
|
|
40
|
+
private readonly _transactionService;
|
|
40
41
|
/**
|
|
41
42
|
* Creates an instance of EthStateStorage.
|
|
42
43
|
* @param {EthConnectionConfig} [ethConfig=defaultEthConnectionConfig]
|
|
@@ -48,10 +49,14 @@ export declare class EthStateStorage implements IStateStorage {
|
|
|
48
49
|
getStateInfoByIdAndState(id: bigint, state: bigint): Promise<StateInfo>;
|
|
49
50
|
/** {@inheritdoc IStateStorage.publishState} */
|
|
50
51
|
publishState(proof: ZKProof, signer: Signer): Promise<string>;
|
|
52
|
+
/** {@inheritdoc IStateStorage.publishStateGeneric} */
|
|
53
|
+
publishStateGeneric(signer: Signer, userStateTransitionInfo: UserStateTransitionInfo): Promise<string>;
|
|
51
54
|
/** {@inheritdoc IStateStorage.getGISTProof} */
|
|
52
55
|
getGISTProof(id: bigint): Promise<StateProof>;
|
|
53
56
|
/** {@inheritdoc IStateStorage.getGISTRootInfo} */
|
|
54
57
|
getGISTRootInfo(root: bigint, id: bigint): Promise<RootInfo>;
|
|
58
|
+
/** {@inheritdoc IStateStorage.getRpcProvider} */
|
|
59
|
+
getRpcProvider(): JsonRpcProvider;
|
|
55
60
|
private getStateContractAndProviderForId;
|
|
56
61
|
private networkByChainId;
|
|
57
62
|
}
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { ZKProof } from '@iden3/js-jwz';
|
|
2
|
-
import { Signer } from 'ethers';
|
|
2
|
+
import { JsonRpcProvider, Signer } from 'ethers';
|
|
3
3
|
import { RootInfo, StateInfo, StateProof } from '../entities/state';
|
|
4
|
+
import { Id } from '@iden3/js-iden3-core';
|
|
5
|
+
import { Hash } from '@iden3/js-merkletree';
|
|
6
|
+
export interface UserStateTransitionInfo {
|
|
7
|
+
userId: Id;
|
|
8
|
+
oldUserState: Hash;
|
|
9
|
+
newUserState: Hash;
|
|
10
|
+
isOldStateGenesis: boolean;
|
|
11
|
+
methodId: bigint;
|
|
12
|
+
methodParams: string;
|
|
13
|
+
}
|
|
4
14
|
/**
|
|
5
15
|
* Interface that defines methods for state storage
|
|
6
16
|
*
|
|
@@ -30,7 +40,15 @@ export interface IStateStorage {
|
|
|
30
40
|
* @param {Signer} signer - signer of transaction
|
|
31
41
|
* @returns `Promise<string>` - transaction identifier
|
|
32
42
|
*/
|
|
33
|
-
publishState(proof: ZKProof, signer: Signer): Promise<string>;
|
|
43
|
+
publishState(proof: ZKProof | undefined, signer: Signer): Promise<string>;
|
|
44
|
+
/**
|
|
45
|
+
* method to publish state onchain
|
|
46
|
+
*
|
|
47
|
+
* @param {Signer} signer - signer of transaction
|
|
48
|
+
* @param {UserStateTransitionInfo} userStateTransitionInfo - user state transition information
|
|
49
|
+
* @returns `Promise<string>` - transaction identifier
|
|
50
|
+
*/
|
|
51
|
+
publishStateGeneric(signer: Signer, userStateTransitionInfo?: UserStateTransitionInfo): Promise<string>;
|
|
34
52
|
/**
|
|
35
53
|
* generates proof of inclusion / non-inclusion to global identity state for given identity
|
|
36
54
|
*
|
|
@@ -46,4 +64,10 @@ export interface IStateStorage {
|
|
|
46
64
|
* @returns `Promise<RootInfo>`
|
|
47
65
|
*/
|
|
48
66
|
getGISTRootInfo(root: bigint, userId: bigint): Promise<RootInfo>;
|
|
67
|
+
/**
|
|
68
|
+
* gets RPC provider
|
|
69
|
+
*
|
|
70
|
+
* @returns `Promise<JsonRpcProvider>`
|
|
71
|
+
*/
|
|
72
|
+
getRpcProvider(): JsonRpcProvider;
|
|
49
73
|
}
|
|
@@ -4,11 +4,18 @@ import { VerificationMethod } from 'did-resolver';
|
|
|
4
4
|
/**
|
|
5
5
|
* Checks if state is genesis state
|
|
6
6
|
*
|
|
7
|
-
* @param {
|
|
7
|
+
* @param {DID} did - did
|
|
8
8
|
* @param {bigint|string} state - hash on bigInt or hex string format
|
|
9
9
|
* @returns boolean
|
|
10
10
|
*/
|
|
11
11
|
export declare function isGenesisState(did: DID, state: bigint | string): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Checks if DID is an ethereum identity
|
|
14
|
+
*
|
|
15
|
+
* @param {DID} did - did
|
|
16
|
+
* @returns boolean
|
|
17
|
+
*/
|
|
18
|
+
export declare function isEthereumIdentity(did: DID): boolean;
|
|
12
19
|
export declare const buildVerifierId: (address: string, info: {
|
|
13
20
|
method: string;
|
|
14
21
|
blockchain: string;
|
|
@@ -16,3 +23,4 @@ export declare const buildVerifierId: (address: string, info: {
|
|
|
16
23
|
}) => Id;
|
|
17
24
|
export declare const validateDIDDocumentAuth: (did: DID, resolverURL: string, state: Hash) => Promise<void>;
|
|
18
25
|
export declare const resolveDIDDocumentAuth: (did: DID, resolveURL: string, state?: Hash) => Promise<VerificationMethod | undefined>;
|
|
26
|
+
export declare const buildDIDFromEthPubKey: (didType: Uint8Array, pubKeyEth: string) => DID;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xpolygonid/js-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.11.1",
|
|
4
4
|
"description": "SDK to work with Polygon ID",
|
|
5
5
|
"main": "dist/node/cjs/index.js",
|
|
6
6
|
"module": "dist/node/esm/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"build": "npm run clean && npm run build:node && npm run build:browser",
|
|
26
26
|
"build:node": "npm run build:tsc && npm run build:esm",
|
|
27
27
|
"build:esm": "tsc --outDir dist/node/esm --declaration --declarationDir dist/types",
|
|
28
|
-
"build:browser": "rollup -c rollup.config.mjs --failAfterWarnings",
|
|
28
|
+
"build:browser": "rollup -c rollup.config.mjs --failAfterWarnings --filterLogs \"/* @__PURE__ */\"",
|
|
29
29
|
"build:tsc": "tsc --module commonjs --outDir dist/node/cjs",
|
|
30
30
|
"doc:extract": "ts-node ./scripts/doc-extract.ts",
|
|
31
31
|
"doc:documenter": "ts-node ./scripts/doc-documenter.ts",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"url": "https://github.com/0xPolygonID/js-sdk.git"
|
|
44
44
|
},
|
|
45
45
|
"author": "",
|
|
46
|
-
"license": "
|
|
46
|
+
"license": "MIT or Apache-2.0",
|
|
47
47
|
"bugs": {
|
|
48
48
|
"url": "https://github.com/0xPolygonID/js-sdk/issues"
|
|
49
49
|
},
|
|
@@ -53,18 +53,17 @@
|
|
|
53
53
|
"@iden3/eslint-config": "https://github.com/iden3/eslint-config",
|
|
54
54
|
"@microsoft/api-documenter": "^7.8.20",
|
|
55
55
|
"@microsoft/api-extractor": "^7.9.0",
|
|
56
|
-
"@rollup/plugin-commonjs": "^25.0.
|
|
57
|
-
"@rollup/plugin-json": "^6.0
|
|
58
|
-
"@rollup/plugin-node-resolve": "^15.2.
|
|
59
|
-
"@rollup/plugin-replace": "^5.0.
|
|
56
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
57
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
58
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
59
|
+
"@rollup/plugin-replace": "^5.0.5",
|
|
60
60
|
"@rollup/plugin-terser": "^0.4.4",
|
|
61
|
-
"@rollup/plugin-typescript": "^11.1.
|
|
61
|
+
"@rollup/plugin-typescript": "^11.1.6",
|
|
62
62
|
"@rollup/plugin-virtual": "^3.0.2",
|
|
63
63
|
"@typechain/ethers-v6": "^0.5.1",
|
|
64
64
|
"@types/chai": "^4.3.9",
|
|
65
65
|
"@types/chai-as-promised": "^7.1.7",
|
|
66
66
|
"@types/chai-spies": "^1.0.5",
|
|
67
|
-
"@types/elliptic": "^6.4.16",
|
|
68
67
|
"@types/fs-extra": "^11.0.1",
|
|
69
68
|
"@types/jsonld": "^1.5.11",
|
|
70
69
|
"@types/mocha": "^10.0.3",
|
|
@@ -81,7 +80,7 @@
|
|
|
81
80
|
"mocha": "10.2.0",
|
|
82
81
|
"prettier": "^2.7.1",
|
|
83
82
|
"rimraf": "^5.0.5",
|
|
84
|
-
"rollup": "^4.
|
|
83
|
+
"rollup": "^4.14.3",
|
|
85
84
|
"ts-loader": "^9.4.1",
|
|
86
85
|
"ts-node": "^10.9.1",
|
|
87
86
|
"typescript": "^4.8.4"
|
|
@@ -100,9 +99,8 @@
|
|
|
100
99
|
"@noble/curves": "^1.4.0",
|
|
101
100
|
"ajv": "8.12.0",
|
|
102
101
|
"ajv-formats": "2.1.1",
|
|
103
|
-
"did-jwt": "
|
|
102
|
+
"did-jwt": "8.0.4",
|
|
104
103
|
"did-resolver": "4.1.0",
|
|
105
|
-
"elliptic": "6.5.4",
|
|
106
104
|
"ethers": "6.8.0",
|
|
107
105
|
"idb-keyval": "6.2.0",
|
|
108
106
|
"js-sha3": "0.9.3",
|