Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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
4 changes: 0 additions & 4 deletions .vitepress/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,6 @@ export function getSidebar() {
text: 'iExec Explorer',
link: '/get-started/tooling-and-explorers/iexec-explorer',
},
{
text: 'Builder Dashboard',
link: '/get-started/tooling-and-explorers/builder-dashboard',
},
{
text: 'RLC Bridge',
link: '/get-started/tooling-and-explorers/bridge',
Expand Down
1 change: 0 additions & 1 deletion .vitepress/theme/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ export default {
connectWallet: 'hw_connectWallet',
protectData: 'hw_protectData',
grantAccess: 'hw_grantAccess',
claimVoucher: 'hw_claimVoucher',
};

// Add a global click listener
Expand Down
1 change: 0 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,6 @@ To maintain consistency, use these parameter names:
- `appWhitelist`: '0xba46d6...'
- `owner`: '0xa0c15e...'
- `newOwner`: '0xc5e9f4...'
- `voucherOwner`: '0x5714eB...'
- `renterAddress`: '0x246bdf...'
- `subscriberAddress`: '0x246bdf...'
- `workerpool`: '0xa5de76...'
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ for input parameters:
- `appWhitelist`: '0xba46d6...',
- `owner`: '0xa0c15e...',
- `newOwner`: '0xc5e9f4...',
- `voucherOwner`: '0x5714eB...',
- `renterAddress`: '0x246bdf...'
- `subscriberAddress`: '0x246bdf...'
- `workerpool`: '0xa5de76...'
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
33 changes: 0 additions & 33 deletions src/get-started/helloWorld/5-bonusChapter.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,47 +41,14 @@ Community</a>** for support!

</Container>

<template v-if="selectedChain !== 42161 && selectedChain !== 421614">

## 🎁 Claim your Voucher

<div class="mb-6">
<h3 class="text-xl font-semibold mb-2">What is a Voucher?</h3>
<p>A Voucher is your all-in-one solution for iExec development to use iExec's technology, access to premium support, technical guidance and mentorship to help you build and monetize your projects. 🚀</p>
<p>Claim your <strong>$20 voucher</strong> to kickstart your development journey. Want to learn more about [Voucher](https://www.iex.ec/voucher) ? 🎁</p>
</div>

<div class="mb-6">
<p>Here's your unique coupon code based on your wallet address. You'll need to provide this code when claiming your voucher on Discord:</p>
<ClientOnly>
<CouponCode />
</ClientOnly>
</div>

<Button as="a" href="https://www.iex.ec/voucher" target="_blank" data-track="claimVoucher">
Claim your $20 voucher
</Button>

<br/>
<br/>

<Container variant="success">

Thank you for being part of the iExec journey! We can't wait to see what you'll
build next! 🚀

</Container>

</template>

<script setup>
import CouponCode from '@/modules/helloWorld/CouponCode.vue';
import Button from '@/components/ui/Button.vue';
import useUserStore from '@/stores/useUser.store';
import Banner from '../../components/Banner.vue'
import Container from '../../components/Container.vue'
import { computed } from 'vue';

const userStore = useUserStore();
const selectedChain = computed(() => userStore.getCurrentChainId());
</script>
151 changes: 0 additions & 151 deletions src/get-started/tooling-and-explorers/builder-dashboard.md

This file was deleted.

147 changes: 2 additions & 145 deletions src/guides/use-iapp/how-to-pay-executions.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,8 @@ and cost management strategies.

## Payment Methods Overview

iExec supports multiple payment methods for executing iApp:

1. **RLC Tokens**: Direct payment using RLC tokens
2. **Vouchers**: Pre-funded vouchers for simplified payment
3. **Mixed Payment**: Combination of RLC and vouchers
iExec uses RLC tokens for executing iApp. You need to have RLC in your wallet to
pay for executions.

## Paying with RLC Tokens

Expand Down Expand Up @@ -58,138 +55,6 @@ guide on
[running iApp with ProtectedData](/guides/use-iapp/run-iapp-with-ProtectedData.md)
for detailed execution steps.

## Paying with Vouchers <ChainNotSupportedBadge />

Vouchers are pre-funded payment instruments that simplify the payment process
and can be shared with others. They are ERC-20 tokens that represent pre-funded
computation credits on the iExec network and offer several advantages:
simplified payment (no need to manage RLC transfers), sharing capabilities (can
be shared with team members or users), budget control (set spending limits), and
automated top-up (can be configured to automatically refill).

### Step 1: Obtain a Voucher

- **Acquire Vouchers**: Obtain vouchers through the
[iExec Builder Dashboard](https://builder.iex.ec/). Note that the number of
Web3Mail executions and the expiration time of each voucher is restricted
based on its validity period. Refer to
[pricing documentation](https://www.iex.ec/voucher) for more information.
- **Support**: For specific limitations related to your voucher, please contact
iExec Support.

### Step 2: Use the Builder Dashboard

<ImageViewer
:image-url-dark="builderDashboardImage"
image-alt="Builder Dashboard Overview"
link-url="https://builder.iex.ec/"
caption="Access the Builder Dashboard"
/>

The iExec Builder Dashboard manages vouchers and resources with an intuitive
interface for:

- **Claiming Vouchers**: Builders can claim vouchers during the BUILD and EARN
stages.
- **Top-Up Vouchers**: Future updates will allow direct top-ups via the
dashboard. Currently, builders are redirected to Discord.
- **Checking Voucher Balance**: Track your voucher balance and usage history.

### Step 3: Grant Allowance (If Necessary)

Use [iExec SDK](/references/sdk.md) with `iexec.account.approve(voucherAddress)`
to authorize the voucher smart contract to debit your account if the voucher
balance is insufficient. This ensures that if the voucher alone doesn't cover
the execution cost, the remaining balance is automatically deducted from your
account.

For additional information on using RLC for fallback payment in Web3Mail, refer
to the **Using RLC with Web3Mail** section.

### Step 4: Use Voucher

::: code-group

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

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const web3mail = new IExecWeb3mail(web3Provider);
// ---cut---
const sendEmail = await web3mail.sendEmail({
protectedData: '0x123abc...',
emailSubject: 'My email subject',
emailContent: 'My email content',
useVoucher: true, // [!code focus]
});
```

```ts twoslash [Web3Telegram]
import { IExecWeb3telegram, getWeb3Provider } from '@iexec/web3telegram';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const web3telegram = new IExecWeb3telegram(web3Provider);
// ---cut---

const sendTelegram = await web3telegram.sendTelegram({
protectedData: '0x123abc...',
telegramContent: 'My telegram message content',
senderName: 'Awesome project team',
label: 'some-custom-id',
dataMaxPrice: 42,
appMaxPrice: 42,
workerpoolMaxPrice: 42,
useVoucher: true, // [!code focus]
});
```

```ts twoslash [Any iApp]
import { IExecDataProtectorCore, getWeb3Provider } from '@iexec/dataprotector';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const dataProtectorCore = new IExecDataProtectorCore(web3Provider);
// ---cut---
const result = await dataProtectorCore.processProtectedData({
protectedData: '0x123abc...',
app: '0x456def...',
useVoucher: true, // [!code focus]
});
```

:::

::: tip

If your voucher doesn't have enough RLC to cover the deal, the SDK will
automatically get the required amount to your iExec account. Ensure that your
voucher is authorized to access your iExec account and that your account has
sufficient funds for this transfer to proceed.

:::

### Step 4: Use Someone Else Voucher

```ts twoslash [Any iApp]
import { IExecDataProtectorCore, getWeb3Provider } from '@iexec/dataprotector';

const web3Provider = getWeb3Provider('PRIVATE_KEY');
const dataProtectorCore = new IExecDataProtectorCore(web3Provider);
// ---cut---
const result = await dataProtectorCore.processProtectedData({
protectedData: '0x123abc...',
app: '0x456def...',
useVoucher: true, // [!code focus]
voucherOwner: '0x5714eB...', // [!code focus]
});
```

::: warning

Make sure the voucher's owner has authorized you to use it. This parameter must
be used in combination with `useVoucher: true`.

:::

## Understanding Pricing

### Cost components
Expand Down Expand Up @@ -235,11 +100,3 @@ Now that you understand payment methods:
[Run iApp with ProtectedData](/guides/use-iapp/run-iapp-with-ProtectedData)
- Learn about
[Run iApp without ProtectedData](/guides/use-iapp/run-iapp-without-ProtectedData)

<script setup>
import ChainNotSupportedBadge from '@/components/ChainNotSupportedBadge.vue'
import ImageViewer from '@/components/ImageViewer.vue';

// Assets
import builderDashboardImage from '@/assets/tooling-&-explorers/builder-dashboard/builder-dashboard.png';
</script>
Loading
Loading