@iexec/web3mail 1.9.0 → 2.0.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.
- package/README.md +7 -7
- package/dist/config/config.d.ts +6 -1
- package/dist/config/config.js +21 -10
- package/dist/config/config.js.map +1 -1
- package/dist/utils/getChainId.js +7 -2
- package/dist/utils/getChainId.js.map +1 -1
- package/dist/utils/getWeb3Provider.d.ts +1 -2
- package/dist/utils/getWeb3Provider.js +3 -7
- package/dist/utils/getWeb3Provider.js.map +1 -1
- package/dist/utils/resolveDappAddressFromCompass.d.ts +2 -2
- package/dist/utils/validators.d.ts +0 -2
- package/dist/utils/validators.js +0 -4
- package/dist/utils/validators.js.map +1 -1
- package/dist/web3mail/IExecWeb3mail.d.ts +2 -2
- package/dist/web3mail/IExecWeb3mail.js +13 -14
- package/dist/web3mail/IExecWeb3mail.js.map +1 -1
- package/dist/web3mail/fetchMyContacts.d.ts +1 -1
- package/dist/web3mail/fetchMyContacts.js +2 -2
- package/dist/web3mail/fetchMyContacts.js.map +1 -1
- package/dist/web3mail/fetchUserContacts.d.ts +1 -1
- package/dist/web3mail/fetchUserContacts.js +20 -25
- package/dist/web3mail/fetchUserContacts.js.map +1 -1
- package/dist/web3mail/internalTypes.d.ts +2 -2
- package/dist/web3mail/prepareEmailCampaign.d.ts +1 -1
- package/dist/web3mail/prepareEmailCampaign.js +10 -10
- package/dist/web3mail/prepareEmailCampaign.js.map +1 -1
- package/dist/web3mail/sendEmail.d.ts +1 -1
- package/dist/web3mail/sendEmail.js +21 -41
- package/dist/web3mail/sendEmail.js.map +1 -1
- package/dist/web3mail/sendEmail.models.d.ts +8 -27
- package/dist/web3mail/sendEmail.models.js +5 -28
- package/dist/web3mail/sendEmail.models.js.map +1 -1
- package/dist/web3mail/sendEmailCampaign.d.ts +1 -1
- package/dist/web3mail/sendEmailCampaign.js +8 -9
- package/dist/web3mail/sendEmailCampaign.js.map +1 -1
- package/dist/web3mail/types.d.ts +8 -11
- package/package.json +4 -4
- package/src/config/config.ts +24 -12
- package/src/utils/getChainId.ts +11 -2
- package/src/utils/getWeb3Provider.ts +4 -6
- package/src/utils/resolveDappAddressFromCompass.ts +2 -2
- package/src/utils/validators.ts +0 -11
- package/src/web3mail/IExecWeb3mail.ts +20 -23
- package/src/web3mail/fetchMyContacts.ts +2 -2
- package/src/web3mail/fetchUserContacts.ts +21 -27
- package/src/web3mail/internalTypes.ts +2 -2
- package/src/web3mail/prepareEmailCampaign.ts +11 -11
- package/src/web3mail/sendEmail.models.ts +6 -68
- package/src/web3mail/sendEmail.ts +26 -58
- package/src/web3mail/sendEmailCampaign.ts +10 -11
- package/src/web3mail/types.ts +8 -13
package/README.md
CHANGED
|
@@ -41,21 +41,21 @@ yarn add @iexec/web3mail
|
|
|
41
41
|
### Browser
|
|
42
42
|
|
|
43
43
|
```ts
|
|
44
|
-
import { IExecWeb3mail } from
|
|
44
|
+
import { IExecWeb3mail } from '@iexec/web3mail';
|
|
45
45
|
|
|
46
|
-
const
|
|
47
|
-
const
|
|
46
|
+
const web3Provider = window.ethereum;
|
|
47
|
+
const web3mail = new IExecWeb3mail(web3Provider);
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
### NodeJS
|
|
51
51
|
|
|
52
52
|
```ts
|
|
53
|
-
import { IExecWeb3mail, getWeb3Provider } from
|
|
53
|
+
import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail';
|
|
54
54
|
|
|
55
|
-
const { PRIVATE_KEY } = process.env;
|
|
55
|
+
const { PRIVATE_KEY } = process.env;
|
|
56
56
|
|
|
57
|
-
const
|
|
58
|
-
const
|
|
57
|
+
const web3Provider = getWeb3Provider(PRIVATE_KEY, 421614);
|
|
58
|
+
const web3mail = new IExecWeb3mail(web3Provider);
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
## Documentation
|
package/dist/config/config.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ export declare const MAX_DESIRED_WORKERPOOL_ORDER_PRICE = 0;
|
|
|
4
4
|
export declare const DEFAULT_CONTENT_TYPE = "text/plain";
|
|
5
5
|
export declare const ANY_DATASET_ADDRESS = "any";
|
|
6
6
|
export declare const CALLBACK_WEB3MAIL = "0x5f936db7ad6d29371808e42a87015595d90509ba";
|
|
7
|
-
export declare const DEFAULT_CHAIN_ID = 134;
|
|
8
7
|
interface ChainConfig {
|
|
9
8
|
name: string;
|
|
10
9
|
dappAddress?: string;
|
|
@@ -18,4 +17,10 @@ interface ChainConfig {
|
|
|
18
17
|
export declare const getChainDefaultConfig: (chainId: number, options?: {
|
|
19
18
|
allowExperimentalNetworks?: boolean;
|
|
20
19
|
}) => ChainConfig | null;
|
|
20
|
+
/**
|
|
21
|
+
* When `ethProvider` is a string, it may be an RPC URL, a decimal chain id, or an
|
|
22
|
+
* iExec chain host name (see each chain's `name` in CHAIN_CONFIG). RPC URLs are not
|
|
23
|
+
* resolved here (returns undefined); JsonRpcProvider handles those.
|
|
24
|
+
*/
|
|
25
|
+
export declare function tryResolveChainIdFromProviderString(hint: string): number | undefined;
|
|
21
26
|
export {};
|
package/dist/config/config.js
CHANGED
|
@@ -4,17 +4,7 @@ export const MAX_DESIRED_WORKERPOOL_ORDER_PRICE = 0;
|
|
|
4
4
|
export const DEFAULT_CONTENT_TYPE = 'text/plain';
|
|
5
5
|
export const ANY_DATASET_ADDRESS = 'any';
|
|
6
6
|
export const CALLBACK_WEB3MAIL = '0x5f936db7ad6d29371808e42a87015595d90509ba';
|
|
7
|
-
export const DEFAULT_CHAIN_ID = 134;
|
|
8
7
|
const CHAIN_CONFIG = {
|
|
9
|
-
134: {
|
|
10
|
-
name: 'bellecour',
|
|
11
|
-
dappAddress: 'web3mail.apps.iexec.eth',
|
|
12
|
-
prodWorkerpoolAddress: 'prod-v8-bellecour.main.pools.iexec.eth',
|
|
13
|
-
dataProtectorSubgraph: 'https://thegraph.iex.ec/subgraphs/name/bellecour/dataprotector-v2',
|
|
14
|
-
ipfsUploadUrl: '/dns4/ipfs-upload.v8-bellecour.iex.ec/https',
|
|
15
|
-
ipfsGateway: 'https://ipfs-gateway.v8-bellecour.iex.ec',
|
|
16
|
-
whitelistSmartContract: '0x781482C39CcE25546583EaC4957Fb7Bf04C277D2',
|
|
17
|
-
},
|
|
18
8
|
421614: {
|
|
19
9
|
name: 'arbitrum-sepolia-testnet',
|
|
20
10
|
dappAddress: undefined, // ENS not supported on this network, address will be resolved from Compass
|
|
@@ -44,4 +34,25 @@ export const getChainDefaultConfig = (chainId, options) => {
|
|
|
44
34
|
}
|
|
45
35
|
return config;
|
|
46
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* When `ethProvider` is a string, it may be an RPC URL, a decimal chain id, or an
|
|
39
|
+
* iExec chain host name (see each chain's `name` in CHAIN_CONFIG). RPC URLs are not
|
|
40
|
+
* resolved here (returns undefined); JsonRpcProvider handles those.
|
|
41
|
+
*/
|
|
42
|
+
export function tryResolveChainIdFromProviderString(hint) {
|
|
43
|
+
const trimmed = hint.trim();
|
|
44
|
+
if (/^https?:\/\//i.test(trimmed)) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
if (/^\d+$/.test(trimmed)) {
|
|
48
|
+
return Number(trimmed);
|
|
49
|
+
}
|
|
50
|
+
const lower = trimmed.toLowerCase();
|
|
51
|
+
for (const [id, cfg] of Object.entries(CHAIN_CONFIG)) {
|
|
52
|
+
if (cfg.name.toLowerCase() === lower) {
|
|
53
|
+
return Number(id);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
47
58
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,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,mBAAmB,GAAG,KAAK,CAAC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAC9C,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,mBAAmB,GAAG,KAAK,CAAC;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,4CAA4C,CAAC;AAa9E,MAAM,YAAY,GAAgC;IAChD,MAAM,EAAE;QACN,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,SAAS,EAAE,2EAA2E;QACnG,qBAAqB,EAAE,4CAA4C,EAAE,iBAAiB;QACtF,qBAAqB,EACnB,+GAA+G;QACjH,WAAW,EAAE,sDAAsD;QACnE,aAAa,EAAE,qDAAqD;QACpE,sBAAsB,EAAE,4CAA4C;KACrE;IACD,KAAK,EAAE;QACL,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,SAAS,EAAE,2EAA2E;QACnG,qBAAqB,EAAE,4CAA4C,EAAE,iBAAiB;QACtF,qBAAqB,EACnB,gGAAgG;QAClG,WAAW,EAAE,8CAA8C;QAC3D,aAAa,EAAE,6CAA6C;QAC5D,sBAAsB,EAAE,4CAA4C;KACrE;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,OAAe,EACf,OAAiD,EAC7B,EAAE;IACtB,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mCAAmC,CACjD,IAAY;IAEZ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/utils/getChainId.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { JsonRpcProvider, BrowserProvider, AbstractProvider, AbstractSigner, } from 'ethers';
|
|
2
|
-
import {
|
|
2
|
+
import { tryResolveChainIdFromProviderString } from '../config/config.js';
|
|
3
3
|
export async function getChainIdFromProvider(ethProvider) {
|
|
4
4
|
try {
|
|
5
5
|
if (typeof ethProvider === 'string') {
|
|
6
|
+
const resolved = tryResolveChainIdFromProviderString(ethProvider);
|
|
7
|
+
if (resolved !== undefined) {
|
|
8
|
+
return resolved;
|
|
9
|
+
}
|
|
6
10
|
const provider = new JsonRpcProvider(ethProvider);
|
|
7
11
|
const network = await provider.getNetwork();
|
|
8
12
|
return Number(network.chainId);
|
|
@@ -27,7 +31,8 @@ export async function getChainIdFromProvider(ethProvider) {
|
|
|
27
31
|
}
|
|
28
32
|
catch (e) {
|
|
29
33
|
console.warn('Failed to detect chainId:', e);
|
|
34
|
+
throw new Error(`Failed to detect chainId from ethProvider: ${e instanceof Error ? e.message : String(e)}`);
|
|
30
35
|
}
|
|
31
|
-
|
|
36
|
+
throw new Error('Unsupported ethProvider for chain ID detection');
|
|
32
37
|
}
|
|
33
38
|
//# sourceMappingURL=getChainId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getChainId.js","sourceRoot":"","sources":["../../src/utils/getChainId.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,GAEf,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getChainId.js","sourceRoot":"","sources":["../../src/utils/getChainId.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,GAEf,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAC;AAQ1E,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAqC;IAErC,IAAI,CAAC;QACH,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,mCAAmC,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,WAAW,YAAY,gBAAgB,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;YAC/C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,WAAW,YAAY,cAAc,EAAE,CAAC;YACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,WAA8B,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,8CACE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAC3C,EAAE,CACH,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Web3SignerProvider } from '../web3mail/types.js';
|
|
2
|
-
export declare const getWeb3Provider: (privateKey: string, options?: {
|
|
2
|
+
export declare const getWeb3Provider: (privateKey: string, host: number | string, options?: {
|
|
3
3
|
allowExperimentalNetworks?: boolean;
|
|
4
|
-
host?: number | string;
|
|
5
4
|
}) => Web3SignerProvider;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { getSignerFromPrivateKey } from 'iexec/utils';
|
|
2
|
-
export const getWeb3Provider = (privateKey, options = {}) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
allowExperimentalNetworks: options?.allowExperimentalNetworks,
|
|
6
|
-
providers: {},
|
|
7
|
-
});
|
|
8
|
-
};
|
|
2
|
+
export const getWeb3Provider = (privateKey, host, options = {}) => getSignerFromPrivateKey(`${host}`, privateKey, {
|
|
3
|
+
allowExperimentalNetworks: options?.allowExperimentalNetworks,
|
|
4
|
+
});
|
|
9
5
|
//# sourceMappingURL=getWeb3Provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getWeb3Provider.js","sourceRoot":"","sources":["../../src/utils/getWeb3Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"getWeb3Provider.js","sourceRoot":"","sources":["../../src/utils/getWeb3Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAAkB,EAClB,IAAqB,EACrB,UAAmD,EAAE,EACjC,EAAE,CACtB,uBAAuB,CAAC,GAAG,IAAI,EAAE,EAAE,UAAU,EAAE;IAC7C,yBAAyB,EAAE,OAAO,EAAE,yBAAyB;CAC9D,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function resolveDappAddressFromCompass(compassUrl: string, chainId: number): Promise<
|
|
1
|
+
import { Address } from '../web3mail/types.js';
|
|
2
|
+
export declare function resolveDappAddressFromCompass(compassUrl: string, chainId: number): Promise<Address | undefined>;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { IExec } from 'iexec';
|
|
2
2
|
export declare const isValidProvider: (iexec: IExec) => Promise<void>;
|
|
3
3
|
export declare const throwIfMissing: () => never;
|
|
4
|
-
export declare const isEnsTest: (value: string) => boolean;
|
|
5
|
-
export declare const addressOrEnsSchema: () => import("yup").StringSchema<string, import("yup").AnyObject, undefined, "">;
|
|
6
4
|
export declare const addressSchema: () => import("yup").StringSchema<string, import("yup").AnyObject, undefined, "">;
|
|
7
5
|
export declare const emailSubjectSchema: () => import("yup").StringSchema<string, import("yup").AnyObject, undefined, "">;
|
|
8
6
|
export declare const emailContentSchema: () => import("yup").StringSchema<string, import("yup").AnyObject, undefined, "">;
|
package/dist/utils/validators.js
CHANGED
|
@@ -12,10 +12,6 @@ export const throwIfMissing = () => {
|
|
|
12
12
|
};
|
|
13
13
|
const isUndefined = (value) => value === undefined;
|
|
14
14
|
const isAddressTest = (value) => isAddress(value);
|
|
15
|
-
export const isEnsTest = (value) => value.endsWith('.eth') && value.length > 6;
|
|
16
|
-
export const addressOrEnsSchema = () => string()
|
|
17
|
-
.transform((value) => value?.toLowerCase() || value)
|
|
18
|
-
.test('is-address-or-ens', '${path} should be an ethereum address or a ENS name', (value) => isUndefined(value) || isAddressTest(value) || isEnsTest(value));
|
|
19
15
|
export const addressSchema = () => string()
|
|
20
16
|
.transform((value) => value?.toLowerCase() || value)
|
|
21
17
|
.test('is-address', '${path} should be an ethereum address', (value) => isUndefined(value) || isAddressTest(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAEvE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,KAAY,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,mGAAmG,CACpG,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAU,EAAE;IACxC,MAAM,IAAI,eAAe,CAAC,mBAAmB,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;AAC5D,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { AbstractProvider, AbstractSigner, Eip1193Provider } from 'ethers';
|
|
|
2
2
|
import { Contact, FetchUserContactsParams, SendEmailParams, Web3MailConfigOptions, SendEmailResponse, Web3SignerProvider, FetchMyContactsParams, PrepareEmailCampaignParams, PrepareEmailCampaignResponse, SendEmailCampaignParams, SendEmailCampaignResponse } from './types.js';
|
|
3
3
|
type EthersCompatibleProvider = AbstractProvider | AbstractSigner | Eip1193Provider | Web3SignerProvider | string;
|
|
4
4
|
export declare class IExecWeb3mail {
|
|
5
|
-
private
|
|
5
|
+
private dappAddress;
|
|
6
6
|
private dappWhitelistAddress;
|
|
7
7
|
private graphQLClient;
|
|
8
8
|
private ipfsNode;
|
|
@@ -13,7 +13,7 @@ export declare class IExecWeb3mail {
|
|
|
13
13
|
private initPromise;
|
|
14
14
|
private ethProvider;
|
|
15
15
|
private options;
|
|
16
|
-
constructor(ethProvider
|
|
16
|
+
constructor(ethProvider: EthersCompatibleProvider, options?: Web3MailConfigOptions);
|
|
17
17
|
init(): Promise<void>;
|
|
18
18
|
fetchMyContacts(args?: FetchMyContactsParams): Promise<Contact[]>;
|
|
19
19
|
fetchUserContacts(args: FetchUserContactsParams): Promise<Contact[]>;
|
|
@@ -11,7 +11,7 @@ import { getChainIdFromProvider } from '../utils/getChainId.js';
|
|
|
11
11
|
import { getChainDefaultConfig } from '../config/config.js';
|
|
12
12
|
import { resolveDappAddressFromCompass } from '../utils/resolveDappAddressFromCompass.js';
|
|
13
13
|
export class IExecWeb3mail {
|
|
14
|
-
|
|
14
|
+
dappAddress;
|
|
15
15
|
dappWhitelistAddress;
|
|
16
16
|
graphQLClient;
|
|
17
17
|
ipfsNode;
|
|
@@ -23,13 +23,13 @@ export class IExecWeb3mail {
|
|
|
23
23
|
ethProvider;
|
|
24
24
|
options;
|
|
25
25
|
constructor(ethProvider, options) {
|
|
26
|
-
this.ethProvider = ethProvider
|
|
26
|
+
this.ethProvider = ethProvider;
|
|
27
27
|
this.options = options || {};
|
|
28
28
|
}
|
|
29
29
|
async init() {
|
|
30
30
|
if (!this.initPromise) {
|
|
31
31
|
this.initPromise = this.resolveConfig().then((config) => {
|
|
32
|
-
this.
|
|
32
|
+
this.dappAddress = config.dappAddress;
|
|
33
33
|
this.dappWhitelistAddress = config.dappWhitelistAddress;
|
|
34
34
|
this.graphQLClient = config.graphQLClient;
|
|
35
35
|
this.ipfsNode = config.ipfsNode;
|
|
@@ -48,7 +48,7 @@ export class IExecWeb3mail {
|
|
|
48
48
|
...args,
|
|
49
49
|
iexec: this.iexec,
|
|
50
50
|
graphQLClient: this.graphQLClient,
|
|
51
|
-
|
|
51
|
+
dappAddress: this.dappAddress,
|
|
52
52
|
dappWhitelistAddress: this.dappWhitelistAddress,
|
|
53
53
|
});
|
|
54
54
|
}
|
|
@@ -58,7 +58,7 @@ export class IExecWeb3mail {
|
|
|
58
58
|
...args,
|
|
59
59
|
iexec: this.iexec,
|
|
60
60
|
graphQLClient: this.graphQLClient,
|
|
61
|
-
|
|
61
|
+
dappAddress: this.dappAddress,
|
|
62
62
|
dappWhitelistAddress: this.dappWhitelistAddress,
|
|
63
63
|
});
|
|
64
64
|
}
|
|
@@ -67,26 +67,25 @@ export class IExecWeb3mail {
|
|
|
67
67
|
await isValidProvider(this.iexec);
|
|
68
68
|
return sendEmail({
|
|
69
69
|
...args,
|
|
70
|
-
|
|
70
|
+
workerpoolAddress: args.workerpoolAddress || this.defaultWorkerpool,
|
|
71
71
|
iexec: this.iexec,
|
|
72
72
|
ipfsNode: this.ipfsNode,
|
|
73
73
|
ipfsGateway: this.ipfsGateway,
|
|
74
|
-
|
|
74
|
+
dappAddress: this.dappAddress,
|
|
75
75
|
dappWhitelistAddress: this.dappWhitelistAddress,
|
|
76
76
|
graphQLClient: this.graphQLClient,
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
async prepareEmailCampaign(args) {
|
|
80
80
|
await this.init();
|
|
81
|
-
await isValidProvider(this.iexec);
|
|
82
81
|
return prepareEmailCampaign({
|
|
83
82
|
...args,
|
|
84
|
-
|
|
83
|
+
workerpoolAddress: args.workerpoolAddress || this.defaultWorkerpool,
|
|
85
84
|
iexec: this.iexec,
|
|
86
85
|
dataProtector: this.dataProtector,
|
|
87
86
|
ipfsNode: this.ipfsNode,
|
|
88
87
|
ipfsGateway: this.ipfsGateway,
|
|
89
|
-
|
|
88
|
+
dappAddress: this.dappAddress,
|
|
90
89
|
});
|
|
91
90
|
}
|
|
92
91
|
async sendEmailCampaign(args) {
|
|
@@ -94,7 +93,7 @@ export class IExecWeb3mail {
|
|
|
94
93
|
await isValidProvider(this.iexec);
|
|
95
94
|
return sendEmailCampaign({
|
|
96
95
|
...args,
|
|
97
|
-
|
|
96
|
+
workerpoolAddress: args.workerpoolAddress || this.defaultWorkerpool,
|
|
98
97
|
dataProtector: this.dataProtector,
|
|
99
98
|
});
|
|
100
99
|
}
|
|
@@ -117,7 +116,7 @@ export class IExecWeb3mail {
|
|
|
117
116
|
}
|
|
118
117
|
const subgraphUrl = this.options?.dataProtectorSubgraph ||
|
|
119
118
|
chainDefaultConfig?.dataProtectorSubgraph;
|
|
120
|
-
const
|
|
119
|
+
const dappAddress = this.options?.dappAddress ||
|
|
121
120
|
chainDefaultConfig?.dappAddress ||
|
|
122
121
|
(await resolveDappAddressFromCompass(await iexec.config.resolveCompassURL(), chainId));
|
|
123
122
|
const dappWhitelistAddress = this.options?.dappWhitelistAddress ||
|
|
@@ -127,7 +126,7 @@ export class IExecWeb3mail {
|
|
|
127
126
|
const missing = [];
|
|
128
127
|
if (!subgraphUrl)
|
|
129
128
|
missing.push('dataProtectorSubgraph');
|
|
130
|
-
if (!
|
|
129
|
+
if (!dappAddress)
|
|
131
130
|
missing.push('dappAddress');
|
|
132
131
|
if (!dappWhitelistAddress)
|
|
133
132
|
missing.push('whitelistSmartContract');
|
|
@@ -157,7 +156,7 @@ export class IExecWeb3mail {
|
|
|
157
156
|
subgraphUrl,
|
|
158
157
|
});
|
|
159
158
|
return {
|
|
160
|
-
|
|
159
|
+
dappAddress,
|
|
161
160
|
dappWhitelistAddress: dappWhitelistAddress.toLowerCase(),
|
|
162
161
|
defaultWorkerpool,
|
|
163
162
|
graphQLClient,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IExecWeb3mail.js","sourceRoot":"","sources":["../../src/web3mail/IExecWeb3mail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAe3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAoB1F,MAAM,OAAO,aAAa;IAChB,
|
|
1
|
+
{"version":3,"file":"IExecWeb3mail.js","sourceRoot":"","sources":["../../src/web3mail/IExecWeb3mail.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { DappAddressConsumer, DappWhitelistAddressConsumer, IExecConsumer, SubgraphConsumer } from './internalTypes.js';
|
|
2
2
|
import { Contact, FetchMyContactsParams } from './types.js';
|
|
3
3
|
export type FetchMyContacts = typeof fetchMyContacts;
|
|
4
|
-
export declare const fetchMyContacts: ({ graphQLClient, iexec,
|
|
4
|
+
export declare const fetchMyContacts: ({ graphQLClient, iexec, dappAddress, dappWhitelistAddress, isUserStrict, bulkOnly, }: IExecConsumer & SubgraphConsumer & DappAddressConsumer & DappWhitelistAddressConsumer & FetchMyContactsParams) => Promise<Contact[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { booleanSchema, throwIfMissing } from '../utils/validators.js';
|
|
2
2
|
import { fetchUserContacts } from './fetchUserContacts.js';
|
|
3
|
-
export const fetchMyContacts = async ({ graphQLClient = throwIfMissing(), iexec = throwIfMissing(),
|
|
3
|
+
export const fetchMyContacts = async ({ graphQLClient = throwIfMissing(), iexec = throwIfMissing(), dappAddress = throwIfMissing(), dappWhitelistAddress = throwIfMissing(), isUserStrict = false, bulkOnly = false, }) => {
|
|
4
4
|
const vIsUserStrict = booleanSchema()
|
|
5
5
|
.label('isUserStrict')
|
|
6
6
|
.validateSync(isUserStrict);
|
|
@@ -9,7 +9,7 @@ export const fetchMyContacts = async ({ graphQLClient = throwIfMissing(), iexec
|
|
|
9
9
|
return fetchUserContacts({
|
|
10
10
|
iexec,
|
|
11
11
|
graphQLClient,
|
|
12
|
-
|
|
12
|
+
dappAddress,
|
|
13
13
|
dappWhitelistAddress,
|
|
14
14
|
userAddress,
|
|
15
15
|
isUserStrict: vIsUserStrict,
|
|
@@ -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;AAW3D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,aAAa,GAAG,cAAc,EAAE,EAChC,KAAK,GAAG,cAAc,EAAE,EACxB,
|
|
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,WAAW,GAAG,cAAc,EAAE,EAC9B,oBAAoB,GAAG,cAAc,EAAE,EACvC,YAAY,GAAG,KAAK,EACpB,QAAQ,GAAG,KAAK,GAKK,EAAsB,EAAE;IAC7C,MAAM,aAAa,GAAG,aAAa,EAAE;SAClC,KAAK,CAAC,cAAc,CAAC;SACrB,YAAY,CAAC,YAAY,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAE3E,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACpD,OAAO,iBAAiB,CAAC;QACvB,KAAK;QACL,aAAa;QACb,WAAW;QACX,oBAAoB;QACpB,WAAW;QACX,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Contact, FetchUserContactsParams } from './types.js';
|
|
2
2
|
import { DappAddressConsumer, DappWhitelistAddressConsumer, IExecConsumer, SubgraphConsumer } from './internalTypes.js';
|
|
3
|
-
export declare const fetchUserContacts: ({ graphQLClient, iexec,
|
|
3
|
+
export declare const fetchUserContacts: ({ graphQLClient, iexec, dappAddress, dappWhitelistAddress, userAddress, isUserStrict, bulkOnly, }: IExecConsumer & SubgraphConsumer & DappAddressConsumer & DappWhitelistAddressConsumer & FetchUserContactsParams) => Promise<Contact[]>;
|
|
@@ -3,30 +3,30 @@ import { ANY_DATASET_ADDRESS } from '../config/config.js';
|
|
|
3
3
|
import { handleIfProtocolError, WorkflowError } from '../utils/errors.js';
|
|
4
4
|
import { autoPaginateRequest } from '../utils/paginate.js';
|
|
5
5
|
import { getValidContact } from '../utils/subgraphQuery.js';
|
|
6
|
-
import {
|
|
7
|
-
export const fetchUserContacts = async ({ graphQLClient = throwIfMissing(), iexec = throwIfMissing(),
|
|
8
|
-
const vDappAddressOrENS = addressOrEnsSchema()
|
|
9
|
-
.required()
|
|
10
|
-
.label('dappAddressOrENS')
|
|
11
|
-
.validateSync(dappAddressOrENS);
|
|
12
|
-
const vDappWhitelistAddress = addressSchema()
|
|
13
|
-
.required()
|
|
14
|
-
.label('dappWhitelistAddress')
|
|
15
|
-
.validateSync(dappWhitelistAddress);
|
|
16
|
-
const vUserAddress = addressOrEnsSchema()
|
|
17
|
-
.required()
|
|
18
|
-
.label('userAddress')
|
|
19
|
-
.validateSync(userAddress);
|
|
20
|
-
const vIsUserStrict = booleanSchema()
|
|
21
|
-
.label('isUserStrict')
|
|
22
|
-
.validateSync(isUserStrict);
|
|
23
|
-
const vBulkOnly = booleanSchema().label('bulkOnly').validateSync(bulkOnly);
|
|
6
|
+
import { addressSchema, booleanSchema, throwIfMissing, } from '../utils/validators.js';
|
|
7
|
+
export const fetchUserContacts = async ({ graphQLClient = throwIfMissing(), iexec = throwIfMissing(), dappAddress = throwIfMissing(), dappWhitelistAddress = throwIfMissing(), userAddress, isUserStrict = false, bulkOnly = false, }) => {
|
|
24
8
|
try {
|
|
9
|
+
const address = addressSchema()
|
|
10
|
+
.required()
|
|
11
|
+
.label('dappAddress')
|
|
12
|
+
.validateSync(dappAddress);
|
|
13
|
+
const vDappWhitelistAddress = addressSchema()
|
|
14
|
+
.required()
|
|
15
|
+
.label('dappWhitelistAddress')
|
|
16
|
+
.validateSync(dappWhitelistAddress);
|
|
17
|
+
const vUserAddress = addressSchema()
|
|
18
|
+
.required()
|
|
19
|
+
.label('userAddress')
|
|
20
|
+
.validateSync(userAddress);
|
|
21
|
+
const vIsUserStrict = booleanSchema()
|
|
22
|
+
.label('isUserStrict')
|
|
23
|
+
.validateSync(isUserStrict);
|
|
24
|
+
const vBulkOnly = booleanSchema().label('bulkOnly').validateSync(bulkOnly);
|
|
25
25
|
const [dappOrders, whitelistOrders] = await Promise.all([
|
|
26
26
|
fetchAllOrdersByApp({
|
|
27
27
|
iexec,
|
|
28
28
|
userAddress: vUserAddress,
|
|
29
|
-
appAddress:
|
|
29
|
+
appAddress: address,
|
|
30
30
|
isUserStrict: vIsUserStrict,
|
|
31
31
|
bulkOnly: vBulkOnly,
|
|
32
32
|
}),
|
|
@@ -40,13 +40,8 @@ export const fetchUserContacts = async ({ graphQLClient = throwIfMissing(), iexe
|
|
|
40
40
|
]);
|
|
41
41
|
const orders = dappOrders.concat(whitelistOrders);
|
|
42
42
|
const myContacts = [];
|
|
43
|
-
let web3DappResolvedAddress = vDappAddressOrENS;
|
|
44
|
-
if (isEnsTest(vDappAddressOrENS)) {
|
|
45
|
-
web3DappResolvedAddress = await iexec.ens.resolveName(vDappAddressOrENS);
|
|
46
|
-
}
|
|
47
43
|
orders.forEach((order) => {
|
|
48
|
-
if (order.order.apprestrict.toLowerCase() ===
|
|
49
|
-
web3DappResolvedAddress.toLowerCase() ||
|
|
44
|
+
if (order.order.apprestrict.toLowerCase() === address.toLowerCase() ||
|
|
50
45
|
order.order.apprestrict.toLowerCase() ===
|
|
51
46
|
vDappWhitelistAddress.toLowerCase()) {
|
|
52
47
|
const contact = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUserContacts.js","sourceRoot":"","sources":["../../src/web3mail/fetchUserContacts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"fetchUserContacts.js","sourceRoot":"","sources":["../../src/web3mail/fetchUserContacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IExec } from 'iexec';
|
|
2
2
|
import { IExecDataProtectorCore } from '@iexec/dataprotector';
|
|
3
|
-
import {
|
|
3
|
+
import { Address } from './types.js';
|
|
4
4
|
import { GraphQLClient } from 'graphql-request';
|
|
5
5
|
export type ProtectedDataQuery = {
|
|
6
6
|
id: string;
|
|
@@ -10,7 +10,7 @@ export type GraphQLResponse = {
|
|
|
10
10
|
protectedDatas: ProtectedDataQuery[];
|
|
11
11
|
};
|
|
12
12
|
export type DappAddressConsumer = {
|
|
13
|
-
|
|
13
|
+
dappAddress: Address;
|
|
14
14
|
};
|
|
15
15
|
export type IpfsNodeConfigConsumer = {
|
|
16
16
|
ipfsNode: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { PrepareEmailCampaignParams, PrepareEmailCampaignResponse } from './types.js';
|
|
2
2
|
import { DappAddressConsumer, DataProtectorConsumer, IExecConsumer, IpfsGatewayConfigConsumer, IpfsNodeConfigConsumer } from './internalTypes.js';
|
|
3
3
|
export type PrepareEmailCampaign = typeof prepareEmailCampaign;
|
|
4
|
-
export declare const prepareEmailCampaign: ({ iexec, dataProtector,
|
|
4
|
+
export declare const prepareEmailCampaign: ({ iexec, dataProtector, workerpoolAddress, dappAddress, ipfsNode, ipfsGateway, senderName, emailSubject, emailContent, contentType, label, appMaxPrice, workerpoolMaxPrice, grantedAccesses, maxProtectedDataPerTask, }: IExecConsumer & DappAddressConsumer & IpfsNodeConfigConsumer & IpfsGatewayConfigConsumer & DataProtectorConsumer & PrepareEmailCampaignParams) => Promise<PrepareEmailCampaignResponse>;
|
|
@@ -2,12 +2,12 @@ import { Buffer } from 'buffer';
|
|
|
2
2
|
import { DEFAULT_CONTENT_TYPE, MAX_DESIRED_APP_ORDER_PRICE, MAX_DESIRED_WORKERPOOL_ORDER_PRICE, } from '../config/config.js';
|
|
3
3
|
import { handleIfProtocolError, WorkflowError } from '../utils/errors.js';
|
|
4
4
|
import * as ipfs from '../utils/ipfs-service.js';
|
|
5
|
-
import {
|
|
6
|
-
export const prepareEmailCampaign = async ({ iexec = throwIfMissing(), dataProtector = throwIfMissing(),
|
|
5
|
+
import { addressSchema, contentTypeSchema, emailContentSchema, emailSubjectSchema, labelSchema, positiveNumberSchema, senderNameSchema, throwIfMissing, } from '../utils/validators.js';
|
|
6
|
+
export const prepareEmailCampaign = async ({ iexec = throwIfMissing(), dataProtector = throwIfMissing(), workerpoolAddress, dappAddress, ipfsNode, ipfsGateway, senderName, emailSubject, emailContent, contentType = DEFAULT_CONTENT_TYPE, label, appMaxPrice = MAX_DESIRED_APP_ORDER_PRICE, workerpoolMaxPrice = MAX_DESIRED_WORKERPOOL_ORDER_PRICE, grantedAccesses, maxProtectedDataPerTask, }) => {
|
|
7
7
|
try {
|
|
8
|
-
const
|
|
9
|
-
.label('
|
|
10
|
-
.validateSync(
|
|
8
|
+
const vWorkerpoolAddress = addressSchema()
|
|
9
|
+
.label('workerpoolAddress')
|
|
10
|
+
.validateSync(workerpoolAddress);
|
|
11
11
|
const vSenderName = senderNameSchema()
|
|
12
12
|
.label('senderName')
|
|
13
13
|
.validateSync(senderName);
|
|
@@ -23,10 +23,10 @@ export const prepareEmailCampaign = async ({ iexec = throwIfMissing(), dataProte
|
|
|
23
23
|
.label('contentType')
|
|
24
24
|
.validateSync(contentType);
|
|
25
25
|
const vLabel = labelSchema().label('label').validateSync(label);
|
|
26
|
-
const
|
|
26
|
+
const vDappAddress = addressSchema()
|
|
27
27
|
.required()
|
|
28
|
-
.label('
|
|
29
|
-
.validateSync(
|
|
28
|
+
.label('dappAddress')
|
|
29
|
+
.validateSync(dappAddress);
|
|
30
30
|
const vAppMaxPrice = positiveNumberSchema()
|
|
31
31
|
.label('appMaxPrice')
|
|
32
32
|
.validateSync(appMaxPrice);
|
|
@@ -76,10 +76,10 @@ export const prepareEmailCampaign = async ({ iexec = throwIfMissing(), dataProte
|
|
|
76
76
|
};
|
|
77
77
|
// TODO: end factor this
|
|
78
78
|
const { bulkRequest: campaignRequest } = await dataProtector.prepareBulkRequest({
|
|
79
|
-
app:
|
|
79
|
+
app: vDappAddress,
|
|
80
80
|
appMaxPrice: vAppMaxPrice,
|
|
81
81
|
workerpoolMaxPrice: vWorkerpoolMaxPrice,
|
|
82
|
-
workerpool:
|
|
82
|
+
workerpool: vWorkerpoolAddress,
|
|
83
83
|
args: vLabel,
|
|
84
84
|
inputFiles: [],
|
|
85
85
|
secrets,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareEmailCampaign.js","sourceRoot":"","sources":["../../src/web3mail/prepareEmailCampaign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAC;AACjD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"prepareEmailCampaign.js","sourceRoot":"","sources":["../../src/web3mail/prepareEmailCampaign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAC;AACjD,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAehC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,KAAK,GAAG,cAAc,EAAE,EACxB,aAAa,GAAG,cAAc,EAAE,EAChC,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,GAAG,oBAAoB,EAClC,KAAK,EACL,WAAW,GAAG,2BAA2B,EACzC,kBAAkB,GAAG,kCAAkC,EACvD,eAAe,EACf,uBAAuB,GAMG,EAAyC,EAAE;IACrE,IAAI,CAAC;QACH,MAAM,kBAAkB,GAAG,aAAa,EAAE;aACvC,KAAK,CAAC,mBAAmB,CAAC;aAC1B,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAEnC,MAAM,WAAW,GAAG,gBAAgB,EAAE;aACnC,KAAK,CAAC,YAAY,CAAC;aACnB,YAAY,CAAC,UAAU,CAAC,CAAC;QAE5B,MAAM,aAAa,GAAG,kBAAkB,EAAE;aACvC,QAAQ,EAAE;aACV,KAAK,CAAC,cAAc,CAAC;aACrB,YAAY,CAAC,YAAY,CAAC,CAAC;QAE9B,MAAM,aAAa,GAAG,kBAAkB,EAAE;aACvC,QAAQ,EAAE;aACV,KAAK,CAAC,cAAc,CAAC;aACrB,YAAY,CAAC,YAAY,CAAC,CAAC;QAE9B,MAAM,YAAY,GAAG,iBAAiB,EAAE;aACrC,KAAK,CAAC,aAAa,CAAC;aACpB,YAAY,CAAC,WAAW,CAAC,CAAC;QAE7B,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAG,aAAa,EAAE;aACjC,QAAQ,EAAE;aACV,KAAK,CAAC,aAAa,CAAC;aACpB,YAAY,CAAC,WAAW,CAAC,CAAC;QAE7B,MAAM,YAAY,GAAG,oBAAoB,EAAE;aACxC,KAAK,CAAC,aAAa,CAAC;aACpB,YAAY,CAAC,WAAW,CAAC,CAAC;QAE7B,MAAM,mBAAmB,GAAG,oBAAoB,EAAE;aAC/C,KAAK,CAAC,oBAAoB,CAAC;aAC3B,YAAY,CAAC,kBAAkB,CAAC,CAAC;QAEpC,MAAM,wBAAwB,GAAG,oBAAoB,EAAE;aACpD,KAAK,CAAC,yBAAyB,CAAC;aAChC,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAEzC,oBAAoB;QACpB,wBAAwB;QACxB,MAAM,yBAAyB,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QACxE,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,OAAO;aACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,yBAAyB,CAAC;aACtE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,MAAM,IAAI,aAAa,CAAC;gBACtB,OAAO,EAAE,iCAAiC;gBAC1C,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,6BAA6B;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI;aACnB,GAAG,CAAC,aAAa,EAAE;YAClB,QAAQ;YACR,WAAW;SACZ,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,MAAM,IAAI,aAAa,CAAC;gBACtB,OAAO,EAAE,0CAA0C;gBACnD,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,MAAM,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC;QAEjC,oCAAoC;QACpC,0DAA0D;QAC1D,mDAAmD;QACnD,MAAM,iBAAiB,GAAG,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG;YACd,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;gBAClC,YAAY,EAAE,aAAa;gBAC3B,qBAAqB,EAAE,SAAS;gBAChC,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE,WAAW;gBACvB,yBAAyB;gBACzB,WAAW,EAAE,IAAI;aAClB,CAAC;SACH,CAAC;QAEF,wBAAwB;QACxB,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GACpC,MAAM,aAAa,CAAC,kBAAkB,CAAC;YACrC,GAAG,EAAE,YAAY;YACjB,WAAW,EAAE,YAAY;YACzB,kBAAkB,EAAE,mBAAmB;YACvC,UAAU,EAAE,kBAAkB;YAC9B,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,EAAE;YACd,OAAO;YACP,YAAY,EAAE,eAAe;YAC7B,uBAAuB,EAAE,wBAAwB;SAClD,CAAC,CAAC;QAEL,OAAO,EAAE,eAAe,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6CAA6C;QAC7C,IAAK,KAAa,EAAE,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC;QACd,CAAC;QAED,mEAAmE;QACnE,+FAA+F;QAC/F,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE7B,uBAAuB;QACvB,MAAM,IAAI,aAAa,CAAC;YACtB,OAAO,EAAE,gCAAgC;YACzC,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { SendEmailParams, SendEmailResponse } from './types.js';
|
|
2
2
|
import { DappAddressConsumer, DappWhitelistAddressConsumer, IExecConsumer, IpfsGatewayConfigConsumer, IpfsNodeConfigConsumer, SubgraphConsumer } from './internalTypes.js';
|
|
3
3
|
export type SendEmail = typeof sendEmail;
|
|
4
|
-
export declare const sendEmail: ({ graphQLClient, iexec,
|
|
4
|
+
export declare const sendEmail: ({ graphQLClient, iexec, workerpoolAddress, dappAddress, dappWhitelistAddress, ipfsNode, ipfsGateway, emailSubject, emailContent, contentType, label, dataMaxPrice, appMaxPrice, workerpoolMaxPrice, senderName, protectedData, }: IExecConsumer & SubgraphConsumer & DappAddressConsumer & DappWhitelistAddressConsumer & IpfsNodeConfigConsumer & IpfsGatewayConfigConsumer & SendEmailParams) => Promise<SendEmailResponse>;
|