@0xpolygonid/js-sdk 1.11.1 → 1.13.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/dist/browser/esm/index.js +229 -2
- package/dist/browser/esm/index.js.map +1 -1
- package/dist/browser/umd/index.js +287 -53
- package/dist/browser/umd/index.js.map +1 -1
- package/dist/node/cjs/iden3comm/constants.js +5 -1
- package/dist/node/cjs/iden3comm/handlers/index.js +1 -0
- package/dist/node/cjs/iden3comm/handlers/payment.js +232 -0
- package/dist/node/cjs/iden3comm/types/index.js +1 -0
- package/dist/node/cjs/iden3comm/types/protocol/payment.js +2 -0
- package/dist/node/cjs/verifiable/constants.js +28 -1
- package/dist/node/esm/iden3comm/constants.js +5 -1
- package/dist/node/esm/iden3comm/handlers/index.js +1 -0
- package/dist/node/esm/iden3comm/handlers/payment.js +203 -0
- package/dist/node/esm/iden3comm/types/index.js +1 -0
- package/dist/node/esm/iden3comm/types/protocol/payment.js +1 -0
- package/dist/node/esm/verifiable/constants.js +27 -0
- package/dist/types/iden3comm/constants.d.ts +2 -0
- package/dist/types/iden3comm/handlers/index.d.ts +1 -0
- package/dist/types/iden3comm/handlers/message-handler.d.ts +2 -1
- package/dist/types/iden3comm/handlers/payment.d.ts +100 -0
- package/dist/types/iden3comm/types/index.d.ts +1 -0
- package/dist/types/iden3comm/types/protocol/payment.d.ts +47 -0
- package/dist/types/verifiable/constants.d.ts +24 -0
- package/package.json +4 -4
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { BasicMessage, IPackageManager, PackerParams } from '../types';
|
|
2
|
+
import { DID } from '@iden3/js-iden3-core';
|
|
3
|
+
import { AbstractMessageHandler, IProtocolMessageHandler } from './message-handler';
|
|
4
|
+
import { PaymentInfo, PaymentMessage, PaymentRequestDataInfo, PaymentRequestInfo, PaymentRequestMessage } from '../types/protocol/payment';
|
|
5
|
+
/**
|
|
6
|
+
* @beta
|
|
7
|
+
* createPaymentRequest is a function to create protocol payment-request message
|
|
8
|
+
* @param {DID} sender - sender did
|
|
9
|
+
* @param {DID} receiver - receiver did
|
|
10
|
+
* @param {string} agent - agent URL
|
|
11
|
+
* @param {PaymentRequestInfo[]} payments - payments
|
|
12
|
+
* @returns `PaymentRequestMessage`
|
|
13
|
+
*/
|
|
14
|
+
export declare function createPaymentRequest(sender: DID, receiver: DID, agent: string, payments: PaymentRequestInfo[]): PaymentRequestMessage;
|
|
15
|
+
/**
|
|
16
|
+
* @beta
|
|
17
|
+
* createPayment is a function to create protocol payment message
|
|
18
|
+
* @param {DID} sender - sender did
|
|
19
|
+
* @param {DID} receiver - receiver did
|
|
20
|
+
* @param {PaymentInfo[]} payments - payments
|
|
21
|
+
* @returns `PaymentMessage`
|
|
22
|
+
*/
|
|
23
|
+
export declare function createPayment(sender: DID, receiver: DID, payments: PaymentInfo[]): PaymentMessage;
|
|
24
|
+
/**
|
|
25
|
+
* @beta
|
|
26
|
+
* Interface that allows the processing of the payment-request and payment protocol messages
|
|
27
|
+
*
|
|
28
|
+
* @interface IPaymentHandler
|
|
29
|
+
*/
|
|
30
|
+
export interface IPaymentHandler {
|
|
31
|
+
/**
|
|
32
|
+
* @beta
|
|
33
|
+
* unpacks payment-request
|
|
34
|
+
* @param {Uint8Array} request - raw byte message
|
|
35
|
+
* @returns `Promise<PaymentRequestMessage>`
|
|
36
|
+
*/
|
|
37
|
+
parsePaymentRequest(request: Uint8Array): Promise<PaymentRequestMessage>;
|
|
38
|
+
/**
|
|
39
|
+
* @beta
|
|
40
|
+
* handle payment-request
|
|
41
|
+
* @param {Uint8Array} request - raw byte message
|
|
42
|
+
* @param {PaymentRequestMessageHandlerOptions} opts - handler options
|
|
43
|
+
* @returns {Promise<Uint8Array>} - agent message or null
|
|
44
|
+
*/
|
|
45
|
+
handlePaymentRequest(request: Uint8Array, opts: PaymentRequestMessageHandlerOptions): Promise<Uint8Array | null>;
|
|
46
|
+
/**
|
|
47
|
+
* @beta
|
|
48
|
+
* handle payment protocol message
|
|
49
|
+
* @param {PaymentMessage} payment - payment message
|
|
50
|
+
* @param {PaymentHandlerOptions} opts - options
|
|
51
|
+
* @returns `Promise<void>`
|
|
52
|
+
*/
|
|
53
|
+
handlePayment(payment: PaymentMessage, opts: PaymentHandlerOptions): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
/** @beta PaymentRequestMessageHandlerOptions represents payment-request handler options */
|
|
56
|
+
export type PaymentRequestMessageHandlerOptions = {
|
|
57
|
+
paymentHandler: (data: PaymentRequestDataInfo) => Promise<string>;
|
|
58
|
+
};
|
|
59
|
+
/** @beta PaymentHandlerOptions represents payment handler options */
|
|
60
|
+
export type PaymentHandlerOptions = {
|
|
61
|
+
paymentRequest: PaymentRequestMessage;
|
|
62
|
+
paymentValidationHandler: (txId: string, data: PaymentRequestDataInfo) => Promise<void>;
|
|
63
|
+
};
|
|
64
|
+
/** @beta PaymentHandlerParams represents payment handler params */
|
|
65
|
+
export type PaymentHandlerParams = {
|
|
66
|
+
packerParams: PackerParams;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
*
|
|
70
|
+
* Allows to process PaymentRequest protocol message
|
|
71
|
+
* @beta
|
|
72
|
+
* @class PaymentHandler
|
|
73
|
+
* @implements implements IPaymentHandler interface
|
|
74
|
+
*/
|
|
75
|
+
export declare class PaymentHandler extends AbstractMessageHandler implements IPaymentHandler, IProtocolMessageHandler {
|
|
76
|
+
private readonly _packerMgr;
|
|
77
|
+
private readonly _params;
|
|
78
|
+
/**
|
|
79
|
+
* @beta Creates an instance of PaymentHandler.
|
|
80
|
+
* @param {IPackageManager} _packerMgr - package manager to unpack message envelope
|
|
81
|
+
* @param {PaymentHandlerParams} _params - payment handler params
|
|
82
|
+
*
|
|
83
|
+
*/
|
|
84
|
+
constructor(_packerMgr: IPackageManager, _params: PaymentHandlerParams);
|
|
85
|
+
handle(message: BasicMessage, context: PaymentRequestMessageHandlerOptions | PaymentHandlerOptions): Promise<BasicMessage | null>;
|
|
86
|
+
/**
|
|
87
|
+
* @inheritdoc IPaymentHandler#parsePaymentRequest
|
|
88
|
+
*/
|
|
89
|
+
parsePaymentRequest(request: Uint8Array): Promise<PaymentRequestMessage>;
|
|
90
|
+
private handlePaymentRequestMessage;
|
|
91
|
+
/**
|
|
92
|
+
* @inheritdoc IPaymentHandler#handlePaymentRequest
|
|
93
|
+
*/
|
|
94
|
+
handlePaymentRequest(request: Uint8Array, opts: PaymentRequestMessageHandlerOptions): Promise<Uint8Array | null>;
|
|
95
|
+
/**
|
|
96
|
+
* @inheritdoc IPaymentHandler#handlePayment
|
|
97
|
+
*/
|
|
98
|
+
handlePayment(payment: PaymentMessage, opts: PaymentHandlerOptions): Promise<void>;
|
|
99
|
+
private packMessage;
|
|
100
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { BasicMessage } from '../';
|
|
2
|
+
import { PaymentRequestDataType, PaymentRequestType, PaymentType } from '../../../verifiable';
|
|
3
|
+
/** @beta PaymentRequestMessage is struct the represents payment-request message */
|
|
4
|
+
export type PaymentRequestMessage = BasicMessage & {
|
|
5
|
+
body?: PaymentRequestMessageBody;
|
|
6
|
+
};
|
|
7
|
+
/** @beta PaymentRequestMessageBody is struct the represents body for payment-request */
|
|
8
|
+
export type PaymentRequestMessageBody = {
|
|
9
|
+
agent: string;
|
|
10
|
+
payments: PaymentRequestInfo[];
|
|
11
|
+
};
|
|
12
|
+
/** @beta PaymentRequestInfo is struct the represents payment info for payment-request */
|
|
13
|
+
export type PaymentRequestInfo = {
|
|
14
|
+
credentials: {
|
|
15
|
+
type: string;
|
|
16
|
+
context: string;
|
|
17
|
+
}[];
|
|
18
|
+
type: PaymentRequestType;
|
|
19
|
+
data: PaymentRequestDataInfo;
|
|
20
|
+
expiration: number;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
/** @beta PaymentRequestDataInfo is struct the represents payment data info for payment-request */
|
|
24
|
+
export type PaymentRequestDataInfo = {
|
|
25
|
+
type: PaymentRequestDataType;
|
|
26
|
+
amount: string;
|
|
27
|
+
id: number;
|
|
28
|
+
chainId: number;
|
|
29
|
+
address: string;
|
|
30
|
+
signature?: string;
|
|
31
|
+
};
|
|
32
|
+
/** @beta PaymentMessage is struct the represents payment message */
|
|
33
|
+
export type PaymentMessage = BasicMessage & {
|
|
34
|
+
body?: PaymentMessageBody;
|
|
35
|
+
};
|
|
36
|
+
/** @beta PaymentMessageBody is struct the represents body for payment message */
|
|
37
|
+
export type PaymentMessageBody = {
|
|
38
|
+
payments: PaymentInfo[];
|
|
39
|
+
};
|
|
40
|
+
/** @beta PaymentInfo is struct the represents payment info for payment */
|
|
41
|
+
export type PaymentInfo = {
|
|
42
|
+
id: number;
|
|
43
|
+
type: PaymentType;
|
|
44
|
+
paymentData: {
|
|
45
|
+
txId: string;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
@@ -85,3 +85,27 @@ export declare enum SubjectPosition {
|
|
|
85
85
|
export declare enum RefreshServiceType {
|
|
86
86
|
Iden3RefreshService2023 = "Iden3RefreshService2023"
|
|
87
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* PaymentRequestType type for payment requests
|
|
90
|
+
*
|
|
91
|
+
* @enum {string}
|
|
92
|
+
*/
|
|
93
|
+
export declare enum PaymentRequestType {
|
|
94
|
+
PaymentRequest = "PaymentRequest"
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* PaymentRequestDataType type for payment requests
|
|
98
|
+
*
|
|
99
|
+
* @enum {string}
|
|
100
|
+
*/
|
|
101
|
+
export declare enum PaymentRequestDataType {
|
|
102
|
+
Iden3PaymentRequestCryptoV1 = "Iden3PaymentRequestCryptoV1"
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* PaymentType type for payment responses
|
|
106
|
+
*
|
|
107
|
+
* @enum {string}
|
|
108
|
+
*/
|
|
109
|
+
export declare enum PaymentType {
|
|
110
|
+
Iden3PaymentCryptoV1 = "Iden3PaymentCryptoV1"
|
|
111
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@0xpolygonid/js-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
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",
|
|
@@ -89,11 +89,11 @@
|
|
|
89
89
|
"@iden3/js-crypto": "1.1.0",
|
|
90
90
|
"@iden3/js-iden3-core": "1.3.1",
|
|
91
91
|
"@iden3/js-jsonld-merklization": "1.2.0",
|
|
92
|
-
"@iden3/js-jwz": "1.
|
|
92
|
+
"@iden3/js-jwz": "1.5.0",
|
|
93
93
|
"@iden3/js-merkletree": "1.2.0",
|
|
94
|
-
"ffjavascript": "0.
|
|
94
|
+
"ffjavascript": "0.3.0",
|
|
95
95
|
"rfc4648": "1.5.3",
|
|
96
|
-
"snarkjs": "0.7.
|
|
96
|
+
"snarkjs": "0.7.4"
|
|
97
97
|
},
|
|
98
98
|
"dependencies": {
|
|
99
99
|
"@noble/curves": "^1.4.0",
|