@requestnetwork/transaction-manager 0.27.1-next.1882 → 0.27.1-next.1884
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 +1 -1
- package/dist/channel-parser.d.ts +2 -2
- package/dist/channel-parser.d.ts.map +1 -1
- package/dist/channel-parser.js +16 -15
- package/dist/channel-parser.js.map +1 -1
- package/dist/transaction-manager.d.ts.map +1 -1
- package/dist/transaction-manager.js +1 -5
- package/dist/transaction-manager.js.map +1 -1
- package/dist/transactions-factory.d.ts +3 -1
- package/dist/transactions-factory.d.ts.map +1 -1
- package/dist/transactions-factory.js +28 -2
- package/dist/transactions-factory.js.map +1 -1
- package/dist/transactions-parser.d.ts +2 -1
- package/dist/transactions-parser.d.ts.map +1 -1
- package/dist/transactions-parser.js +34 -8
- package/dist/transactions-parser.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ npm install @requestnetwork/transaction-manager
|
|
|
17
17
|
In order to decrypt encrypted transactions, you must provide a decryption provider.
|
|
18
18
|
You can see the specification of decryption provider [here](./specs/decryption-provider.md).
|
|
19
19
|
|
|
20
|
-
An example of implementation of a decryption provider is available in the package: [epk-decryption](
|
|
20
|
+
An example of implementation of a decryption provider is available in the package: [epk-decryption](../epk-decryption/)
|
|
21
21
|
|
|
22
22
|
```javascript
|
|
23
23
|
import EthereumPrivateKeyDecryptionProvider from '@requestnetwork/epk-decryption';
|
package/dist/channel-parser.d.ts
CHANGED
|
@@ -20,11 +20,11 @@ export default class ChannelParser {
|
|
|
20
20
|
/**
|
|
21
21
|
* Get channel type and channel key from a list of transactions (if applicable)
|
|
22
22
|
*
|
|
23
|
-
* @param
|
|
23
|
+
* @param _channelId the channelId of the channel
|
|
24
24
|
* @param transactions the transactions of the channel to decrypt and clean
|
|
25
25
|
* @returns Promise resolving the channel type and the channel key (if applicable)
|
|
26
26
|
*/
|
|
27
|
-
getChannelTypeAndChannelKey(
|
|
27
|
+
getChannelTypeAndChannelKey(_channelId: string, transactions: TransactionTypes.ITimestampedTransaction[]): Promise<{
|
|
28
28
|
channelType: TransactionTypes.ChannelType;
|
|
29
29
|
channelKey: EncryptionTypes.IDecryptionParameters | undefined;
|
|
30
30
|
encryptionMethod: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-parser.d.ts","sourceRoot":"","sources":["../src/channel-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAInG;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,iBAAiB,CAAqB;gBAE3B,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,mBAAmB;IAGnF;;;;;;OAMG;IACU,sBAAsB,CACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,gBAAgB,CAAC,uBAAuB,EAAE,GACvD,OAAO,CAAC;QACT,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;QACrE,mBAAmB,EAAE,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;KACzE,CAAC;
|
|
1
|
+
{"version":3,"file":"channel-parser.d.ts","sourceRoot":"","sources":["../src/channel-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAInG;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAChC,OAAO,CAAC,iBAAiB,CAAqB;gBAE3B,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,mBAAmB;IAGnF;;;;;;OAMG;IACU,sBAAsB,CACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,gBAAgB,CAAC,uBAAuB,EAAE,GACvD,OAAO,CAAC;QACT,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;QACrE,mBAAmB,EAAE,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;KACzE,CAAC;IA8GF;;;;;;OAMG;IACU,2BAA2B,CAEtC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,gBAAgB,CAAC,uBAAuB,EAAE,GACvD,OAAO,CAAC;QACT,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC;QAC1C,UAAU,EAAE,eAAe,CAAC,qBAAqB,GAAG,SAAS,CAAC;QAC9D,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;KACtC,CAAC;CA8EH"}
|
package/dist/channel-parser.js
CHANGED
|
@@ -20,15 +20,16 @@ class ChannelParser {
|
|
|
20
20
|
decryptAndCleanChannel(channelId, transactions) {
|
|
21
21
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
22
22
|
let channelType = types_1.TransactionTypes.ChannelType.UNKNOWN;
|
|
23
|
-
let channelKey;
|
|
24
23
|
let encryptionMethod;
|
|
24
|
+
// Search for channel key
|
|
25
|
+
const { channelKey } = yield this.getChannelTypeAndChannelKey(channelId, transactions);
|
|
25
26
|
// use of .reduce instead of .map to keep a sequential execution
|
|
26
27
|
const validAndIgnoredTransactions = yield transactions.reduce((accumulatorPromise, timestampedTransaction) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
27
28
|
const result = yield accumulatorPromise;
|
|
28
29
|
let parsedData;
|
|
29
30
|
try {
|
|
30
31
|
// Parse the transaction from data-access to get a transaction object and the channel key if encrypted
|
|
31
|
-
parsedData = yield this.transactionParser.parsePersistedTransaction(timestampedTransaction.transaction, channelType, channelKey);
|
|
32
|
+
parsedData = yield this.transactionParser.parsePersistedTransaction(timestampedTransaction.transaction, channelType, channelKey, encryptionMethod);
|
|
32
33
|
}
|
|
33
34
|
catch (error) {
|
|
34
35
|
return result.concat([
|
|
@@ -74,8 +75,6 @@ class ChannelParser {
|
|
|
74
75
|
? types_1.TransactionTypes.ChannelType.ENCRYPTED
|
|
75
76
|
: types_1.TransactionTypes.ChannelType.CLEAR;
|
|
76
77
|
encryptionMethod = parsedData.encryptionMethod;
|
|
77
|
-
// we keep the channelKey for this channel
|
|
78
|
-
channelKey = parsedData.channelKey;
|
|
79
78
|
}
|
|
80
79
|
const data = yield transaction.getData();
|
|
81
80
|
// add the decrypted transaction as valid
|
|
@@ -103,25 +102,33 @@ class ChannelParser {
|
|
|
103
102
|
/**
|
|
104
103
|
* Get channel type and channel key from a list of transactions (if applicable)
|
|
105
104
|
*
|
|
106
|
-
* @param
|
|
105
|
+
* @param _channelId the channelId of the channel
|
|
107
106
|
* @param transactions the transactions of the channel to decrypt and clean
|
|
108
107
|
* @returns Promise resolving the channel type and the channel key (if applicable)
|
|
109
108
|
*/
|
|
110
|
-
getChannelTypeAndChannelKey(
|
|
109
|
+
getChannelTypeAndChannelKey(
|
|
110
|
+
// TODO: Consider removing channelId argument
|
|
111
|
+
_channelId, transactions) {
|
|
111
112
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
112
113
|
// use of .reduce instead of .map to keep a sequential execution
|
|
113
114
|
const channelTypeAndKey = yield transactions.reduce((accumulatorPromise, timestampedTransaction) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
114
115
|
const result = yield accumulatorPromise;
|
|
115
|
-
//
|
|
116
|
-
if (result.channelType
|
|
116
|
+
// Skip remaining transactions if channel is CLEAR or after channelKey is found
|
|
117
|
+
if (result.channelType === types_1.TransactionTypes.ChannelType.CLEAR || result.channelKey) {
|
|
117
118
|
return result;
|
|
118
119
|
}
|
|
119
120
|
let parsedData;
|
|
120
121
|
try {
|
|
121
122
|
// Parse the transaction from data-access to get a transaction object and the channel key if encrypted
|
|
122
|
-
parsedData = yield this.transactionParser.parsePersistedTransaction(timestampedTransaction.transaction,
|
|
123
|
+
parsedData = yield this.transactionParser.parsePersistedTransaction(timestampedTransaction.transaction, result.channelType, result.channelKey, result.encryptionMethod);
|
|
123
124
|
}
|
|
124
125
|
catch (error) {
|
|
126
|
+
// If the transaction is encrypted but the channel key is not found, save channelType and encryptionMethod
|
|
127
|
+
if (error.message.startsWith('Impossible to decrypt the channel key from this transaction') &&
|
|
128
|
+
result.channelType === types_1.TransactionTypes.ChannelType.UNKNOWN) {
|
|
129
|
+
result.channelType = types_1.TransactionTypes.ChannelType.ENCRYPTED;
|
|
130
|
+
result.encryptionMethod = timestampedTransaction.transaction.encryptionMethod;
|
|
131
|
+
}
|
|
125
132
|
// Error during the parsing, we just ignore this transaction
|
|
126
133
|
return result;
|
|
127
134
|
}
|
|
@@ -132,12 +139,6 @@ class ChannelParser {
|
|
|
132
139
|
// Error in the transaction, we just ignore it
|
|
133
140
|
return result;
|
|
134
141
|
}
|
|
135
|
-
// check if the data hash matches the channel id
|
|
136
|
-
const hash = yield transaction.getHash();
|
|
137
|
-
if (hash !== channelId) {
|
|
138
|
-
// we just ignored it
|
|
139
|
-
return result;
|
|
140
|
-
}
|
|
141
142
|
// We can deduce the type of the channel
|
|
142
143
|
result.channelType = parsedData.channelKey
|
|
143
144
|
? types_1.TransactionTypes.ChannelType.ENCRYPTED
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-parser.js","sourceRoot":"","sources":["../src/channel-parser.ts"],"names":[],"mappings":";;;AAAA,iDAAmG;AAEnG,+DAAuD;AAEvD;;GAEG;AACH,MAAqB,aAAa;IAGhC,YAAmB,kBAAgE;QACjF,IAAI,CAAC,iBAAiB,GAAG,IAAI,6BAAkB,CAAC,kBAAkB,CAAC,CAAC;IACtE,CAAC;IACD;;;;;;OAMG;IACU,sBAAsB,CACjC,SAAiB,EACjB,YAAwD;;YAMxD,IAAI,WAAW,GAAiC,wBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC;YACrF,IAAI,
|
|
1
|
+
{"version":3,"file":"channel-parser.js","sourceRoot":"","sources":["../src/channel-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../src/transaction-manager.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAQ/B;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,gBAAgB,CAAC,mBAAmB;IACrF,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,aAAa,CAAgB;gBAGnC,UAAU,EAAE,eAAe,CAAC,WAAW,EACvC,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,mBAAmB;IAMlE;;;;;;;;;OASG;IACU,kBAAkB,CAC7B,eAAe,EAAE,gBAAgB,CAAC,gBAAgB,EAClD,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAAM,EAAO,EACrB,gBAAgB,GAAE,eAAe,CAAC,qBAAqB,EAAO,GAC7D,OAAO,CAAC,gBAAgB,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../src/transaction-manager.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAQ/B;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAmB,YAAW,gBAAgB,CAAC,mBAAmB;IACrF,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,aAAa,CAAgB;gBAGnC,UAAU,EAAE,eAAe,CAAC,WAAW,EACvC,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,mBAAmB;IAMlE;;;;;;;;;OASG;IACU,kBAAkB,CAC7B,eAAe,EAAE,gBAAgB,CAAC,gBAAgB,EAClD,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAAM,EAAO,EACrB,gBAAgB,GAAE,eAAe,CAAC,qBAAqB,EAAO,GAC7D,OAAO,CAAC,gBAAgB,CAAC,yBAAyB,CAAC;IA4FtD;;;;;;;;OAQG;IACU,0BAA0B,CACrC,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,GAC1D,OAAO,CAAC,gBAAgB,CAAC,sBAAsB,CAAC;IA4BnD;;;;;;OAMG;IACU,kBAAkB,CAC7B,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,GACrD,OAAO,CAAC,gBAAgB,CAAC,gCAAgC,CAAC;IAM7D;;;;;;OAMG;IACU,2BAA2B,CACtC,MAAM,EAAE,MAAM,EAAE,EAChB,cAAc,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,GACrD,OAAO,CAAC,gBAAgB,CAAC,gCAAgC,CAAC;IAM7D;;;;;OAKG;YACW,qBAAqB;CA6BpC"}
|
|
@@ -55,14 +55,10 @@ class TransactionManager {
|
|
|
55
55
|
transaction = yield transactions_factory_1.default.createClearTransaction(transactionData);
|
|
56
56
|
}
|
|
57
57
|
if (channelType === types_1.TransactionTypes.ChannelType.ENCRYPTED) {
|
|
58
|
-
// we cannot add new stakeholders to an existing channel
|
|
59
|
-
if (encryptionParams.length !== 0) {
|
|
60
|
-
throw new Error('Impossible to add new stakeholder to an existing channel');
|
|
61
|
-
}
|
|
62
58
|
if (!channelKey) {
|
|
63
59
|
throw new Error(`Impossible to decrypt the channel key of: ${channelId}`);
|
|
64
60
|
}
|
|
65
|
-
transaction = yield transactions_factory_1.default.createEncryptedTransaction(transactionData, channelKey);
|
|
61
|
+
transaction = yield transactions_factory_1.default.createEncryptedTransaction(transactionData, channelKey, encryptionParams);
|
|
66
62
|
channelEncryptionMethod = encryptionMethod;
|
|
67
63
|
}
|
|
68
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-manager.js","sourceRoot":"","sources":["../src/transaction-manager.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AACvD,iDAK+B;AAC/B,iDAA+D;AAE/D,mCAAsC;AAEtC,qDAA6C;AAC7C,iEAAyD;AAEzD;;GAEG;AACH,MAAqB,kBAAkB;IAIrC,YACE,UAAuC,EACvC,kBAAgE;QAEhE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAa,CAAC,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;OASG;IACU,kBAAkB,CAC7B,eAAkD,EAClD,SAAiB,EACjB,SAAmB,EAAE,EACrB,mBAA4D,EAAE;;YAE9D,IAAI,WAAW,GAA2C,EAAE,CAAC;YAC7D,IAAI,uBAA2C,CAAC;YAEhD,uCAAuC;YACvC,MAAM,IAAI,GAAG,sBAAW,CAAC,SAAS,CAAC,IAAA,8BAAsB,EAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAExF,uGAAuG;YACvG,IAAI,SAAS,KAAK,IAAI,EAAE;gBACtB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;oBACjC,yBAAyB;oBACzB,WAAW,GAAG,MAAM,8BAAmB,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;iBACjF;qBAAM;oBACL,8BAA8B;oBAC9B,WAAW,GAAG,MAAM,8BAAmB,CAAC,sCAAsC,CAC5E,eAAe,EACf,gBAAgB,CACjB,CAAC;oBACF,uBAAuB,GAAG,WAAW,CAAC,gBAAgB,CAAC;iBACxD;gBAED,6CAA6C;aAC9C;iBAAM;gBACL,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;gBAEhF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,GACjD,MAAM,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAClD,SAAS,EACT,WAAW,CAAC,MAAM,CAAC,YAAY,CAChC,CAAC;gBAEJ,IAAI,WAAW,KAAK,wBAAgB,CAAC,WAAW,CAAC,OAAO,EAAE;oBACxD,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAC;iBACrE;gBAED,IAAI,WAAW,KAAK,wBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE;oBACtD,yCAAyC;oBACzC,WAAW,GAAG,MAAM,8BAAmB,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;iBACjF;gBAED,IAAI,WAAW,KAAK,wBAAgB,CAAC,WAAW,CAAC,SAAS,EAAE;oBAC1D,
|
|
1
|
+
{"version":3,"file":"transaction-manager.js","sourceRoot":"","sources":["../src/transaction-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,8 +23,10 @@ export default class TransactionsFactory {
|
|
|
23
23
|
*
|
|
24
24
|
* @param data The data to create the transaction with
|
|
25
25
|
* @param channelKey Channel key use to encrypt the transaction
|
|
26
|
+
* @param encryptionParams Array of additional encryption parameters to encrypt the key with
|
|
27
|
+
|
|
26
28
|
* @returns the encrypted transaction
|
|
27
29
|
*/
|
|
28
|
-
static createEncryptedTransaction(data: TransactionTypes.ITransactionData, channelKey: EncryptionTypes.IEncryptionParameters): Promise<TransactionTypes.IPersistedTransaction>;
|
|
30
|
+
static createEncryptedTransaction(data: TransactionTypes.ITransactionData, channelKey: EncryptionTypes.IEncryptionParameters, encryptionParams?: EncryptionTypes.IEncryptionParameters[]): Promise<TransactionTypes.IPersistedTransaction>;
|
|
29
31
|
}
|
|
30
32
|
//# sourceMappingURL=transactions-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions-factory.d.ts","sourceRoot":"","sources":["../src/transactions-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO1E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC;;;;;OAKG;WACiB,sBAAsB,CACxC,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,GACtC,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;IAUlD;;;;;;OAMG;WACiB,sCAAsC,CACxD,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,EACvC,gBAAgB,EAAE,eAAe,CAAC,qBAAqB,EAAE,GACxD,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;IAuElD
|
|
1
|
+
{"version":3,"file":"transactions-factory.d.ts","sourceRoot":"","sources":["../src/transactions-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO1E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACtC;;;;;OAKG;WACiB,sBAAsB,CACxC,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,GACtC,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;IAUlD;;;;;;OAMG;WACiB,sCAAsC,CACxD,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,EACvC,gBAAgB,EAAE,eAAe,CAAC,qBAAqB,EAAE,GACxD,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;IAuElD;;;;;;;;OAQG;WACiB,0BAA0B,CAC5C,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,EACvC,UAAU,EAAE,eAAe,CAAC,qBAAqB,EACjD,gBAAgB,GAAE,eAAe,CAAC,qBAAqB,EAAO,GAC7D,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC;CAyEnD"}
|
|
@@ -76,9 +76,11 @@ class TransactionsFactory {
|
|
|
76
76
|
*
|
|
77
77
|
* @param data The data to create the transaction with
|
|
78
78
|
* @param channelKey Channel key use to encrypt the transaction
|
|
79
|
+
* @param encryptionParams Array of additional encryption parameters to encrypt the key with
|
|
80
|
+
|
|
79
81
|
* @returns the encrypted transaction
|
|
80
82
|
*/
|
|
81
|
-
static createEncryptedTransaction(data, channelKey) {
|
|
83
|
+
static createEncryptedTransaction(data, channelKey, encryptionParams = []) {
|
|
82
84
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
83
85
|
// check if the encryption method is the good one
|
|
84
86
|
if (channelKey.method !== types_1.EncryptionTypes.METHOD.AES256_GCM) {
|
|
@@ -93,7 +95,31 @@ class TransactionsFactory {
|
|
|
93
95
|
throw new Error('Data not parsable');
|
|
94
96
|
}
|
|
95
97
|
const encryptedDataSerialized = multi_format_1.default.serialize(encryptedData);
|
|
96
|
-
|
|
98
|
+
if (encryptionParams.length === 0) {
|
|
99
|
+
return { encryptedData: encryptedDataSerialized };
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// FIXME: Refactor, duplicated from createEncryptedTransactionInNewChannel
|
|
103
|
+
// Check that all the encryption parameters given are ECIES (the only encryption method supported for now)
|
|
104
|
+
if (!encryptionParams.every((encryptionParam) => encryptionParam.method === types_1.EncryptionTypes.METHOD.ECIES)) {
|
|
105
|
+
throw new Error(`encryptionParams method must be all: ${types_1.EncryptionTypes.METHOD.ECIES}`);
|
|
106
|
+
}
|
|
107
|
+
// Compute key encryption and identity hash for every encryption parameters given
|
|
108
|
+
const encryptedKeyAndIdentityHashesPromises = encryptionParams.map((encryptionParam) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
const encryptedKey = yield (0, utils_1.encrypt)(channelKey.key, encryptionParam);
|
|
110
|
+
const identityEncryption = (0, utils_1.getIdentityFromEncryptionParams)(encryptionParam);
|
|
111
|
+
const multiFormattedIdentity = multi_format_1.default.serialize(identityEncryption);
|
|
112
|
+
return { encryptedKey, multiFormattedIdentity };
|
|
113
|
+
}));
|
|
114
|
+
const encryptedKeyAndIdentityHashes = yield Promise.all(encryptedKeyAndIdentityHashesPromises);
|
|
115
|
+
// Create the encrypted keys object - Encrypted keys indexed by identity multi-format
|
|
116
|
+
const keys = encryptedKeyAndIdentityHashes.reduce((allKeys, keyAndHash) => {
|
|
117
|
+
const encryptedKeySerialized = multi_format_1.default.serialize(keyAndHash.encryptedKey);
|
|
118
|
+
allKeys[keyAndHash.multiFormattedIdentity] = encryptedKeySerialized;
|
|
119
|
+
return allKeys;
|
|
120
|
+
}, {});
|
|
121
|
+
return { encryptedData: encryptedDataSerialized, keys };
|
|
122
|
+
}
|
|
97
123
|
});
|
|
98
124
|
}
|
|
99
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions-factory.js","sourceRoot":"","sources":["../src/transactions-factory.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AACvD,iDAA0E;AAC1E,iDAI+B;AAE/B;;GAEG;AACH,MAAqB,mBAAmB;IACtC;;;;;OAKG;IACI,MAAM,CAAO,sBAAsB,CACxC,IAAuC;;YAEvC,IAAI;gBACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAClB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACtC;YAED,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;KAAA;IAED;;;;;;OAMG;IACI,MAAM,CAAO,sCAAsC,CACxD,IAAuC,EACvC,gBAAyD;;YAEzD,oCAAoC;YACpC,MAAM,gBAAgB,GAAG,GAAG,uBAAe,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAe,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAEhG,wCAAwC;YACxC,MAAM,YAAY,GAAW,MAAM,IAAA,2BAAmB,GAAE,CAAC;YAEzD,6DAA6D;YAC7D,MAAM,aAAa,GAAmC,MAAM,IAAA,eAAO,EAAC,IAAI,EAAE;gBACxE,GAAG,EAAE,YAAY;gBACjB,MAAM,EAAE,uBAAe,CAAC,MAAM,CAAC,UAAU;aAC1C,CAAC,CAAC;YAEH,IAAI;gBACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAClB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACtC;YAED,0GAA0G;YAC1G,IACE,CAAC,gBAAgB,CAAC,KAAK,CACrB,CAAC,eAAsD,EAAE,EAAE,CACzD,eAAe,CAAC,MAAM,KAAK,uBAAe,CAAC,MAAM,CAAC,KAAK,CAC1D,EACD;gBACA,MAAM,IAAI,KAAK,CAAC,wCAAwC,uBAAe,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;aACzF;YAED,iFAAiF;YACjF,MAAM,qCAAqC,GAAG,gBAAgB,CAAC,GAAG,CAChE,CACE,eAAsD,EAIrD,EAAE;gBACH,MAAM,YAAY,GAAmC,MAAM,IAAA,eAAO,EAChE,YAAY,EACZ,eAAe,CAChB,CAAC;gBACF,MAAM,kBAAkB,GAAG,IAAA,uCAA+B,EAAC,eAAe,CAAC,CAAC;gBAC5E,MAAM,sBAAsB,GAAW,sBAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;gBAEjF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;YAClD,CAAC,CAAA,CACF,CAAC;YACF,MAAM,6BAA6B,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YAE/F,qFAAqF;YACrF,MAAM,IAAI,GAAqC,6BAA6B,CAAC,MAAM,CACjF,CACE,OAAyC,EACzC,UAGC,EACiC,EAAE;gBACpC,MAAM,sBAAsB,GAAW,sBAAW,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBAEtF,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,GAAG,sBAAsB,CAAC;gBACpE,OAAO,OAAO,CAAC;YACjB,CAAC,EACD,EAAE,CACH,CAAC;YAEF,MAAM,uBAAuB,GAAW,sBAAW,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAE7E,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QAC5E,CAAC;KAAA;IAED
|
|
1
|
+
{"version":3,"file":"transactions-factory.js","sourceRoot":"","sources":["../src/transactions-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,9 +11,10 @@ export default class TransactionsParser {
|
|
|
11
11
|
* @param persistedTransaction the persisted transaction to parse
|
|
12
12
|
* @param channelType The channel type (unknown, clear or encrypted)
|
|
13
13
|
* @param channelKey the channel key to decrypt the transaction if needed
|
|
14
|
+
* @param encryptionMethod the channel encryption method to decrypt the transaction if needed
|
|
14
15
|
* @returns the transaction object and the channel key (if applicable)
|
|
15
16
|
*/
|
|
16
|
-
parsePersistedTransaction(persistedTransaction: TransactionTypes.IPersistedTransaction, channelType: TransactionTypes.ChannelType, channelKey?: EncryptionTypes.IDecryptionParameters): Promise<{
|
|
17
|
+
parsePersistedTransaction(persistedTransaction: TransactionTypes.IPersistedTransaction, channelType: TransactionTypes.ChannelType, channelKey?: EncryptionTypes.IDecryptionParameters, encryptionMethod?: string): Promise<{
|
|
17
18
|
transaction: TransactionTypes.ITransaction;
|
|
18
19
|
channelKey?: EncryptionTypes.IDecryptionParameters;
|
|
19
20
|
encryptionMethod?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions-parser.d.ts","sourceRoot":"","sources":["../src/transactions-parser.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,eAAe,EAEf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAK/B;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,OAAO,CAAC,kBAAkB,CAA0D;gBAExE,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,mBAAmB;IAI5E
|
|
1
|
+
{"version":3,"file":"transactions-parser.d.ts","sourceRoot":"","sources":["../src/transactions-parser.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,eAAe,EAEf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAK/B;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,OAAO,CAAC,kBAAkB,CAA0D;gBAExE,kBAAkB,CAAC,EAAE,uBAAuB,CAAC,mBAAmB;IAI5E;;;;;;;;OAQG;IACU,yBAAyB,CACpC,oBAAoB,EAAE,gBAAgB,CAAC,qBAAqB,EAC5D,WAAW,EAAE,gBAAgB,CAAC,WAAW,EACzC,UAAU,CAAC,EAAE,eAAe,CAAC,qBAAqB,EAClD,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC;QACT,WAAW,EAAE,gBAAgB,CAAC,YAAY,CAAC;QAC3C,UAAU,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC;QACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IA4EF;;;;;;OAMG;YACW,iBAAiB;CAkEhC"}
|
|
@@ -18,9 +18,10 @@ class TransactionsParser {
|
|
|
18
18
|
* @param persistedTransaction the persisted transaction to parse
|
|
19
19
|
* @param channelType The channel type (unknown, clear or encrypted)
|
|
20
20
|
* @param channelKey the channel key to decrypt the transaction if needed
|
|
21
|
+
* @param encryptionMethod the channel encryption method to decrypt the transaction if needed
|
|
21
22
|
* @returns the transaction object and the channel key (if applicable)
|
|
22
23
|
*/
|
|
23
|
-
parsePersistedTransaction(persistedTransaction, channelType, channelKey) {
|
|
24
|
+
parsePersistedTransaction(persistedTransaction, channelType, channelKey, encryptionMethod) {
|
|
24
25
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
26
|
// looks like a clear transaction
|
|
26
27
|
if (persistedTransaction.data) {
|
|
@@ -39,21 +40,46 @@ class TransactionsParser {
|
|
|
39
40
|
if (channelType === types_1.TransactionTypes.ChannelType.CLEAR) {
|
|
40
41
|
throw new Error('Encrypted transactions are not allowed in clear channel');
|
|
41
42
|
}
|
|
42
|
-
//
|
|
43
|
+
// no channel key, try to decrypt it and validate encryption method
|
|
43
44
|
if (!channelKey) {
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
// no encryptionMethod, this is first tx, must contain encryptionMethod
|
|
46
|
+
if (!encryptionMethod) {
|
|
47
|
+
if (!persistedTransaction.encryptionMethod || !persistedTransaction.keys) {
|
|
48
|
+
throw new Error('the properties "encryptionMethod" and "keys" are needed to compute the channel key');
|
|
49
|
+
}
|
|
50
|
+
encryptionMethod = persistedTransaction.encryptionMethod;
|
|
51
|
+
channelKey = yield this.decryptChannelKey(persistedTransaction.keys, encryptionMethod);
|
|
52
|
+
}
|
|
53
|
+
// given encryptionMethod, this not first tx, must not contain encryptionMethod
|
|
54
|
+
else {
|
|
55
|
+
if (persistedTransaction.encryptionMethod) {
|
|
56
|
+
throw new Error('the "encryptionMethod" property has been already given for this channel');
|
|
57
|
+
}
|
|
58
|
+
if (!persistedTransaction.keys) {
|
|
59
|
+
throw new Error('the "keys" property is needed to compute the channel key');
|
|
60
|
+
}
|
|
61
|
+
channelKey = yield this.decryptChannelKey(persistedTransaction.keys, encryptionMethod);
|
|
46
62
|
}
|
|
47
|
-
channelKey = yield this.decryptChannelKey(persistedTransaction.keys, persistedTransaction.encryptionMethod);
|
|
48
63
|
}
|
|
64
|
+
// given channel key, validate encryption method
|
|
49
65
|
else {
|
|
50
|
-
|
|
51
|
-
|
|
66
|
+
// no encryptionMethod, this is first tx, must contain encryptionMethod
|
|
67
|
+
if (!encryptionMethod) {
|
|
68
|
+
if (!persistedTransaction.encryptionMethod) {
|
|
69
|
+
throw new Error('the "encryptionMethod" property is needed to use the channel key');
|
|
70
|
+
}
|
|
71
|
+
encryptionMethod = persistedTransaction.encryptionMethod;
|
|
72
|
+
}
|
|
73
|
+
// given encryptionMethod, this not first tx, must not contain encryptionMethod
|
|
74
|
+
else {
|
|
75
|
+
if (persistedTransaction.encryptionMethod) {
|
|
76
|
+
throw new Error('the "encryptionMethod" property has been already given for this channel');
|
|
77
|
+
}
|
|
52
78
|
}
|
|
53
79
|
}
|
|
54
80
|
return {
|
|
55
81
|
channelKey,
|
|
56
|
-
encryptionMethod
|
|
82
|
+
encryptionMethod,
|
|
57
83
|
transaction: new encrypted_transaction_1.default(persistedTransaction.encryptedData, channelKey),
|
|
58
84
|
};
|
|
59
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions-parser.js","sourceRoot":"","sources":["../src/transactions-parser.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AACvD,iDAK+B;AAE/B,2DAAmD;AACnD,mEAA2D;AAE3D;;GAEG;AACH,MAAqB,kBAAkB;IAGrC,YAAY,kBAAgE;QAC1E,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"transactions-parser.js","sourceRoot":"","sources":["../src/transactions-parser.ts"],"names":[],"mappings":";;;AAAA,+DAAuD;AACvD,iDAK+B;AAE/B,2DAAmD;AACnD,mEAA2D;AAE3D;;GAEG;AACH,MAAqB,kBAAkB;IAGrC,YAAY,kBAAgE;QAC1E,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACU,yBAAyB,CACpC,oBAA4D,EAC5D,WAAyC,EACzC,UAAkD,EAClD,gBAAyB;;YAMzB,iCAAiC;YACjC,IAAI,oBAAoB,CAAC,IAAI,EAAE;gBAC7B,IAAI,WAAW,KAAK,wBAAgB,CAAC,WAAW,CAAC,SAAS,EAAE;oBAC1D,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;iBAC5E;gBACD,IACE,oBAAoB,CAAC,aAAa;oBAClC,oBAAoB,CAAC,gBAAgB;oBACrC,oBAAoB,CAAC,IAAI,EACzB;oBACA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;iBAC9E;gBACD,OAAO,EAAE,WAAW,EAAE,IAAI,2BAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;aACzE;YAED,sCAAsC;YACtC,IAAI,oBAAoB,CAAC,aAAa,EAAE;gBACtC,IAAI,WAAW,KAAK,wBAAgB,CAAC,WAAW,CAAC,KAAK,EAAE;oBACtD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;iBAC5E;gBAED,mEAAmE;gBACnE,IAAI,CAAC,UAAU,EAAE;oBACf,uEAAuE;oBACvE,IAAI,CAAC,gBAAgB,EAAE;wBACrB,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE;4BACxE,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;yBACH;wBACD,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC;wBACzD,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;qBACxF;oBACD,+EAA+E;yBAC1E;wBACH,IAAI,oBAAoB,CAAC,gBAAgB,EAAE;4BACzC,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;yBACH;wBACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE;4BAC9B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;yBAC7E;wBACD,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;qBACxF;iBACF;gBACD,gDAAgD;qBAC3C;oBACH,uEAAuE;oBACvE,IAAI,CAAC,gBAAgB,EAAE;wBACrB,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE;4BAC1C,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;yBACrF;wBACD,gBAAgB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC;qBAC1D;oBACD,+EAA+E;yBAC1E;wBACH,IAAI,oBAAoB,CAAC,gBAAgB,EAAE;4BACzC,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;yBACH;qBACF;iBACF;gBAED,OAAO;oBACL,UAAU;oBACV,gBAAgB;oBAChB,WAAW,EAAE,IAAI,+BAAoB,CAAC,oBAAoB,CAAC,aAAa,EAAE,UAAU,CAAC;iBACtF,CAAC;aACH;YAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;KAAA;IAED;;;;;;OAMG;IACW,iBAAiB,CAC7B,IAAsC,EACtC,gBAAwB;;YAExB,4CAA4C;YAC5C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YAED,IAAI,gBAAwC,CAAC;YAC7C,8BAA8B;YAC9B,IACE,gBAAgB,KAAK,GAAG,uBAAe,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAe,CAAC,MAAM,CAAC,UAAU,EAAE,EAC3F;gBACA,gBAAgB,GAAG,uBAAe,CAAC,MAAM,CAAC,UAAU,CAAC;aACtD;iBAAM,IACL,gBAAgB,KAAK,GAAG,uBAAe,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAe,CAAC,MAAM,CAAC,UAAU,EAAE,EAC3F;gBACA,gBAAgB,GAAG,uBAAe,CAAC,MAAM,CAAC,UAAU,CAAC;aACtD;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,oCAAoC,gBAAgB,EAAE,CAAC,CAAC;aACzE;YAED,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,gCAAgC;YAChC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CACrD,CAAO,0BAA0B,EAAE,sBAA8B,EAAE,EAAE;gBACnE,IAAI,mBAAmB,GAAG,MAAM,0BAA0B,CAAC;gBAC3D,IAAI,IAAI,IAAI,mBAAmB,KAAK,EAAE,EAAE;oBACtC,IAAI,QAA6C,CAAC;oBAClD,IAAI;wBACF,QAAQ,GAAG,sBAAW,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;qBAC5D;oBAAC,OAAO,CAAC,EAAE;wBACV,yDAAyD;qBAC1D;oBACD,kDAAkD;oBAClD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,qBAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE;wBACrE,qDAAqD;wBACrD,IACE,IAAI,CAAC,kBAAkB;4BACvB,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EAC9D;4BACA,IAAI;gCACF,MAAM,GAAG,GAAG,sBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;gCAClE,mBAAmB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;6BAC5E;4BAAC,OAAO,CAAC,EAAE;gCACV,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;6BACzB;yBACF;qBACF;iBACF;gBACD,OAAO,mBAAmB,CAAC;YAC7B,CAAC,CAAA,EACD,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CACpB,CAAC;YAEF,IAAI,UAAU,KAAK,EAAE,EAAE;gBACrB,MAAM,IAAI,KAAK,CACb,gEAAgE,WAAW,GAAG,CAC/E,CAAC;aACH;YACD,OAAO;gBACL,GAAG,EAAE,UAAU;gBACf,MAAM,EAAE,gBAAgB;aACzB,CAAC;QACJ,CAAC;KAAA;CACF;AA9KD,qCA8KC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@requestnetwork/transaction-manager",
|
|
3
|
-
"version": "0.27.1-next.
|
|
3
|
+
"version": "0.27.1-next.1884+5e000689",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"test:watch": "yarn test --watch"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@requestnetwork/multi-format": "0.15.11-next.
|
|
43
|
-
"@requestnetwork/types": "0.36.1-next.
|
|
44
|
-
"@requestnetwork/utils": "0.36.1-next.
|
|
42
|
+
"@requestnetwork/multi-format": "0.15.11-next.1884+5e000689",
|
|
43
|
+
"@requestnetwork/types": "0.36.1-next.1884+5e000689",
|
|
44
|
+
"@requestnetwork/utils": "0.36.1-next.1884+5e000689",
|
|
45
45
|
"tslib": "2.5.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"ts-node": "10.9.1",
|
|
55
55
|
"typescript": "4.9.5"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "5e000689d25581ec93a0489be6e728dbe9e913c9"
|
|
58
58
|
}
|