@0xpolygonid/js-sdk 1.9.4 → 1.10.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.
Files changed (28) hide show
  1. package/README.md +10 -3
  2. package/dist/browser/esm/index.js +192 -9
  3. package/dist/browser/esm/index.js.map +1 -1
  4. package/dist/browser/umd/index.js +366 -180
  5. package/dist/browser/umd/index.js.map +1 -1
  6. package/dist/node/cjs/circuits/atomic-query-sig-v2-on-chain.js +4 -4
  7. package/dist/node/cjs/circuits/state-transition.js +2 -2
  8. package/dist/node/cjs/iden3comm/constants.js +5 -1
  9. package/dist/node/cjs/iden3comm/handlers/credential-proposal.js +213 -0
  10. package/dist/node/cjs/iden3comm/handlers/index.js +1 -0
  11. package/dist/node/cjs/iden3comm/types/index.js +1 -0
  12. package/dist/node/cjs/iden3comm/types/protocol/proposal-request.js +2 -0
  13. package/dist/node/cjs/identity/identity-wallet.js +1 -1
  14. package/dist/node/esm/circuits/atomic-query-sig-v2-on-chain.js +4 -4
  15. package/dist/node/esm/circuits/state-transition.js +3 -3
  16. package/dist/node/esm/iden3comm/constants.js +5 -1
  17. package/dist/node/esm/iden3comm/handlers/credential-proposal.js +184 -0
  18. package/dist/node/esm/iden3comm/handlers/index.js +1 -0
  19. package/dist/node/esm/iden3comm/types/index.js +1 -0
  20. package/dist/node/esm/iden3comm/types/protocol/proposal-request.js +1 -0
  21. package/dist/node/esm/identity/identity-wallet.js +1 -1
  22. package/dist/types/circuits/atomic-query-sig-v2-on-chain.d.ts +1 -2
  23. package/dist/types/iden3comm/constants.d.ts +2 -0
  24. package/dist/types/iden3comm/handlers/credential-proposal.d.ts +112 -0
  25. package/dist/types/iden3comm/handlers/index.d.ts +1 -0
  26. package/dist/types/iden3comm/types/index.d.ts +1 -0
  27. package/dist/types/iden3comm/types/protocol/proposal-request.d.ts +35 -0
  28. package/package.json +10 -8
@@ -0,0 +1,112 @@
1
+ import { IPackageManager, JSONObject, PackerParams } from '../types';
2
+ import { DID } from '@iden3/js-iden3-core';
3
+ import { Proposal, ProposalRequestCredential, ProposalRequestMessage, ProposalMessage } from '../types/protocol/proposal-request';
4
+ import { IIdentityWallet } from '../../identity';
5
+ /** @beta ProposalRequestCreationOptions represents proposal-request creation options */
6
+ export type ProposalRequestCreationOptions = {
7
+ credentials: ProposalRequestCredential[];
8
+ metadata?: {
9
+ type: string;
10
+ data?: JSONObject;
11
+ };
12
+ did_doc?: JSONObject;
13
+ };
14
+ /**
15
+ * @beta
16
+ * createProposalRequest is a function to create protocol proposal-request protocol message
17
+ * @param {DID} sender - sender did
18
+ * @param {DID} receiver - receiver did
19
+ * @param {ProposalRequestCreationOptions} opts - creation options
20
+ * @returns `Promise<ProposalRequestMessage>`
21
+ */
22
+ export declare function createProposalRequest(sender: DID, receiver: DID, opts: ProposalRequestCreationOptions): ProposalRequestMessage;
23
+ /**
24
+ * @beta
25
+ * createProposal is a function to create protocol proposal protocol message
26
+ * @param {DID} sender - sender did
27
+ * @param {DID} receiver - receiver did
28
+ * @param {Proposal[]} proposals - proposals
29
+ * @returns `Promise<ProposalRequestMessage>`
30
+ */
31
+ export declare function createProposal(sender: DID, receiver: DID, proposals?: Proposal[]): ProposalMessage;
32
+ /**
33
+ * @beta
34
+ * Interface that allows the processing of the proposal-request
35
+ *
36
+ * @interface ICredentialProposalHandler
37
+ */
38
+ export interface ICredentialProposalHandler {
39
+ /**
40
+ * @beta
41
+ * unpacks proposal-request
42
+ * @param {Uint8Array} request - raw byte message
43
+ * @returns `Promise<ProposalRequestMessage>`
44
+ */
45
+ parseProposalRequest(request: Uint8Array): Promise<ProposalRequestMessage>;
46
+ /**
47
+ * @beta
48
+ * handle proposal-request
49
+ * @param {Uint8Array} request - raw byte message
50
+ * @param {ProposalRequestHandlerOptions} opts - handler options
51
+ * @returns {Promise<Uint8Array>}` - proposal response message
52
+ */
53
+ handleProposalRequest(request: Uint8Array, opts?: ProposalRequestHandlerOptions): Promise<Uint8Array>;
54
+ /**
55
+ * @beta
56
+ * handle proposal protocol message
57
+ * @param {ProposalMessage} proposal - proposal message
58
+ * @param {ProposalHandlerOptions} opts - options
59
+ * @returns `Promise<{
60
+ proposal: ProposalMessage;
61
+ }>`
62
+ */
63
+ handleProposal(proposal: ProposalMessage, opts?: ProposalHandlerOptions): Promise<{
64
+ proposal: ProposalMessage;
65
+ }>;
66
+ }
67
+ /** @beta ProposalRequestHandlerOptions represents proposal-request handler options */
68
+ export type ProposalRequestHandlerOptions = object;
69
+ /** @beta ProposalHandlerOptions represents proposal handler options */
70
+ export type ProposalHandlerOptions = {
71
+ proposalRequest?: ProposalRequestMessage;
72
+ };
73
+ /** @beta CredentialProposalHandlerParams represents credential proposal handler params */
74
+ export type CredentialProposalHandlerParams = {
75
+ agentUrl: string;
76
+ proposalResolverFn: (context: string, type: string) => Promise<Proposal>;
77
+ packerParams: PackerParams;
78
+ };
79
+ /**
80
+ *
81
+ * Allows to process ProposalRequest protocol message
82
+ * @beta
83
+ * @class CredentialProposalHandler
84
+ * @implements implements ICredentialProposalHandler interface
85
+ */
86
+ export declare class CredentialProposalHandler implements ICredentialProposalHandler {
87
+ private readonly _packerMgr;
88
+ private readonly _identityWallet;
89
+ private readonly _params;
90
+ /**
91
+ * @beta Creates an instance of CredentialProposalHandler.
92
+ * @param {IPackageManager} _packerMgr - package manager to unpack message envelope
93
+ * @param {IIdentityWallet} _identityWallet - identity wallet
94
+ * @param {CredentialProposalHandlerParams} _params - credential proposal handler params
95
+ *
96
+ */
97
+ constructor(_packerMgr: IPackageManager, _identityWallet: IIdentityWallet, _params: CredentialProposalHandlerParams);
98
+ /**
99
+ * @inheritdoc ICredentialProposalHandler#parseProposalRequest
100
+ */
101
+ parseProposalRequest(request: Uint8Array): Promise<ProposalRequestMessage>;
102
+ /**
103
+ * @inheritdoc ICredentialProposalHandler#handleProposalRequest
104
+ */
105
+ handleProposalRequest(request: Uint8Array, opts?: ProposalRequestHandlerOptions): Promise<Uint8Array>;
106
+ /**
107
+ * @inheritdoc ICredentialProposalHandler#handleProposal
108
+ */
109
+ handleProposal(proposal: ProposalMessage, opts?: ProposalHandlerOptions): Promise<{
110
+ proposal: ProposalMessage;
111
+ }>;
112
+ }
@@ -4,3 +4,4 @@ export * from './contract-request';
4
4
  export * from './refresh';
5
5
  export * from './revocation-status';
6
6
  export * from './common';
7
+ export * from './credential-proposal';
@@ -4,5 +4,6 @@ export * from './protocol/messages';
4
4
  export * from './protocol/proof';
5
5
  export * from './protocol/revocation';
6
6
  export * from './protocol/contract-request';
7
+ export * from './protocol/proposal-request';
7
8
  export * from './packer';
8
9
  export * from './packageManager';
@@ -0,0 +1,35 @@
1
+ import { BasicMessage, JSONObject } from '../';
2
+ /** @beta ProposalRequestMessage is struct the represents proposal-request message */
3
+ export type ProposalRequestMessage = BasicMessage & {
4
+ body?: ProposalRequestMessageBody;
5
+ };
6
+ /** @beta ProposalRequestMessageBody is struct the represents body for proposal-request */
7
+ export type ProposalRequestMessageBody = {
8
+ credentials: ProposalRequestCredential[];
9
+ metadata?: {
10
+ type: string;
11
+ data?: JSONObject;
12
+ };
13
+ did_doc?: JSONObject;
14
+ };
15
+ /** @beta ProposalMessage is struct the represents proposal message */
16
+ export type ProposalMessage = BasicMessage & {
17
+ body?: ProposalMessageBody;
18
+ };
19
+ /** @beta ProposalMessageBody is struct the represents body for proposal message */
20
+ export type ProposalMessageBody = {
21
+ proposals: Proposal[];
22
+ };
23
+ /** @beta ProposalRequestCredential is struct the represents proposal request credential */
24
+ export type ProposalRequestCredential = {
25
+ type: string;
26
+ context: string;
27
+ };
28
+ /** @beta Proposal is struct the represents proposal inside proposal protocol message */
29
+ export type Proposal = {
30
+ credentials?: ProposalRequestCredential[];
31
+ type: string;
32
+ url?: string;
33
+ expiration?: string;
34
+ description?: string;
35
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xpolygonid/js-sdk",
3
- "version": "1.9.4",
3
+ "version": "1.10.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",
@@ -34,7 +34,9 @@
34
34
  "tsc:declaration:watch": "tsc --watch --module commonjs --emitDeclarationOnly",
35
35
  "test": "env TS_NODE_COMPILER_OPTIONS='{\"strict\": false, \"module\": \"CommonJS\"}' mocha",
36
36
  "lint": "eslint --fix --ext .ts src/** tests/**",
37
- "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\""
37
+ "lint:check": "eslint --ext .ts src/** tests/**",
38
+ "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
39
+ "format:check": "prettier \"src/**/*.ts\" \"tests/**/*.ts\" --check"
38
40
  },
39
41
  "repository": {
40
42
  "type": "git",
@@ -85,11 +87,11 @@
85
87
  "typescript": "^4.8.4"
86
88
  },
87
89
  "peerDependencies": {
88
- "@iden3/js-crypto": "1.0.3",
89
- "@iden3/js-iden3-core": "1.2.1",
90
- "@iden3/js-jsonld-merklization": "1.1.2",
91
- "@iden3/js-jwz": "1.3.0",
92
- "@iden3/js-merkletree": "1.1.2",
90
+ "@iden3/js-crypto": "1.1.0",
91
+ "@iden3/js-iden3-core": "1.3.1",
92
+ "@iden3/js-jsonld-merklization": "1.2.0",
93
+ "@iden3/js-jwz": "1.4.0",
94
+ "@iden3/js-merkletree": "1.2.0",
93
95
  "ffjavascript": "0.2.63",
94
96
  "rfc4648": "1.5.3",
95
97
  "snarkjs": "0.7.3"
@@ -121,6 +123,6 @@
121
123
  ]
122
124
  },
123
125
  "engines": {
124
- "node": ">=18.16.0"
126
+ "node": ">=20.11.0"
125
127
  }
126
128
  }