@iexec/web3mail 1.3.0 → 1.4.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/utils/subgraphQuery.d.ts +1 -1
- package/dist/utils/subgraphQuery.js +9 -1
- package/dist/utils/subgraphQuery.js.map +1 -1
- package/dist/web3mail/fetchMyContacts.d.ts +2 -1
- package/dist/web3mail/fetchMyContacts.js.map +1 -1
- package/dist/web3mail/fetchUserContacts.d.ts +2 -1
- package/dist/web3mail/fetchUserContacts.js +4 -0
- package/dist/web3mail/fetchUserContacts.js.map +1 -1
- package/dist/web3mail/internalTypes.d.ts +28 -0
- package/dist/web3mail/internalTypes.js +2 -0
- package/dist/web3mail/internalTypes.js.map +1 -0
- package/dist/web3mail/sendEmail.d.ts +2 -1
- package/dist/web3mail/sendEmail.js.map +1 -1
- package/dist/web3mail/types.d.ts +5 -29
- package/package.json +1 -1
- package/src/utils/subgraphQuery.ts +15 -3
- package/src/web3mail/fetchMyContacts.ts +2 -3
- package/src/web3mail/fetchUserContacts.ts +15 -5
- package/src/web3mail/internalTypes.ts +36 -0
- package/src/web3mail/sendEmail.ts +2 -3
- package/src/web3mail/types.ts +5 -37
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { GraphQLClient } from 'graphql-request';
|
|
2
2
|
import { Contact } from '../index.js';
|
|
3
|
-
export declare const getValidContact: (graphQLClient: GraphQLClient, contacts: Contact[]) => Promise<Contact[]>;
|
|
3
|
+
export declare const getValidContact: (graphQLClient: GraphQLClient, contacts: Omit<Contact, "name">[]) => Promise<Contact[]>;
|
|
4
4
|
export declare const checkProtectedDataValidity: (graphQLClient: GraphQLClient, protectedData: string) => Promise<boolean>;
|
|
@@ -19,10 +19,14 @@ const checkProtectedDataQuery = gql `
|
|
|
19
19
|
orderDirection: desc
|
|
20
20
|
) {
|
|
21
21
|
id
|
|
22
|
+
name
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
`;
|
|
25
26
|
export const getValidContact = async (graphQLClient, contacts) => {
|
|
27
|
+
if (contacts.length === 0) {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
26
30
|
try {
|
|
27
31
|
// Contacts addresses
|
|
28
32
|
const contactsAddresses = contacts.map((contact) => contact.address);
|
|
@@ -47,13 +51,17 @@ export const getValidContact = async (graphQLClient, contacts) => {
|
|
|
47
51
|
// Convert contacts array into a map where the key is the contact's address
|
|
48
52
|
const contactsMap = new Map(contacts.map((contact) => [contact.address, contact]));
|
|
49
53
|
// Convert protectedData[] into Contact[] using the map for constant time lookups
|
|
50
|
-
return protectedDataList.map(({ id }) => {
|
|
54
|
+
return protectedDataList.map(({ id, name }) => {
|
|
51
55
|
const contact = contactsMap.get(id);
|
|
52
56
|
if (contact) {
|
|
53
57
|
return {
|
|
54
58
|
address: id,
|
|
59
|
+
name: name,
|
|
60
|
+
remainingAccess: contact.remainingAccess,
|
|
61
|
+
accessPrice: contact.accessPrice,
|
|
55
62
|
owner: contact.owner,
|
|
56
63
|
accessGrantTimestamp: contact.accessGrantTimestamp,
|
|
64
|
+
isUserStrict: contact.isUserStrict,
|
|
57
65
|
};
|
|
58
66
|
}
|
|
59
67
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subgraphQuery.js","sourceRoot":"","sources":["../../src/utils/subgraphQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"subgraphQuery.js","sourceRoot":"","sources":["../../src/utils/subgraphQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DappAddressConsumer, DappWhitelistAddressConsumer, IExecConsumer, SubgraphConsumer } from './internalTypes.js';
|
|
2
|
+
import { Contact, FetchMyContactsParams } from './types.js';
|
|
2
3
|
export type FetchMyContacts = typeof fetchMyContacts;
|
|
3
4
|
export declare const fetchMyContacts: ({ graphQLClient, iexec, dappAddressOrENS, dappWhitelistAddress, isUserStrict, }: IExecConsumer & SubgraphConsumer & DappAddressConsumer & DappWhitelistAddressConsumer & FetchMyContactsParams) => Promise<Contact[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchMyContacts.js","sourceRoot":"","sources":["../../src/web3mail/fetchMyContacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchMyContacts.js","sourceRoot":"","sources":["../../src/web3mail/fetchMyContacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAW3D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,aAAa,GAAG,cAAc,EAAE,EAChC,KAAK,GAAG,cAAc,EAAE,EACxB,gBAAgB,GAAG,cAAc,EAAE,EACnC,oBAAoB,GAAG,cAAc,EAAE,EACvC,YAAY,GAAG,KAAK,GAKC,EAAsB,EAAE;IAC7C,MAAM,aAAa,GAAG,aAAa,EAAE;SAClC,KAAK,CAAC,cAAc,CAAC;SACrB,YAAY,CAAC,YAAY,CAAC,CAAC;IAE9B,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACpD,OAAO,iBAAiB,CAAC;QACvB,KAAK;QACL,aAAa;QACb,gBAAgB;QAChB,oBAAoB;QACpB,WAAW;QACX,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { Contact,
|
|
1
|
+
import { Contact, FetchUserContactsParams } from './types.js';
|
|
2
|
+
import { DappAddressConsumer, DappWhitelistAddressConsumer, IExecConsumer, SubgraphConsumer } from './internalTypes.js';
|
|
2
3
|
export declare const fetchUserContacts: ({ graphQLClient, iexec, dappAddressOrENS, dappWhitelistAddress, userAddress, isUserStrict, }: IExecConsumer & SubgraphConsumer & DappAddressConsumer & DappWhitelistAddressConsumer & FetchUserContactsParams) => Promise<Contact[]>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ZeroAddress } from 'ethers';
|
|
1
2
|
import { ANY_DATASET_ADDRESS } from '../config/config.js';
|
|
2
3
|
import { handleIfProtocolError, WorkflowError } from '../utils/errors.js';
|
|
3
4
|
import { autoPaginateRequest } from '../utils/paginate.js';
|
|
@@ -48,7 +49,10 @@ export const fetchUserContacts = async ({ graphQLClient = throwIfMissing(), iexe
|
|
|
48
49
|
const contact = {
|
|
49
50
|
address: order.order.dataset.toLowerCase(),
|
|
50
51
|
owner: order.signer.toLowerCase(),
|
|
52
|
+
remainingAccess: order.remaining,
|
|
53
|
+
accessPrice: order.order.datasetprice,
|
|
51
54
|
accessGrantTimestamp: order.publicationTimestamp,
|
|
55
|
+
isUserStrict: order.order.requesterrestrict !== ZeroAddress,
|
|
52
56
|
};
|
|
53
57
|
myContacts.push(contact);
|
|
54
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUserContacts.js","sourceRoot":"","sources":["../../src/web3mail/fetchUserContacts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetchUserContacts.js","sourceRoot":"","sources":["../../src/web3mail/fetchUserContacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { IExec } from 'iexec';
|
|
2
|
+
import { AddressOrENS } from './types.js';
|
|
3
|
+
import { GraphQLClient } from 'graphql-request';
|
|
4
|
+
export type ProtectedDataQuery = {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
};
|
|
8
|
+
export type GraphQLResponse = {
|
|
9
|
+
protectedDatas: ProtectedDataQuery[];
|
|
10
|
+
};
|
|
11
|
+
export type DappAddressConsumer = {
|
|
12
|
+
dappAddressOrENS: AddressOrENS;
|
|
13
|
+
};
|
|
14
|
+
export type IpfsNodeConfigConsumer = {
|
|
15
|
+
ipfsNode: string;
|
|
16
|
+
};
|
|
17
|
+
export type IpfsGatewayConfigConsumer = {
|
|
18
|
+
ipfsGateway: string;
|
|
19
|
+
};
|
|
20
|
+
export type DappWhitelistAddressConsumer = {
|
|
21
|
+
dappWhitelistAddress: string;
|
|
22
|
+
};
|
|
23
|
+
export type IExecConsumer = {
|
|
24
|
+
iexec: IExec;
|
|
25
|
+
};
|
|
26
|
+
export type SubgraphConsumer = {
|
|
27
|
+
graphQLClient: GraphQLClient;
|
|
28
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalTypes.js","sourceRoot":"","sources":["../../src/web3mail/internalTypes.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SendEmailParams, SendEmailResponse } from './types.js';
|
|
2
|
+
import { DappAddressConsumer, DappWhitelistAddressConsumer, IExecConsumer, IpfsGatewayConfigConsumer, IpfsNodeConfigConsumer, SubgraphConsumer } from './internalTypes.js';
|
|
2
3
|
export type SendEmail = typeof sendEmail;
|
|
3
4
|
export declare const sendEmail: ({ graphQLClient, iexec, workerpoolAddressOrEns, dappAddressOrENS, dappWhitelistAddress, ipfsNode, ipfsGateway, emailSubject, emailContent, contentType, label, dataMaxPrice, appMaxPrice, workerpoolMaxPrice, senderName, protectedData, useVoucher, }: IExecConsumer & SubgraphConsumer & DappAddressConsumer & DappWhitelistAddressConsumer & IpfsNodeConfigConsumer & IpfsGatewayConfigConsumer & SendEmailParams) => Promise<SendEmailResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendEmail.js","sourceRoot":"","sources":["../../src/web3mail/sendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;
|
|
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
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EnhancedWallet, IExec } from 'iexec';
|
|
1
|
+
import { EnhancedWallet } from 'iexec';
|
|
3
2
|
import { IExecConfigOptions } from 'iexec/IExecConfig';
|
|
4
3
|
export type Web3SignerProvider = EnhancedWallet;
|
|
5
|
-
export type IExecConsumer = {
|
|
6
|
-
iexec: IExec;
|
|
7
|
-
};
|
|
8
4
|
export type ENS = string;
|
|
9
5
|
export type AddressOrENS = Address | ENS;
|
|
10
6
|
export type Address = string;
|
|
@@ -13,6 +9,10 @@ export type Contact = {
|
|
|
13
9
|
address: Address;
|
|
14
10
|
owner: Address;
|
|
15
11
|
accessGrantTimestamp: TimeStamp;
|
|
12
|
+
isUserStrict: boolean;
|
|
13
|
+
name: string;
|
|
14
|
+
remainingAccess: number;
|
|
15
|
+
accessPrice: number;
|
|
16
16
|
};
|
|
17
17
|
export type SendEmailParams = {
|
|
18
18
|
emailSubject: string;
|
|
@@ -42,18 +42,6 @@ export type FetchUserContactsParams = {
|
|
|
42
42
|
export type SendEmailResponse = {
|
|
43
43
|
taskId: string;
|
|
44
44
|
};
|
|
45
|
-
/**
|
|
46
|
-
* Internal props for querying the subgraph
|
|
47
|
-
*/
|
|
48
|
-
export type ProtectedDataQuery = {
|
|
49
|
-
id: string;
|
|
50
|
-
};
|
|
51
|
-
export type GraphQLResponse = {
|
|
52
|
-
protectedDatas: ProtectedDataQuery[];
|
|
53
|
-
};
|
|
54
|
-
export type SubgraphConsumer = {
|
|
55
|
-
graphQLClient: GraphQLClient;
|
|
56
|
-
};
|
|
57
45
|
/**
|
|
58
46
|
* Configuration options for Web3Mail.
|
|
59
47
|
*/
|
|
@@ -95,15 +83,3 @@ export type Web3MailConfigOptions = {
|
|
|
95
83
|
*/
|
|
96
84
|
allowExperimentalNetworks?: boolean;
|
|
97
85
|
};
|
|
98
|
-
export type DappAddressConsumer = {
|
|
99
|
-
dappAddressOrENS: AddressOrENS;
|
|
100
|
-
};
|
|
101
|
-
export type IpfsNodeConfigConsumer = {
|
|
102
|
-
ipfsNode: string;
|
|
103
|
-
};
|
|
104
|
-
export type IpfsGatewayConfigConsumer = {
|
|
105
|
-
ipfsGateway: string;
|
|
106
|
-
};
|
|
107
|
-
export type DappWhitelistAddressConsumer = {
|
|
108
|
-
dappWhitelistAddress: string;
|
|
109
|
-
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { GraphQLClient, gql } from 'graphql-request';
|
|
2
|
-
import { Contact
|
|
2
|
+
import { Contact } from '../index.js';
|
|
3
3
|
import { WorkflowError } from './errors.js';
|
|
4
|
+
import {
|
|
5
|
+
GraphQLResponse,
|
|
6
|
+
ProtectedDataQuery,
|
|
7
|
+
} from '../web3mail/internalTypes.js';
|
|
4
8
|
|
|
5
9
|
const checkProtectedDataQuery = gql`
|
|
6
10
|
query GetValidContacts(
|
|
@@ -21,14 +25,18 @@ const checkProtectedDataQuery = gql`
|
|
|
21
25
|
orderDirection: desc
|
|
22
26
|
) {
|
|
23
27
|
id
|
|
28
|
+
name
|
|
24
29
|
}
|
|
25
30
|
}
|
|
26
31
|
`;
|
|
27
32
|
|
|
28
33
|
export const getValidContact = async (
|
|
29
34
|
graphQLClient: GraphQLClient,
|
|
30
|
-
contacts: Contact[]
|
|
35
|
+
contacts: Omit<Contact, 'name'>[]
|
|
31
36
|
): Promise<Contact[]> => {
|
|
37
|
+
if (contacts.length === 0) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
32
40
|
try {
|
|
33
41
|
// Contacts addresses
|
|
34
42
|
const contactsAddresses = contacts.map((contact) => contact.address);
|
|
@@ -63,13 +71,17 @@ export const getValidContact = async (
|
|
|
63
71
|
);
|
|
64
72
|
|
|
65
73
|
// Convert protectedData[] into Contact[] using the map for constant time lookups
|
|
66
|
-
return protectedDataList.map(({ id }) => {
|
|
74
|
+
return protectedDataList.map(({ id, name }) => {
|
|
67
75
|
const contact = contactsMap.get(id);
|
|
68
76
|
if (contact) {
|
|
69
77
|
return {
|
|
70
78
|
address: id,
|
|
79
|
+
name: name,
|
|
80
|
+
remainingAccess: contact.remainingAccess,
|
|
81
|
+
accessPrice: contact.accessPrice,
|
|
71
82
|
owner: contact.owner,
|
|
72
83
|
accessGrantTimestamp: contact.accessGrantTimestamp,
|
|
84
|
+
isUserStrict: contact.isUserStrict,
|
|
73
85
|
};
|
|
74
86
|
}
|
|
75
87
|
});
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { booleanSchema, throwIfMissing } from '../utils/validators.js';
|
|
2
2
|
import { fetchUserContacts } from './fetchUserContacts.js';
|
|
3
3
|
import {
|
|
4
|
-
Contact,
|
|
5
4
|
DappAddressConsumer,
|
|
6
5
|
DappWhitelistAddressConsumer,
|
|
7
|
-
FetchMyContactsParams,
|
|
8
6
|
IExecConsumer,
|
|
9
7
|
SubgraphConsumer,
|
|
10
|
-
} from './
|
|
8
|
+
} from './internalTypes.js';
|
|
9
|
+
import { Contact, FetchMyContactsParams } from './types.js';
|
|
11
10
|
|
|
12
11
|
export type FetchMyContacts = typeof fetchMyContacts;
|
|
13
12
|
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { PublishedDatasetorder } from 'iexec/IExecOrderbookModule';
|
|
2
|
+
import { ZeroAddress } from 'ethers';
|
|
3
|
+
import { IExec } from 'iexec';
|
|
1
4
|
import { ANY_DATASET_ADDRESS } from '../config/config.js';
|
|
2
5
|
import { handleIfProtocolError, WorkflowError } from '../utils/errors.js';
|
|
3
6
|
import { autoPaginateRequest } from '../utils/paginate.js';
|
|
@@ -9,14 +12,13 @@ import {
|
|
|
9
12
|
isEnsTest,
|
|
10
13
|
throwIfMissing,
|
|
11
14
|
} from '../utils/validators.js';
|
|
15
|
+
import { Contact, FetchUserContactsParams } from './types.js';
|
|
12
16
|
import {
|
|
13
|
-
Contact,
|
|
14
17
|
DappAddressConsumer,
|
|
15
18
|
DappWhitelistAddressConsumer,
|
|
16
|
-
FetchUserContactsParams,
|
|
17
19
|
IExecConsumer,
|
|
18
20
|
SubgraphConsumer,
|
|
19
|
-
} from './
|
|
21
|
+
} from './internalTypes.js';
|
|
20
22
|
|
|
21
23
|
export const fetchUserContacts = async ({
|
|
22
24
|
graphQLClient = throwIfMissing(),
|
|
@@ -63,7 +65,7 @@ export const fetchUserContacts = async ({
|
|
|
63
65
|
]);
|
|
64
66
|
|
|
65
67
|
const orders = dappOrders.concat(whitelistOrders);
|
|
66
|
-
const myContacts: Contact[] = [];
|
|
68
|
+
const myContacts: Omit<Contact, 'name'>[] = [];
|
|
67
69
|
let web3DappResolvedAddress = vDappAddressOrENS;
|
|
68
70
|
if (isEnsTest(vDappAddressOrENS)) {
|
|
69
71
|
web3DappResolvedAddress = await iexec.ens.resolveName(vDappAddressOrENS);
|
|
@@ -78,7 +80,10 @@ export const fetchUserContacts = async ({
|
|
|
78
80
|
const contact = {
|
|
79
81
|
address: order.order.dataset.toLowerCase(),
|
|
80
82
|
owner: order.signer.toLowerCase(),
|
|
83
|
+
remainingAccess: order.remaining,
|
|
84
|
+
accessPrice: order.order.datasetprice,
|
|
81
85
|
accessGrantTimestamp: order.publicationTimestamp,
|
|
86
|
+
isUserStrict: order.order.requesterrestrict !== ZeroAddress,
|
|
82
87
|
};
|
|
83
88
|
myContacts.push(contact);
|
|
84
89
|
}
|
|
@@ -102,7 +107,12 @@ async function fetchAllOrdersByApp({
|
|
|
102
107
|
userAddress,
|
|
103
108
|
appAddress,
|
|
104
109
|
isUserStrict,
|
|
105
|
-
}
|
|
110
|
+
}: {
|
|
111
|
+
iexec: IExec;
|
|
112
|
+
userAddress: string;
|
|
113
|
+
appAddress: string;
|
|
114
|
+
isUserStrict: boolean;
|
|
115
|
+
}): Promise<PublishedDatasetorder[]> {
|
|
106
116
|
const ordersFirstPage = iexec.orderbook.fetchDatasetOrderbook(
|
|
107
117
|
ANY_DATASET_ADDRESS,
|
|
108
118
|
{
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IExec } from 'iexec';
|
|
2
|
+
import { AddressOrENS } from './types.js';
|
|
3
|
+
import { GraphQLClient } from 'graphql-request';
|
|
4
|
+
|
|
5
|
+
export type ProtectedDataQuery = {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export type GraphQLResponse = {
|
|
11
|
+
protectedDatas: ProtectedDataQuery[];
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export type DappAddressConsumer = {
|
|
15
|
+
dappAddressOrENS: AddressOrENS;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export type IpfsNodeConfigConsumer = {
|
|
19
|
+
ipfsNode: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type IpfsGatewayConfigConsumer = {
|
|
23
|
+
ipfsGateway: string;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export type DappWhitelistAddressConsumer = {
|
|
27
|
+
dappWhitelistAddress: string;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export type IExecConsumer = {
|
|
31
|
+
iexec: IExec;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export type SubgraphConsumer = {
|
|
35
|
+
graphQLClient: GraphQLClient;
|
|
36
|
+
};
|
|
@@ -26,16 +26,15 @@ import {
|
|
|
26
26
|
checkUserVoucher,
|
|
27
27
|
filterWorkerpoolOrders,
|
|
28
28
|
} from './sendEmail.models.js';
|
|
29
|
+
import { SendEmailParams, SendEmailResponse } from './types.js';
|
|
29
30
|
import {
|
|
30
31
|
DappAddressConsumer,
|
|
31
32
|
DappWhitelistAddressConsumer,
|
|
32
33
|
IExecConsumer,
|
|
33
34
|
IpfsGatewayConfigConsumer,
|
|
34
35
|
IpfsNodeConfigConsumer,
|
|
35
|
-
SendEmailParams,
|
|
36
|
-
SendEmailResponse,
|
|
37
36
|
SubgraphConsumer,
|
|
38
|
-
} from './
|
|
37
|
+
} from './internalTypes.js';
|
|
39
38
|
|
|
40
39
|
export type SendEmail = typeof sendEmail;
|
|
41
40
|
|
package/src/web3mail/types.ts
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EnhancedWallet, IExec } from 'iexec';
|
|
1
|
+
import { EnhancedWallet } from 'iexec';
|
|
3
2
|
import { IExecConfigOptions } from 'iexec/IExecConfig';
|
|
4
3
|
|
|
5
4
|
export type Web3SignerProvider = EnhancedWallet;
|
|
6
5
|
|
|
7
|
-
export type IExecConsumer = {
|
|
8
|
-
iexec: IExec;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
6
|
export type ENS = string;
|
|
12
7
|
|
|
13
8
|
export type AddressOrENS = Address | ENS;
|
|
@@ -20,6 +15,10 @@ export type Contact = {
|
|
|
20
15
|
address: Address;
|
|
21
16
|
owner: Address;
|
|
22
17
|
accessGrantTimestamp: TimeStamp;
|
|
18
|
+
isUserStrict: boolean;
|
|
19
|
+
name: string;
|
|
20
|
+
remainingAccess: number;
|
|
21
|
+
accessPrice: number;
|
|
23
22
|
};
|
|
24
23
|
|
|
25
24
|
export type SendEmailParams = {
|
|
@@ -54,21 +53,6 @@ export type SendEmailResponse = {
|
|
|
54
53
|
taskId: string;
|
|
55
54
|
};
|
|
56
55
|
|
|
57
|
-
/**
|
|
58
|
-
* Internal props for querying the subgraph
|
|
59
|
-
*/
|
|
60
|
-
export type ProtectedDataQuery = {
|
|
61
|
-
id: string;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export type GraphQLResponse = {
|
|
65
|
-
protectedDatas: ProtectedDataQuery[];
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
export type SubgraphConsumer = {
|
|
69
|
-
graphQLClient: GraphQLClient;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
56
|
/**
|
|
73
57
|
* Configuration options for Web3Mail.
|
|
74
58
|
*/
|
|
@@ -116,19 +100,3 @@ export type Web3MailConfigOptions = {
|
|
|
116
100
|
*/
|
|
117
101
|
allowExperimentalNetworks?: boolean;
|
|
118
102
|
};
|
|
119
|
-
|
|
120
|
-
export type DappAddressConsumer = {
|
|
121
|
-
dappAddressOrENS: AddressOrENS;
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
export type IpfsNodeConfigConsumer = {
|
|
125
|
-
ipfsNode: string;
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
export type IpfsGatewayConfigConsumer = {
|
|
129
|
-
ipfsGateway: string;
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
export type DappWhitelistAddressConsumer = {
|
|
133
|
-
dappWhitelistAddress: string;
|
|
134
|
-
};
|