Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
536 changes: 14 additions & 522 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
"dependencies": {
"@iexec/dataprotector": "^2.0.0-beta.27",
"@iexec/dataprotector-deserializer": "^0.1.1",
"@iexec/web3mail": "^1.7.1",
"@iexec/web3telegram": "^0.1.0-alpha.9",
"@iexec/web3mail": "^2.0.1",
"@iexec/web3telegram": "^1.0.0-alpha.12",
"@reown/appkit": "^1.7.17",
"@reown/appkit-adapter-wagmi": "^1.7.17",
"@tailwindcss/vite": "^4.1.11",
Expand Down
6 changes: 3 additions & 3 deletions src/guides/manage-data/manage-access.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,14 +117,14 @@ import { type GrantAccessParams } from '@iexec/dataprotector';

#### protectedData <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The ethereum address of the protected data supplied by the user (returned when
you created it). **You must own this data** to grant access.

#### authorizedApp <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

**What it is**: The iApp address that's allowed to process your data inside the
TDX Trust Domain.
Expand All @@ -147,7 +147,7 @@ authorizedApp: {{web3MailAppWhitelist}}; // Web3Mail whitelist

#### authorizedUser <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

**What it is**: The wallet address of the user that is allowed to process this
data.
Expand Down
4 changes: 2 additions & 2 deletions src/guides/use-iapp/integrate-web3-messaging.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ Send a message to a single recipient:
```ts twoslash [Web3Mail - Single]
import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const web3Provider = getWeb3Provider('PRIVATE_KEY', 'RPC_URL');
const web3mail = new IExecWeb3mail(web3Provider);

const sendEmail = await web3mail.sendEmail({
Expand All @@ -133,7 +133,7 @@ const sendEmail = await web3mail.sendEmail({
```ts twoslash [Web3Telegram - Single]
import { IExecWeb3telegram, getWeb3Provider } from '@iexec/web3telegram';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const web3Provider = getWeb3Provider('PRIVATE_KEY', 'RPC_URL');
const web3telegram = new IExecWeb3telegram(web3Provider);

const sendTelegram = await web3telegram.sendTelegram({
Expand Down
7 changes: 3 additions & 4 deletions src/references/dataProtector/advanced-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,10 @@

### dataprotectorContractAddress

`AddressOrENS`
`Address`

The Ethereum contract address or ENS (Ethereum Name Service) for dataProtector
smart contract. If not provided, the default dataProtector contract address will
be used.
The Ethereum contract address for dataProtector smart contract. If not provided,

Check failure on line 30 in src/references/dataProtector/advanced-configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/advanced-configuration.md#L30

[Vale.Terms] Use 'ethereum' instead of 'Ethereum'.
Raw output
{"message": "[Vale.Terms] Use 'ethereum' instead of 'Ethereum'.", "location": {"path": "src/references/dataProtector/advanced-configuration.md", "range": {"start": {"line": 30, "column": 5}}}, "severity": "ERROR"}

Check failure on line 30 in src/references/dataProtector/advanced-configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/advanced-configuration.md#L30

[Vale.Terms] Use 'DataProtector' instead of 'dataProtector'.
Raw output
{"message": "[Vale.Terms] Use 'DataProtector' instead of 'dataProtector'.", "location": {"path": "src/references/dataProtector/advanced-configuration.md", "range": {"start": {"line": 30, "column": 35}}}, "severity": "ERROR"}
the default dataProtector contract address will be used.

Check failure on line 31 in src/references/dataProtector/advanced-configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/advanced-configuration.md#L31

[Vale.Terms] Use 'DataProtector' instead of 'dataProtector'.
Raw output
{"message": "[Vale.Terms] Use 'DataProtector' instead of 'dataProtector'.", "location": {"path": "src/references/dataProtector/advanced-configuration.md", "range": {"start": {"line": 31, "column": 13}}}, "severity": "ERROR"}

Check warning on line 31 in src/references/dataProtector/advanced-configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/advanced-configuration.md#L31

[Google.Will] Avoid using 'will'.
Raw output
{"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "src/references/dataProtector/advanced-configuration.md", "range": {"start": {"line": 31, "column": 44}}}, "severity": "WARNING"}

Check notice on line 31 in src/references/dataProtector/advanced-configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/advanced-configuration.md#L31

[Google.Passive] In general, use active voice instead of passive voice ('be used').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('be used').", "location": {"path": "src/references/dataProtector/advanced-configuration.md", "range": {"start": {"line": 31, "column": 49}}}, "severity": "INFO"}

```ts twoslash
import { IExecDataProtector, getWeb3Provider } from '@iexec/dataprotector';
Expand Down
24 changes: 10 additions & 14 deletions src/references/dataProtector/methods/getGrantedAccess.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
## Usage

The request object is a JSON `GetGrantedAccessParams` object. Each address in
the object is a string representation of an ethereum address or ENS name
(Ethereum Name Service) reference.
the object is a string representation of an ethereum address.

```ts twoslash
import { IExecDataProtectorCore, getWeb3Provider } from '@iexec/dataprotector';
Expand All @@ -41,12 +40,11 @@

### protectedData <OptionalBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

Address of the protected data object for which you are querying access
authorization grants. It's a representation of ethereum address or ENS name
(Ethereum Name Service). If no address is specified, it will return all granted
access for any protected data.
authorization grants. It's a string representation of an ethereum address. If no
address is specified, it will return all granted access for any protected data.

Check notice on line 47 in src/references/dataProtector/methods/getGrantedAccess.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/getGrantedAccess.md#L47

[Google.Passive] In general, use active voice instead of passive voice ('is specified').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is specified').", "location": {"path": "src/references/dataProtector/methods/getGrantedAccess.md", "range": {"start": {"line": 47, "column": 9}}}, "severity": "INFO"}

Check warning on line 47 in src/references/dataProtector/methods/getGrantedAccess.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/getGrantedAccess.md#L47

[Google.Will] Avoid using 'will'.
Raw output
{"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "src/references/dataProtector/methods/getGrantedAccess.md", "range": {"start": {"line": 47, "column": 26}}}, "severity": "WARNING"}

**Usage example:**

Expand All @@ -63,12 +61,11 @@

### authorizedApp <OptionalBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

Optional filter to restrict the results to include only authorizations for the
specified application. It's a representation of ethereum address or ENS name
(Ethereum Name Service). If no address is specified, it will return all granted
access for any application.
specified application. It's a string representation of an ethereum address. If

Check warning on line 67 in src/references/dataProtector/methods/getGrantedAccess.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/getGrantedAccess.md#L67

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/references/dataProtector/methods/getGrantedAccess.md", "range": {"start": {"line": 67, "column": 11}}}, "severity": "WARNING"}
no address is specified, it will return all granted access for any application.

Check notice on line 68 in src/references/dataProtector/methods/getGrantedAccess.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/getGrantedAccess.md#L68

[Google.Passive] In general, use active voice instead of passive voice ('is specified').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is specified').", "location": {"path": "src/references/dataProtector/methods/getGrantedAccess.md", "range": {"start": {"line": 68, "column": 12}}}, "severity": "INFO"}

Check warning on line 68 in src/references/dataProtector/methods/getGrantedAccess.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/getGrantedAccess.md#L68

[Google.Will] Avoid using 'will'.
Raw output
{"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "src/references/dataProtector/methods/getGrantedAccess.md", "range": {"start": {"line": 68, "column": 29}}}, "severity": "WARNING"}

Check warning on line 68 in src/references/dataProtector/methods/getGrantedAccess.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/getGrantedAccess.md#L68

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/references/dataProtector/methods/getGrantedAccess.md", "range": {"start": {"line": 68, "column": 68}}}, "severity": "WARNING"}

**Usage example:**

Expand Down Expand Up @@ -97,12 +94,11 @@

### authorizedUser <OptionalBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

Optional filter to restrict the results to include only authorizations for the
specified user. It's a string representation of ethereum address or ENS name
(Ethereum Name Service). If no address is specified, it will return all granted
access for any user.
specified user. It's a string representation of an ethereum address. If no
address is specified, it will return all granted access for any user.

Check notice on line 101 in src/references/dataProtector/methods/getGrantedAccess.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/getGrantedAccess.md#L101

[Google.Passive] In general, use active voice instead of passive voice ('is specified').
Raw output
{"message": "[Google.Passive] In general, use active voice instead of passive voice ('is specified').", "location": {"path": "src/references/dataProtector/methods/getGrantedAccess.md", "range": {"start": {"line": 101, "column": 9}}}, "severity": "INFO"}

Check warning on line 101 in src/references/dataProtector/methods/getGrantedAccess.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/getGrantedAccess.md#L101

[Google.Will] Avoid using 'will'.
Raw output
{"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "src/references/dataProtector/methods/getGrantedAccess.md", "range": {"start": {"line": 101, "column": 26}}}, "severity": "WARNING"}

**Usage example:**

Expand Down
4 changes: 2 additions & 2 deletions src/references/dataProtector/methods/getProtectedData.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ import { type GetProtectedDataParams } from '@iexec/dataprotector';

### protectedDataAddress <OptionalBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

Returns the protected data associated with this address.
Returns an empty array if the protected data is not found.
Expand Down Expand Up @@ -104,7 +104,7 @@ Available types are listed

### owner <OptionalBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

Provides a list of protected data objects owned by the user with this ETH
address.
Expand Down
6 changes: 3 additions & 3 deletions src/references/dataProtector/methods/grantAccess.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ import { type GrantAccessParams } from '@iexec/dataprotector';

### protectedData <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The ethereum address of the protected data supplied by the user (returned when
you created it). **You must own this data** to grant access.
Expand All @@ -63,7 +63,7 @@ const grantedAccess = await dataProtectorCore.grantAccess({

### authorizedApp <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The address of the application you wish to authorize to process the
`protectedData` within a secure execution environment. You may specify either a
Expand Down Expand Up @@ -104,7 +104,7 @@ access once. The ETH address for this whitelist is **{{web3MailAppWhitelist}}**.

### authorizedUser <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The address of the user you wish to authorize to use the `protectedData`. Note
that these users may not view or manipulate the data. This only grants
Expand Down
8 changes: 4 additions & 4 deletions src/references/dataProtector/methods/prepareBulkRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@

### app <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The ETH address or Ethereum Name Service (ENS) address for the iExec application
that will process the protected data items in the bulk request.
The ETH address for the iExec application that will process the protected data

Check warning on line 114 in src/references/dataProtector/methods/prepareBulkRequest.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/prepareBulkRequest.md#L114

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/references/dataProtector/methods/prepareBulkRequest.md", "range": {"start": {"line": 114, "column": 31}}}, "severity": "WARNING"}

Check warning on line 114 in src/references/dataProtector/methods/prepareBulkRequest.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/prepareBulkRequest.md#L114

[Google.Will] Avoid using 'will'.
Raw output
{"message": "[Google.Will] Avoid using 'will'.", "location": {"path": "src/references/dataProtector/methods/prepareBulkRequest.md", "range": {"start": {"line": 114, "column": 48}}}, "severity": "WARNING"}
items in the bulk request.

```ts twoslash
import {
Expand Down Expand Up @@ -156,7 +156,7 @@

### workerpool <OptionalBadge />

**Type:** `AddressOrENS | 'any'`
**Type:** `Address | 'any'`
**Default:** `{{ workerpoolAddress }}`

It's the confidential computer on which the iExec application will run.
Expand Down
2 changes: 1 addition & 1 deletion src/references/dataProtector/methods/processBulkRequest.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ const { tasks } = await dataProtectorCore.processBulkRequest({

### workerpool <OptionalBadge />

**Type:** `AddressOrENS | 'any'`
**Type:** `Address | 'any'`
**Default:** `{{ workerpoolAddress }}`

It's the confidential computer on which the iExec application will run.
Expand Down
12 changes: 5 additions & 7 deletions src/references/dataProtector/methods/processProtectedData.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,9 @@

### protectedData <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The ETH address or Ethereum Name Service (ENS) reference for the protected data
you wish the `app` to process.
The ETH address for the protected data you wish the `app` to process.

```ts twoslash
import { IExecDataProtectorCore, getWeb3Provider } from '@iexec/dataprotector';
Expand All @@ -66,10 +65,9 @@

### app <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The ETH address or Ethereum Name Service (ENS) address for the iExec application
to process the protected data.
The ETH address for the iExec application to process the protected data.

Check warning on line 70 in src/references/dataProtector/methods/processProtectedData.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/dataProtector/methods/processProtectedData.md#L70

[Google.WordList] Use 'app' instead of 'application'.
Raw output
{"message": "[Google.WordList] Use 'app' instead of 'application'.", "location": {"path": "src/references/dataProtector/methods/processProtectedData.md", "range": {"start": {"line": 70, "column": 31}}}, "severity": "WARNING"}

```ts twoslash
import { IExecDataProtectorCore, getWeb3Provider } from '@iexec/dataprotector';
Expand Down Expand Up @@ -294,7 +292,7 @@

### workerpool <OptionalBadge />

**Type:** `AddressOrENS | 'any'`
**Type:** `Address | 'any'`
**Default:** `{{ workerpoolAddress }}`

It's the confidential computer on which the iExec application will run.
Expand Down
6 changes: 3 additions & 3 deletions src/references/dataProtector/methods/revokeAllAccess.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ import { type RevokeAllAccessParams } from '@iexec/dataprotector';

### protectedData <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The address of the `protectedData` subject to access revocation.

Expand All @@ -61,7 +61,7 @@ const revokeAllAccessResult = await dataProtectorCore.revokeAllAccess({

### authorizedApp <OptionalBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The application address to be removed from the authorization list for the
specified `protectedData`. If no address is specified, it will revoke all access
Expand All @@ -82,7 +82,7 @@ const revokeAllAccessResult = await dataProtectorCore.revokeAllAccess({

### authorizedUser <OptionalBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

The user address to be removed from the authorization list for the specified
`protectedData`. If no address is specified, it will revoke all access from the
Expand Down
6 changes: 3 additions & 3 deletions src/references/dataProtector/methods/transferOwnership.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import { type TransferParams } from '@iexec/dataprotector';

### protectedData <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

ETH address of the `protectedData` owned by you which is to be transferred to a
new owner.
Expand All @@ -60,7 +60,7 @@ const transferResponse = await dataProtectorCore.transferOwnership({

### newOwner <RequiredBadge />

**Type:** `AddressOrENS`
**Type:** `Address`

ETH address for the new owner for the `protectedData`.

Expand Down Expand Up @@ -93,7 +93,7 @@ The ETH address of the `protectedData` you transferred.

### to

`AddressOrENS`
`Address`

The ETH address of the new owner of the `protectedData`.

Expand Down
17 changes: 8 additions & 9 deletions src/references/web3mail/advanced-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,17 @@
import { type Web3MailConfigOptions } from '@iexec/web3mail';
```

### dappAddressOrENS
### dappAddress

Check warning on line 21 in src/references/web3mail/advanced-configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/web3mail/advanced-configuration.md#L21

[Google.Headings] 'dappAddress' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'dappAddress' should use sentence-style capitalization.", "location": {"path": "src/references/web3mail/advanced-configuration.md", "range": {"start": {"line": 21, "column": 5}}}, "severity": "WARNING"}

Check failure on line 21 in src/references/web3mail/advanced-configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/web3mail/advanced-configuration.md#L21

[Vale.Spelling] Did you really mean 'dappAddress'?
Raw output
{"message": "[Vale.Spelling] Did you really mean 'dappAddress'?", "location": {"path": "src/references/web3mail/advanced-configuration.md", "range": {"start": {"line": 21, "column": 5}}}, "severity": "ERROR"}

The Ethereum contract address or ENS (Ethereum Name Service) for the web3mail
iApp.
The Ethereum contract address for the web3mail iApp.

Check failure on line 23 in src/references/web3mail/advanced-configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] src/references/web3mail/advanced-configuration.md#L23

[Vale.Terms] Use 'ethereum' instead of 'Ethereum'.
Raw output
{"message": "[Vale.Terms] Use 'ethereum' instead of 'Ethereum'.", "location": {"path": "src/references/web3mail/advanced-configuration.md", "range": {"start": {"line": 23, "column": 5}}}, "severity": "ERROR"}

```ts twoslash
import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const web3Provider = getWeb3Provider('PRIVATE_KEY', 'RPC_URL');
// ---cut---
const web3mail = new IExecWeb3mail(web3Provider, {
dappAddressOrENS: '0x456def...', // [!code focus]
dappAddress: '0x456def...', // [!code focus]
});
```

Expand All @@ -45,7 +44,7 @@
```ts twoslash
import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const web3Provider = getWeb3Provider('PRIVATE_KEY', 'RPC_URL');
// ---cut---
const web3mail = new IExecWeb3mail(web3Provider, {
dappWhitelistAddress: '0x456def...', // [!code focus]
Expand All @@ -62,7 +61,7 @@
```ts twoslash
import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const web3Provider = getWeb3Provider('PRIVATE_KEY', 'RPC_URL');
// ---cut---
const web3mail = new IExecWeb3mail(web3Provider, {
dataProtectorSubgraph: 'subgraph-url', // [!code focus]
Expand All @@ -79,7 +78,7 @@
```ts twoslash
import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const web3Provider = getWeb3Provider('PRIVATE_KEY', 'RPC_URL');
// ---cut---
const web3mail = new IExecWeb3mail(web3Provider, {
ipfsNode: 'ipfs-node-url', // [!code focus]
Expand All @@ -97,7 +96,7 @@
```ts twoslash
import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const web3Provider = getWeb3Provider('PRIVATE_KEY', 'RPC_URL');
// ---cut---
const web3mail = new IExecWeb3mail(web3Provider, {
ipfsGateway: 'ipfs-gateway-url', // [!code focus]
Expand Down
6 changes: 3 additions & 3 deletions src/references/web3mail/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ const web3mail = new IExecWeb3mail(web3Provider);
import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail';

// get web3 provider from a private key
const web3Provider = getWeb3Provider('YOUR_PRIVATE_KEY');
const web3Provider = getWeb3Provider('YOUR_PRIVATE_KEY', 'RPC_URL');
// instantiate
const web3mail = new IExecWeb3mail(web3Provider);
```
Expand All @@ -90,14 +90,14 @@ without a Web3 provider.
import { IExecWeb3mail } from '@iexec/web3mail';

// instantiate
const web3mail = new IExecWeb3mail();
const web3mail = new IExecWeb3mail('RPC_URL');
```

```ts twoslash [NodeJS]
import { IExecWeb3mail, getWeb3Provider } from '@iexec/web3mail';

// instantiate
const web3mail = new IExecWeb3mail();
const web3mail = new IExecWeb3mail('RPC_URL');
```

:::
Expand Down
Loading
Loading