@iexec/web3mail 0.5.0 → 0.5.2
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/config/config.d.ts +1 -0
- package/dist/config/config.js +1 -0
- package/dist/config/config.js.map +1 -1
- package/dist/web3mail/IExecWeb3mail.d.ts +2 -2
- package/dist/web3mail/IExecWeb3mail.js +1 -1
- package/dist/web3mail/IExecWeb3mail.js.map +1 -1
- package/dist/web3mail/fetchMyContacts.d.ts +2 -2
- package/dist/web3mail/fetchMyContacts.js +21 -7
- package/dist/web3mail/fetchMyContacts.js.map +1 -1
- package/dist/web3mail/sendEmail.js +1 -1
- package/dist/web3mail/sendEmail.js.map +1 -1
- package/dist/web3mail/types.d.ts +10 -0
- package/package.json +16 -12
- package/src/config/config.ts +2 -0
- package/src/web3mail/IExecWeb3mail.ts +4 -2
- package/src/web3mail/fetchMyContacts.ts +39 -12
- package/src/web3mail/sendEmail.ts +1 -1
- package/src/web3mail/types.ts +10 -0
package/dist/config/config.d.ts
CHANGED
|
@@ -6,3 +6,4 @@ export declare const MAX_DESIRED_WORKERPOOL_ORDER_PRICE = 0;
|
|
|
6
6
|
export declare const DEFAULT_CONTENT_TYPE = "text/plain";
|
|
7
7
|
export declare const IPFS_UPLOAD_URL = "/dns4/ipfs-upload.v8-bellecour.iex.ec/https";
|
|
8
8
|
export declare const DEFAULT_IPFS_GATEWAY = "https://ipfs-gateway.v8-bellecour.iex.ec";
|
|
9
|
+
export declare const WHITELIST_SMART_CONTRACT_ADDRESS = "0x781482C39CcE25546583EaC4957Fb7Bf04C277D2";
|
package/dist/config/config.js
CHANGED
|
@@ -6,4 +6,5 @@ export const MAX_DESIRED_WORKERPOOL_ORDER_PRICE = 0;
|
|
|
6
6
|
export const DEFAULT_CONTENT_TYPE = 'text/plain';
|
|
7
7
|
export const IPFS_UPLOAD_URL = '/dns4/ipfs-upload.v8-bellecour.iex.ec/https';
|
|
8
8
|
export const DEFAULT_IPFS_GATEWAY = 'https://ipfs-gateway.v8-bellecour.iex.ec';
|
|
9
|
+
export const WHITELIST_SMART_CONTRACT_ADDRESS = '0x781482C39CcE25546583EaC4957Fb7Bf04C277D2';
|
|
9
10
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG,wCAAwC,CAAC;AAC3E,MAAM,CAAC,MAAM,+BAA+B,GAC1C,wEAAwE,CAAC;AAC3E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,6CAA6C,CAAC;AAC7E,MAAM,CAAC,MAAM,oBAAoB,GAAG,0CAA0C,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAChE,MAAM,CAAC,MAAM,kBAAkB,GAAG,wCAAwC,CAAC;AAC3E,MAAM,CAAC,MAAM,+BAA+B,GAC1C,wEAAwE,CAAC;AAC3E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,6CAA6C,CAAC;AAC7E,MAAM,CAAC,MAAM,oBAAoB,GAAG,0CAA0C,CAAC;AAC/E,MAAM,CAAC,MAAM,gCAAgC,GAC3C,4CAA4C,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { IExecConfigOptions } from 'iexec/IExecConfig';
|
|
3
|
-
import { Contact, SendEmailParams, SendEmailResponse, Web3SignerProvider } from './types.js';
|
|
3
|
+
import { Contact, FetchContactsParams, SendEmailParams, SendEmailResponse, Web3SignerProvider } from './types.js';
|
|
4
4
|
export declare class IExecWeb3mail {
|
|
5
|
-
fetchMyContacts: () => Promise<Contact[]>;
|
|
5
|
+
fetchMyContacts: (args?: FetchContactsParams) => Promise<Contact[]>;
|
|
6
6
|
sendEmail: (args: SendEmailParams) => Promise<SendEmailResponse>;
|
|
7
7
|
constructor(ethProvider: providers.ExternalProvider | Web3SignerProvider, options?: {
|
|
8
8
|
iexecOptions?: IExecConfigOptions;
|
|
@@ -19,7 +19,7 @@ export class IExecWeb3mail {
|
|
|
19
19
|
catch (e) {
|
|
20
20
|
throw Error('Impossible to create GraphQLClient');
|
|
21
21
|
}
|
|
22
|
-
this.fetchMyContacts = () => fetchMyContacts({ iexec, graphQLClient });
|
|
22
|
+
this.fetchMyContacts = (args) => fetchMyContacts(Object.assign(Object.assign({}, args), { iexec, graphQLClient }));
|
|
23
23
|
this.sendEmail = (args) => sendEmail(Object.assign(Object.assign({}, args), { iexec,
|
|
24
24
|
graphQLClient }));
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IExecWeb3mail.js","sourceRoot":"","sources":["../../src/web3mail/IExecWeb3mail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"IExecWeb3mail.js","sourceRoot":"","sources":["../../src/web3mail/IExecWeb3mail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAQ3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,OAAO,aAAa;IAIxB,YACE,WAA4D,EAC5D,OAEC;QAED,IAAI,KAAY,CAAC;QACjB,IAAI,aAA4B,CAAC;QACjC,IAAI;YACF,KAAK,GAAG,IAAI,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,CAAC;SAC3D;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAC;SACxC;QAED,IAAI;YACF,aAAa,GAAG,IAAI,aAAa,CAAC,+BAA+B,CAAC,CAAC;SACpE;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACnD;QAED,IAAI,CAAC,eAAe,GAAG,CAAC,IAA0B,EAAE,EAAE,CACpD,eAAe,iCAAM,IAAI,KAAE,KAAK,EAAE,aAAa,IAAG,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,CAAC,IAAqB,EAAE,EAAE,CACzC,SAAS,iCACJ,IAAI,KACP,KAAK;YACL,aAAa,IACb,CAAC;IACP,CAAC;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Contact, IExecConsumer, SubgraphConsumer } from './types.js';
|
|
2
|
-
export declare const fetchMyContacts: ({ graphQLClient, iexec, }: IExecConsumer & SubgraphConsumer) => Promise<Contact[]>;
|
|
1
|
+
import { Contact, FetchContactsParams, IExecConsumer, SubgraphConsumer } from './types.js';
|
|
2
|
+
export declare const fetchMyContacts: ({ graphQLClient, iexec, page, pageSize, }: IExecConsumer & SubgraphConsumer & FetchContactsParams) => Promise<Contact[]>;
|
|
@@ -7,26 +7,40 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import { WEB3_MAIL_DAPP_ADDRESS } from '../config/config.js';
|
|
10
|
+
import { WEB3_MAIL_DAPP_ADDRESS, WHITELIST_SMART_CONTRACT_ADDRESS, } from '../config/config.js';
|
|
11
11
|
import { WorkflowError } from '../utils/errors.js';
|
|
12
12
|
import { autoPaginateRequest } from '../utils/paginate.js';
|
|
13
13
|
import { getValidContact } from '../utils/subgraphQuery.js';
|
|
14
14
|
import { throwIfMissing } from '../utils/validators.js';
|
|
15
|
-
export const fetchMyContacts = ({ graphQLClient = throwIfMissing(), iexec = throwIfMissing(), }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
|
+
export const fetchMyContacts = ({ graphQLClient = throwIfMissing(), iexec = throwIfMissing(), page, pageSize, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
16
|
try {
|
|
17
17
|
const userAddress = yield iexec.wallet.getAddress();
|
|
18
|
-
const
|
|
18
|
+
const datasetOrderbookAuthorizedBySC = yield iexec.orderbook.fetchDatasetOrderbook('any', {
|
|
19
|
+
app: WHITELIST_SMART_CONTRACT_ADDRESS,
|
|
20
|
+
requester: userAddress,
|
|
21
|
+
page,
|
|
22
|
+
pageSize,
|
|
23
|
+
});
|
|
24
|
+
const datasetOrderbookAuthorizedByENS = yield iexec.orderbook.fetchDatasetOrderbook('any', {
|
|
19
25
|
app: WEB3_MAIL_DAPP_ADDRESS,
|
|
20
26
|
requester: userAddress,
|
|
27
|
+
page,
|
|
28
|
+
pageSize,
|
|
29
|
+
});
|
|
30
|
+
const { orders: ensOrders } = yield autoPaginateRequest({
|
|
31
|
+
request: datasetOrderbookAuthorizedByENS,
|
|
21
32
|
});
|
|
22
|
-
const { orders } = yield autoPaginateRequest({
|
|
23
|
-
request:
|
|
33
|
+
const { orders: scOrders } = yield autoPaginateRequest({
|
|
34
|
+
request: datasetOrderbookAuthorizedBySC,
|
|
24
35
|
});
|
|
25
|
-
|
|
36
|
+
const orders = ensOrders.concat(scOrders);
|
|
37
|
+
const myContacts = [];
|
|
26
38
|
const web3DappResolvedAddress = yield iexec.ens.resolveName(WEB3_MAIL_DAPP_ADDRESS);
|
|
27
39
|
orders.forEach((order) => {
|
|
28
40
|
if (order.order.apprestrict.toLowerCase() ===
|
|
29
|
-
web3DappResolvedAddress.toLowerCase()
|
|
41
|
+
web3DappResolvedAddress.toLowerCase() ||
|
|
42
|
+
order.order.apprestrict.toLowerCase() ===
|
|
43
|
+
WHITELIST_SMART_CONTRACT_ADDRESS.toLowerCase()) {
|
|
30
44
|
const contact = {
|
|
31
45
|
address: order.order.dataset.toLowerCase(),
|
|
32
46
|
owner: order.signer.toLowerCase(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchMyContacts.js","sourceRoot":"","sources":["../../src/web3mail/fetchMyContacts.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fetchMyContacts.js","sourceRoot":"","sources":["../../src/web3mail/fetchMyContacts.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQxD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAO,EACpC,aAAa,GAAG,cAAc,EAAE,EAChC,KAAK,GAAG,cAAc,EAAE,EACxB,IAAI,EACJ,QAAQ,GAC+C,EAEvD,EAAE;IACF,IAAI;QACF,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,8BAA8B,GAClC,MAAM,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE;YACjD,GAAG,EAAE,gCAAgC;YACrC,SAAS,EAAE,WAAW;YACtB,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC;QACL,MAAM,+BAA+B,GACnC,MAAM,KAAK,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE;YACjD,GAAG,EAAE,sBAAsB;YAC3B,SAAS,EAAE,WAAW;YACtB,IAAI;YACJ,QAAQ;SACT,CAAC,CAAC;QAEL,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,mBAAmB,CAAC;YACtD,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,mBAAmB,CAAC;YACrD,OAAO,EAAE,8BAA8B;SACxC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAc,EAAE,CAAC;QACjC,MAAM,uBAAuB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,WAAW,CACzD,sBAAsB,CACvB,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IACE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE;gBACnC,uBAAuB,CAAC,WAAW,EAAE;gBACvC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE;oBACnC,gCAAgC,CAAC,WAAW,EAAE,EAChD;gBACA,MAAM,OAAO,GAAG;oBACd,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;oBAC1C,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE;oBACjC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;iBACjD,CAAC;gBACF,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAEvE,OAAO,aAAa,CAAC;KACtB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,aAAa,CACrB,gCAAgC,KAAK,CAAC,OAAO,EAAE,EAC/C,KAAK,CACN,CAAC;KACH;AACH,CAAC,CAAA,CAAC"}
|
|
@@ -104,7 +104,7 @@ export const sendEmail = ({ graphQLClient = throwIfMissing(), iexec = throwIfMis
|
|
|
104
104
|
const multiaddr = `/ipfs/${cid}`;
|
|
105
105
|
yield iexec.secrets.pushRequesterSecret(requesterSecretId, JSON.stringify({
|
|
106
106
|
emailSubject: vEmailSubject,
|
|
107
|
-
|
|
107
|
+
emailContentMultiAddr: multiaddr,
|
|
108
108
|
contentType: vContentType,
|
|
109
109
|
senderName: vSenderName,
|
|
110
110
|
emailContentEncryptionKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendEmail.js","sourceRoot":"","sources":["../../src/web3mail/sendEmail.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sendEmail.js","sourceRoot":"","sources":["../../src/web3mail/sendEmail.ts"],"names":[],"mappings":"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"}
|
package/dist/web3mail/types.d.ts
CHANGED
|
@@ -18,6 +18,16 @@ export type SendEmailParams = {
|
|
|
18
18
|
contentType?: string;
|
|
19
19
|
senderName?: string;
|
|
20
20
|
};
|
|
21
|
+
export type FetchContactsParams = {
|
|
22
|
+
/**
|
|
23
|
+
* Index of the page to fetch
|
|
24
|
+
*/
|
|
25
|
+
page?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Size of the page to fetch
|
|
28
|
+
*/
|
|
29
|
+
pageSize?: number;
|
|
30
|
+
};
|
|
21
31
|
export type SendEmailResponse = {
|
|
22
32
|
taskId: Address;
|
|
23
33
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iexec/web3mail",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "This product enables users to confidentially store data–such as mail address, documents, personal information ...",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"scripts": {
|
|
21
21
|
"build": "rm -rf dist && tsc",
|
|
22
22
|
"test": "rm -rf dist && tsc && NODE_OPTIONS=--experimental-vm-modules npx jest --coverage",
|
|
23
|
-
"lint": "eslint .
|
|
23
|
+
"lint": "eslint .",
|
|
24
24
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
25
25
|
"check-format": "prettier --check \"src/**/*.ts\""
|
|
26
26
|
},
|
|
@@ -38,26 +38,30 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://github.com/iExecBlockchainComputing/web3mail-sdk#readme",
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@iexec/dataprotector": "^0.
|
|
41
|
+
"@iexec/dataprotector": "^0.2.0",
|
|
42
|
+
"@jest/globals": "^29.7.0",
|
|
42
43
|
"@types/jest": "^29.5.4",
|
|
43
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
44
|
-
"eslint": "^
|
|
45
|
-
"eslint
|
|
46
|
-
"eslint-config-
|
|
47
|
-
"eslint-
|
|
48
|
-
"eslint-plugin-
|
|
49
|
-
"eslint-plugin-
|
|
44
|
+
"@typescript-eslint/eslint-plugin": "^6.7.5",
|
|
45
|
+
"@typescript-eslint/parser": "^6.7.5",
|
|
46
|
+
"eslint": "^8.51.0",
|
|
47
|
+
"eslint-config-airbnb-typescript": "^17.1.0",
|
|
48
|
+
"eslint-config-prettier": "^9.0.0",
|
|
49
|
+
"eslint-plugin-import": "^2.28.1",
|
|
50
|
+
"eslint-plugin-jest": "^27.4.2",
|
|
51
|
+
"eslint-plugin-sonarjs": "^0.21.0",
|
|
50
52
|
"jest": "^29.5.0",
|
|
51
53
|
"prettier": "^2.8.4",
|
|
52
54
|
"ts-jest": "^29.1.0",
|
|
53
55
|
"ts-loader": "^9.4.2",
|
|
54
|
-
"typescript": "^4.9.5"
|
|
56
|
+
"typescript": "^4.9.5",
|
|
57
|
+
"whitelist-smart-contract": "github:iExecBlockchainComputing/whitelist-smart-contract#0.2.0"
|
|
55
58
|
},
|
|
56
59
|
"dependencies": {
|
|
57
60
|
"@ethersproject/bytes": "^5.7.0",
|
|
58
61
|
"@ethersproject/random": "^5.7.0",
|
|
62
|
+
"ethers": "^5.7.2",
|
|
59
63
|
"graphql-request": "^6.1.0",
|
|
60
|
-
"iexec": "^8.
|
|
64
|
+
"iexec": "^8.4.0",
|
|
61
65
|
"kubo-rpc-client": "^3.0.1",
|
|
62
66
|
"yup": "^1.1.1"
|
|
63
67
|
}
|
package/src/config/config.ts
CHANGED
|
@@ -7,3 +7,5 @@ export const MAX_DESIRED_WORKERPOOL_ORDER_PRICE = 0;
|
|
|
7
7
|
export const DEFAULT_CONTENT_TYPE = 'text/plain';
|
|
8
8
|
export const IPFS_UPLOAD_URL = '/dns4/ipfs-upload.v8-bellecour.iex.ec/https';
|
|
9
9
|
export const DEFAULT_IPFS_GATEWAY = 'https://ipfs-gateway.v8-bellecour.iex.ec';
|
|
10
|
+
export const WHITELIST_SMART_CONTRACT_ADDRESS =
|
|
11
|
+
'0x781482C39CcE25546583EaC4957Fb7Bf04C277D2';
|
|
@@ -5,6 +5,7 @@ import { fetchMyContacts } from './fetchMyContacts.js';
|
|
|
5
5
|
import { sendEmail } from './sendEmail.js';
|
|
6
6
|
import {
|
|
7
7
|
Contact,
|
|
8
|
+
FetchContactsParams,
|
|
8
9
|
SendEmailParams,
|
|
9
10
|
SendEmailResponse,
|
|
10
11
|
Web3SignerProvider,
|
|
@@ -13,7 +14,7 @@ import { GraphQLClient } from 'graphql-request';
|
|
|
13
14
|
import { DATAPROTECTOR_SUBGRAPH_ENDPOINT } from '../config/config.js';
|
|
14
15
|
|
|
15
16
|
export class IExecWeb3mail {
|
|
16
|
-
fetchMyContacts: () => Promise<Contact[]>;
|
|
17
|
+
fetchMyContacts: (args?: FetchContactsParams) => Promise<Contact[]>;
|
|
17
18
|
sendEmail: (args: SendEmailParams) => Promise<SendEmailResponse>;
|
|
18
19
|
|
|
19
20
|
constructor(
|
|
@@ -36,7 +37,8 @@ export class IExecWeb3mail {
|
|
|
36
37
|
throw Error('Impossible to create GraphQLClient');
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
this.fetchMyContacts = () =>
|
|
40
|
+
this.fetchMyContacts = (args?: FetchContactsParams) =>
|
|
41
|
+
fetchMyContacts({ ...args, iexec, graphQLClient });
|
|
40
42
|
this.sendEmail = (args: SendEmailParams) =>
|
|
41
43
|
sendEmail({
|
|
42
44
|
...args,
|
|
@@ -1,27 +1,52 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
WEB3_MAIL_DAPP_ADDRESS,
|
|
3
|
+
WHITELIST_SMART_CONTRACT_ADDRESS,
|
|
4
|
+
} from '../config/config.js';
|
|
2
5
|
import { WorkflowError } from '../utils/errors.js';
|
|
3
6
|
import { autoPaginateRequest } from '../utils/paginate.js';
|
|
4
7
|
import { getValidContact } from '../utils/subgraphQuery.js';
|
|
5
8
|
import { throwIfMissing } from '../utils/validators.js';
|
|
6
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
Contact,
|
|
11
|
+
FetchContactsParams,
|
|
12
|
+
IExecConsumer,
|
|
13
|
+
SubgraphConsumer,
|
|
14
|
+
} from './types.js';
|
|
7
15
|
|
|
8
16
|
export const fetchMyContacts = async ({
|
|
9
17
|
graphQLClient = throwIfMissing(),
|
|
10
18
|
iexec = throwIfMissing(),
|
|
11
|
-
|
|
19
|
+
page,
|
|
20
|
+
pageSize,
|
|
21
|
+
}: IExecConsumer & SubgraphConsumer & FetchContactsParams): Promise<
|
|
22
|
+
Contact[]
|
|
23
|
+
> => {
|
|
12
24
|
try {
|
|
13
25
|
const userAddress = await iexec.wallet.getAddress();
|
|
14
|
-
const
|
|
15
|
-
'any',
|
|
16
|
-
|
|
26
|
+
const datasetOrderbookAuthorizedBySC =
|
|
27
|
+
await iexec.orderbook.fetchDatasetOrderbook('any', {
|
|
28
|
+
app: WHITELIST_SMART_CONTRACT_ADDRESS,
|
|
29
|
+
requester: userAddress,
|
|
30
|
+
page,
|
|
31
|
+
pageSize,
|
|
32
|
+
});
|
|
33
|
+
const datasetOrderbookAuthorizedByENS =
|
|
34
|
+
await iexec.orderbook.fetchDatasetOrderbook('any', {
|
|
17
35
|
app: WEB3_MAIL_DAPP_ADDRESS,
|
|
18
36
|
requester: userAddress,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
37
|
+
page,
|
|
38
|
+
pageSize,
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
const { orders: ensOrders } = await autoPaginateRequest({
|
|
42
|
+
request: datasetOrderbookAuthorizedByENS,
|
|
23
43
|
});
|
|
24
|
-
|
|
44
|
+
const { orders: scOrders } = await autoPaginateRequest({
|
|
45
|
+
request: datasetOrderbookAuthorizedBySC,
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
const orders = ensOrders.concat(scOrders);
|
|
49
|
+
const myContacts: Contact[] = [];
|
|
25
50
|
const web3DappResolvedAddress = await iexec.ens.resolveName(
|
|
26
51
|
WEB3_MAIL_DAPP_ADDRESS
|
|
27
52
|
);
|
|
@@ -29,7 +54,9 @@ export const fetchMyContacts = async ({
|
|
|
29
54
|
orders.forEach((order) => {
|
|
30
55
|
if (
|
|
31
56
|
order.order.apprestrict.toLowerCase() ===
|
|
32
|
-
|
|
57
|
+
web3DappResolvedAddress.toLowerCase() ||
|
|
58
|
+
order.order.apprestrict.toLowerCase() ===
|
|
59
|
+
WHITELIST_SMART_CONTRACT_ADDRESS.toLowerCase()
|
|
33
60
|
) {
|
|
34
61
|
const contact = {
|
|
35
62
|
address: order.order.dataset.toLowerCase(),
|
|
@@ -155,7 +155,7 @@ export const sendEmail = async ({
|
|
|
155
155
|
requesterSecretId,
|
|
156
156
|
JSON.stringify({
|
|
157
157
|
emailSubject: vEmailSubject,
|
|
158
|
-
|
|
158
|
+
emailContentMultiAddr: multiaddr,
|
|
159
159
|
contentType: vContentType,
|
|
160
160
|
senderName: vSenderName,
|
|
161
161
|
emailContentEncryptionKey,
|
package/src/web3mail/types.ts
CHANGED
|
@@ -24,6 +24,16 @@ export type SendEmailParams = {
|
|
|
24
24
|
senderName?: string;
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
+
export type FetchContactsParams = {
|
|
28
|
+
/**
|
|
29
|
+
* Index of the page to fetch
|
|
30
|
+
*/
|
|
31
|
+
page?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Size of the page to fetch
|
|
34
|
+
*/
|
|
35
|
+
pageSize?: number;
|
|
36
|
+
};
|
|
27
37
|
export type SendEmailResponse = {
|
|
28
38
|
taskId: Address;
|
|
29
39
|
};
|