diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 616014d7..3aa45736 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -98,9 +98,9 @@ export default defineConfig({ themeConfig: { // https://vitepress.dev/reference/default-theme-config nav: [ - { text: 'Documentation', link: '/documentation/welcome' }, - { text: 'Guides', link: '/' }, - { text: 'References', link: '/' }, + { text: 'Get Started', link: '/get-started/welcome' }, + { text: 'Guides', link: '/guides/build-iapp/' }, + { text: 'References', link: '/references/dataProtector' }, { component: 'ChainSelector', props: { diff --git a/.vitepress/sidebar.ts b/.vitepress/sidebar.ts index 4c011d9c..e27784e4 100644 --- a/.vitepress/sidebar.ts +++ b/.vitepress/sidebar.ts @@ -2,577 +2,569 @@ import type { DefaultTheme } from 'vitepress'; export function getSidebar() { return { - '/documentation/': [ + '/get-started/': [ { text: 'GET STARTED', items: [ - { text: '💡 Welcome', link: '/documentation/welcome' }, + { text: '💡 Welcome', link: '/get-started/welcome' }, + { + text: '🛠️ Toolkit', + link: '/get-started/toolkit', + }, { text: '👋 Hello World', - link: '/documentation/helloWorld', + link: '/get-started/helloWorld', collapsed: true, items: [ { text: 'iExec Overview', - link: '/documentation/helloWorld/1-overview', + link: '/get-started/helloWorld/1-overview', }, { text: 'Protect Data', - link: '/documentation/helloWorld/2-protectData', + link: '/get-started/helloWorld/2-protectData', }, { text: 'Build iApp', - link: '/documentation/helloWorld/3-buildIApp', + link: '/get-started/helloWorld/3-buildIApp', }, { text: 'Manage Data Access', - link: '/documentation/helloWorld/4-manageDataAccess', + link: '/get-started/helloWorld/4-manageDataAccess', }, { text: 'Bonus Chapter !', - link: '/documentation/helloWorld/5-bonusChapter', + link: '/get-started/helloWorld/5-bonusChapter', }, ], }, { text: '🚀 Quick Start', - link: '/documentation/quick-start', + link: '/get-started/quick-start', }, { text: '📋 Use Cases', - link: '/documentation/use-cases', + link: '/get-started/use-cases', + }, + { + text: '🤖 Develop with AI', + link: '/get-started/develop-with-ai', + }, + ], + }, + { + text: 'iExec OVERVIEW', + items: [ + { + text: '❓ What is iExec ?', + link: '/get-started/overview/what-is-iexec', + }, + { + text: '❓ What is Protected Data ?', + link: '/get-started/overview/what-is-protected-data', + }, + { + text: '❓ What is an iApp ?', + link: '/get-started/overview/what-is-iapp', + }, + { + text: '❓ What is a Workerpool ?', + link: '/get-started/overview/what-is-workerpool', }, { text: '🪙 RLC Token', - link: '/documentation/rlc', + link: '/get-started/rlc', }, + ], + }, + { + text: 'TOOLING & EXPLORERS', + items: [ { - text: '🤖 Develop with AI', - link: '/documentation/develop-with-ai', + 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', + }, + { + text: 'Subgraph Explorer', + link: '/get-started/tooling-and-explorers/subgraph-explorer', + }, + { + text: 'Blockchain Explorer', + link: '/get-started/tooling-and-explorers/blockchain-explorer', }, ], }, + { + text: 'PROTOCOL', + items: [ + { + text: '🛡️ Proof of Contribution', + link: '/get-started/protocol/proof-of-contribution', + }, + { + text: '💸 Pay Per Task Model', + link: '/get-started/protocol/pay-per-task', + }, + { + text: '⚙️ Workers & Workerpools', + collapsed: true, + items: [ + { + text: '🚀 Worker Quick Start', + link: '/get-started/protocol/worker/quick-start', + }, + { + text: '🔒 Manage Workerpool Access', + link: '/get-started/protocol/worker/manage-access', + }, + ], + }, + ], + }, + ], + '/guides/': [ { text: 'PROTECT AND MANAGE DATA', items: [ { - text: '❓ What is Protected Data ?', - link: '/documentation/manage-data/what-is-protected-data', + text: 'Manage Access', + link: '/guides/manage-data/manage-access', + }, + { + text: 'Handle Schemas and Dataset Types', + link: '/guides/manage-data/handle-schemas-dataset-types', + }, + { + text: 'Monetize Protected Data', + link: '/guides/manage-data/monetize-protected-data', + }, + ], + }, + { + text: 'BUILD YOUR iAPP', + items: [ + { + text: 'Build and Deploy', + link: '/guides/build-iapp/build-&-deploy', + }, + { + text: 'Manage Access', + link: '/guides/build-iapp/manage-access', }, { - text: '📖 Guides', + text: 'Inputs and Outputs', + link: '/guides/build-iapp/inputs-and-outputs', + }, + { + text: 'Using TDX', + link: '/guides/build-iapp/using-tdx', + }, + { + text: 'How to Get and Decrypt Results', + link: '/guides/build-iapp/how-to-get-and-decrypt-results', + }, + { + text: 'Debugging', + link: '/guides/build-iapp/debugging', + }, + ], + }, + { + text: 'USE AN iAPP', + items: [ + { + text: '📝 Introduction', + link: '/guides/use-iapp/introduction', + }, + { + text: '🚀 Getting Started', + link: '/guides/use-iapp/getting-started', + }, + { + text: 'Different Ways to Execute an iApp', + link: '/guides/use-iapp/different-ways-to-execute', + }, + { + text: 'Add Inputs to the Execution', + link: '/guides/use-iapp/add-inputs-to-execution', + }, + { + text: 'Use iApp with Protected Data', + link: '/guides/use-iapp/use-iapp-with-protected-data', + }, + { + text: 'Find iApps to Use', + link: '/guides/use-iapp/find-iapps', + }, + { + text: 'How to Pay the Executions', + link: '/guides/use-iapp/how-to-pay-executions', + }, + { + text: '💰 How to Pay', collapsed: true, items: [ { - text: 'Manage Access', - link: '/documentation/manage-data/guides/manage-access', + text: 'How to Pay for Web3Mail', + link: '/guides/use-iapp/how-to-pay/how-to-pay-for-web3mail', }, { - text: 'Handle Schemas and Dataset Types', - link: '/documentation/manage-data/guides/handle-schemas-dataset-types', + text: 'How to Pay for Web3Telegram', + link: '/guides/use-iapp/how-to-pay/how-to-pay-for-web3telegram', }, { - text: 'Monetize Protected Data', - link: '/documentation/manage-data/guides/monetize-protected-data', + text: 'Pricing Considerations', + link: '/guides/use-iapp/how-to-pay/pricing-considerations', + }, + { + text: 'Voucher', + link: '/guides/use-iapp/how-to-pay/voucher', }, ], }, + ], + }, + ], + '/references/': [ + { + text: '🔐 DataProtector', + link: '/references/dataProtector', + collapsed: true, + items: [ { - text: '🔐 DataProtector', - link: '/documentation/manage-data/dataProtector', + text: 'Getting Started', + link: '/references/dataProtector/getting-started', + }, + { + text: 'DataProtector Core', + link: '/references/dataProtector/dataProtectorCore', collapsed: true, items: [ { - text: 'Getting Started', - link: '/documentation/manage-data/dataProtector/getting-started', + text: 'protectData', + link: '/references/dataProtector/dataProtectorCore/protectData', + }, + { + text: 'getProtectedData', + link: '/references/dataProtector/dataProtectorCore/getProtectedData', + }, + { + text: 'transferOwnership', + link: '/references/dataProtector/dataProtectorCore/transferOwnership', + }, + { + text: 'grantAccess', + link: '/references/dataProtector/dataProtectorCore/grantAccess', + }, + { + text: 'getGrantedAccess', + link: '/references/dataProtector/dataProtectorCore/getGrantedAccess', + }, + { + text: 'revokeOneAccess', + link: '/references/dataProtector/dataProtectorCore/revokeOneAccess', + }, + { + text: 'revokeAllAccess', + link: '/references/dataProtector/dataProtectorCore/revokeAllAccess', }, { - text: 'DataProtector Core', - link: '/documentation/manage-data/dataProtector/dataProtectorCore', + text: 'processProtectedData', + link: '/references/dataProtector/dataProtectorCore/processProtectedData', + }, + { + text: 'getResultFromCompletedTask', + link: '/references/dataProtector/dataProtectorCore/getResultFromCompletedTask', + }, + ], + }, + { + text: 'DataProtector Sharing', + link: '/references/dataProtector/dataProtectorSharing', + collapsed: true, + items: [ + { + text: 'Collection', + link: '/references/dataProtector/dataProtectorSharing/collection', collapsed: true, items: [ { - text: 'protectData', - link: '/documentation/manage-data/dataProtector/dataProtectorCore/protectData', + text: 'createCollection', + link: '/references/dataProtector/dataProtectorSharing/collection/createCollection', }, { - text: 'getProtectedData', - link: '/documentation/manage-data/dataProtector/dataProtectorCore/getProtectedData', + text: 'removeCollection', + link: '/references/dataProtector/dataProtectorSharing/collection/removeCollection', }, { - text: 'transferOwnership', - link: '/documentation/manage-data/dataProtector/dataProtectorCore/transferOwnership', + text: 'addToCollection', + link: '/references/dataProtector/dataProtectorSharing/collection/addToCollection', }, { - text: 'grantAccess', - link: '/documentation/manage-data/dataProtector/dataProtectorCore/grantAccess', - }, - { - text: 'getGrantedAccess', - link: '/documentation/manage-data/dataProtector/dataProtectorCore/getGrantedAccess', + text: 'removeProtectedDataFromCollection', + link: '/references/dataProtector/dataProtectorSharing/collection/removeProtectedDataFromCollection', }, + ], + }, + { + text: 'Renting', + link: '/references/dataProtector/dataProtectorSharing/renting', + collapsed: true, + items: [ { - text: 'revokeOneAccess', - link: '/documentation/manage-data/dataProtector/dataProtectorCore/revokeOneAccess', + text: 'setProtectedDataToRenting', + link: '/references/dataProtector/dataProtectorSharing/renting/setProtectedDataToRenting', }, { - text: 'revokeAllAccess', - link: '/documentation/manage-data/dataProtector/dataProtectorCore/revokeAllAccess', + text: 'setProtectedDataRentingParams', + link: '/references/dataProtector/dataProtectorSharing/renting/setProtectedDataRentingParams', }, { - text: 'processProtectedData', - link: '/documentation/manage-data/dataProtector/dataProtectorCore/processProtectedData', + text: 'rentProtectedData', + link: '/references/dataProtector/dataProtectorSharing/renting/rentProtectedData', }, { - text: 'getResultFromCompletedTask', - link: '/documentation/manage-data/dataProtector/dataProtectorCore/getResultFromCompletedTask', + text: 'removeProtectedDataFromRenting', + link: '/references/dataProtector/dataProtectorSharing/renting/removeProtectedDataFromRenting', }, ], }, { - text: 'DataProtector Sharing', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing', + text: 'Selling', + link: '/references/dataProtector/dataProtectorSharing/selling', collapsed: true, items: [ { - text: 'Collection', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/collection', - collapsed: true, - items: [ - { - text: 'createCollection', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/collection/createCollection', - }, - { - text: 'removeCollection', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/collection/removeCollection', - }, - { - text: 'addToCollection', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/collection/addToCollection', - }, - { - text: 'removeProtectedDataFromCollection', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/collection/removeProtectedDataFromCollection', - }, - ], + text: 'setProtectedDataForSale', + link: '/references/dataProtector/dataProtectorSharing/selling/setProtectedDataForSale', + }, + { + text: 'buyProtectedData', + link: '/references/dataProtector/dataProtectorSharing/selling/buyProtectedData', }, { - text: 'Renting', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/renting', - collapsed: true, - items: [ - { - text: 'setProtectedDataToRenting', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/renting/setProtectedDataToRenting', - }, - { - text: 'setProtectedDataRentingParams', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/renting/setProtectedDataRentingParams', - }, - { - text: 'rentProtectedData', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/renting/rentProtectedData', - }, - { - text: 'removeProtectedDataFromRenting', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/renting/removeProtectedDataFromRenting', - }, - ], + text: 'removeProtectedDataForSale', + link: '/references/dataProtector/dataProtectorSharing/selling/removeProtectedDataForSale', }, + ], + }, + { + text: 'Subscription', + link: '/references/dataProtector/dataProtectorSharing/subscription', + collapsed: true, + items: [ { - text: 'Selling', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/selling', - collapsed: true, - items: [ - { - text: 'setProtectedDataForSale', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/selling/setProtectedDataForSale', - }, - { - text: 'buyProtectedData', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/selling/buyProtectedData', - }, - { - text: 'removeProtectedDataForSale', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/selling/removeProtectedDataForSale', - }, - ], + text: 'setProtectedDataToSubscription', + link: '/references/dataProtector/dataProtectorSharing/subscription/setProtectedDataToSubscription', }, { - text: 'Subscription', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/subscription', - collapsed: true, - items: [ - { - text: 'setProtectedDataToSubscription', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/subscription/setProtectedDataToSubscription', - }, - { - text: 'setSubscriptionParams', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/subscription/setSubscriptionParams', - }, - { - text: 'subscribeToCollection', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/subscription/subscribeToCollection', - }, - { - text: 'removeProtectedDataFromSubscription', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/subscription/removeProtectedDataFromSubscription', - }, - ], + text: 'setSubscriptionParams', + link: '/references/dataProtector/dataProtectorSharing/subscription/setSubscriptionParams', }, { - text: 'Consume', - collapsed: true, - items: [ - { - text: 'consumeProtectedData', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/consume/consumeProtectedData', - }, - ], + text: 'subscribeToCollection', + link: '/references/dataProtector/dataProtectorSharing/subscription/subscribeToCollection', }, { - text: 'Read Data', - collapsed: true, - items: [ - { - text: 'getProtectedDataInCollections', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/read/getProtectedDataInCollections', - }, - { - text: 'getProtectedDataPricingParams', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/read/getProtectedDataPricingParams', - }, - { - text: 'getCollectionOwners', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/read/getCollectionOwners', - }, - { - text: 'getCollectionsByOwner', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/read/getCollectionsByOwner', - }, - { - text: 'getCollectionSubscriptions', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/read/getCollectionSubscriptions', - }, - { - text: 'getRentals', - link: '/documentation/manage-data/dataProtector/dataProtectorSharing/read/getRentals', - }, - ], + text: 'removeProtectedDataFromSubscription', + link: '/references/dataProtector/dataProtectorSharing/subscription/removeProtectedDataFromSubscription', }, ], }, { - text: 'Types', - link: '/documentation/manage-data/dataProtector/types', + text: 'Consume', + collapsed: true, + items: [ + { + text: 'consumeProtectedData', + link: '/references/dataProtector/dataProtectorSharing/consume/consumeProtectedData', + }, + ], }, { - text: 'Advanced', + text: 'Read Data', collapsed: true, items: [ { - text: 'Advanced Configuration', - link: '/documentation/manage-data/dataProtector/advanced/advanced-configuration', + text: 'getProtectedDataInCollections', + link: '/references/dataProtector/dataProtectorSharing/read/getProtectedDataInCollections', }, { - text: 'Sharing smart contract', - link: '/documentation/manage-data/dataProtector/advanced/dps-smart-contract', + text: 'getProtectedDataPricingParams', + link: '/references/dataProtector/dataProtectorSharing/read/getProtectedDataPricingParams', }, { - text: 'Apps whitelist', - link: '/documentation/manage-data/dataProtector/advanced/apps-whitelist', - collapsed: true, - items: [ - { - text: 'createAddOnlyAppWhitelist', - link: '/documentation/manage-data/dataProtector/advanced/apps-whitelist/createAddOnlyAppWhitelist', - }, - { - text: 'addAppToAddOnlyAppWhitelist', - link: '/documentation/manage-data/dataProtector/advanced/apps-whitelist/addAppToAddOnlyAppWhitelist', - }, - { - text: 'getUserAddOnlyAppWhitelist', - link: '/documentation/manage-data/dataProtector/advanced/apps-whitelist/getUserAddOnlyAppWhitelist', - }, - ], + text: 'getCollectionOwners', + link: '/references/dataProtector/dataProtectorSharing/read/getCollectionOwners', + }, + { + text: 'getCollectionsByOwner', + link: '/references/dataProtector/dataProtectorSharing/read/getCollectionsByOwner', + }, + { + text: 'getCollectionSubscriptions', + link: '/references/dataProtector/dataProtectorSharing/read/getCollectionSubscriptions', + }, + { + text: 'getRentals', + link: '/references/dataProtector/dataProtectorSharing/read/getRentals', }, ], }, - { - text: 'Migrate from v1 to v2', - link: '/documentation/manage-data/dataProtector/migrate-from-v1', - }, ], }, - ], - }, - { - text: 'BUILD YOUR iAPP', - items: [ { - text: '❓ What is an iApp ?', - link: '/documentation/build-iapp/what-is-iapp', - }, - { - text: '📖 Guides', - collapsed: true, - items: [ - { - text: 'Build and Deploy', - link: '/documentation/build-iapp/guides/build-&-deploy', - }, - { - text: 'Manage Access', - link: '/documentation/build-iapp/guides/manage-access', - }, - { - text: 'Inputs and Outputs', - link: '/documentation/build-iapp/guides/inputs-and-outputs', - }, - { - text: 'Using TDX', - link: '/documentation/build-iapp/guides/using-tdx', - }, - { - text: 'How to Get and Decrypt Results', - link: '/documentation/build-iapp/guides/how-to-get-and-decrypt-results', - }, - { - text: 'Debugging', - link: '/documentation/build-iapp/guides/debugging', - }, - ], + text: 'Types', + link: '/references/dataProtector/types', }, { - text: '🤖 iApp Generator', - link: '/documentation/build-iapp/iapp-generator', + text: 'Advanced', collapsed: true, items: [ { - text: 'Getting Started', - link: '/documentation/build-iapp/iapp-generator/getting-started', + text: 'Advanced Configuration', + link: '/references/dataProtector/advanced/advanced-configuration', }, { - text: 'Building your iApp', - link: '/documentation/build-iapp/iapp-generator/building-your-iexec-app', + text: 'Sharing smart contract', + link: '/references/dataProtector/advanced/dps-smart-contract', }, { - text: 'Deserialize ProtectedData', - link: '/documentation/build-iapp/iapp-generator/deserializer', + text: 'Apps whitelist', + link: '/references/dataProtector/advanced/apps-whitelist', collapsed: true, items: [ { - text: 'getValue', - link: '/documentation/build-iapp/iapp-generator/deserializer/getValue', + text: 'createAddOnlyAppWhitelist', + link: '/references/dataProtector/advanced/apps-whitelist/createAddOnlyAppWhitelist', + }, + { + text: 'addAppToAddOnlyAppWhitelist', + link: '/references/dataProtector/advanced/apps-whitelist/addAppToAddOnlyAppWhitelist', + }, + { + text: 'getUserAddOnlyAppWhitelist', + link: '/references/dataProtector/advanced/apps-whitelist/getUserAddOnlyAppWhitelist', }, ], }, ], }, + { + text: 'Migrate from v1 to v2', + link: '/references/dataProtector/migrate-from-v1', + }, ], }, { - text: 'USE AN iAPP', + text: '🤖 iApp Generator', + link: '/references/iapp-generator', items: [ { - text: '📝 Introduction', - link: '/documentation/use-iapp/introduction', + text: 'Getting Started', + link: '/references/iapp-generator/getting-started', }, { - text: '🚀 Getting Started', - link: '/documentation/use-iapp/getting-started', + text: 'Building your iApp', + link: '/references/iapp-generator/building-your-iexec-app', }, { - text: '📖 Guides', + text: 'Deserialize ProtectedData', + link: '/references/iapp-generator/deserializer', collapsed: true, items: [ { - text: 'Different Ways to Execute an iApp', - link: '/documentation/use-iapp/guides/different-ways-to-execute', - }, - { - text: 'Add Inputs to the Execution', - link: '/documentation/use-iapp/guides/add-inputs-to-execution', - }, - { - text: 'Use iApp with Protected Data', - link: '/documentation/use-iapp/guides/use-iapp-with-protected-data', - }, - { - text: 'Find iApps to Use', - link: '/documentation/use-iapp/guides/find-iapps', - }, - { - text: 'How to Pay the Executions', - link: '/documentation/use-iapp/guides/how-to-pay-executions', - }, - ], - }, - { - text: '💰 How to Pay', - collapsed: true, - items: [ - { - text: 'How to Pay for Web3Mail', - link: '/documentation/use-iapp/how-to-pay/how-to-pay-for-web3mail', - }, - { - text: 'How to Pay for Web3Telegram', - link: '/documentation/use-iapp/how-to-pay/how-to-pay-for-web3telegram', - }, - { - text: 'Pricing Considerations', - link: '/documentation/use-iapp/how-to-pay/pricing-considerations', - }, - { - text: 'Voucher', - link: '/documentation/use-iapp/how-to-pay/voucher', + text: 'getValue', + link: '/references/iapp-generator/deserializer/getValue', }, ], }, + ], + }, + { + text: '✉ Web3Mail', + link: '/references/web3mail', + items: [ { - text: '✉ Web3Mail', - link: '/use-iapp/web3mail', - collapsed: true, - items: [ - { - text: 'Getting Started', - link: '/documentation/use-iapp/web3mail/getting-started', - }, - { - text: 'Methods', - collapsed: true, - items: [ - { - text: 'fetchMyContacts', - link: '/documentation/use-iapp/web3mail/methods/fetchMyContacts', - }, - { - text: 'fetchUserContacts', - link: '/documentation/use-iapp/web3mail/methods/fetchUserContacts', - }, - { - text: 'sendEmail', - link: '/documentation/use-iapp/web3mail/methods/sendEmail', - }, - ], - }, - { - text: 'Advanced Configuration', - link: '/documentation/use-iapp/web3mail/advanced-configuration', - }, - ], + text: 'Getting Started', + link: '/references/web3mail/getting-started', }, { - text: '💬 Web3Telegram', - link: '/documentation/use-iapp/web3telegram', + text: 'Methods', collapsed: true, items: [ { - text: 'Getting Started', - link: '/documentation/use-iapp/web3telegram/getting-started', + text: 'fetchMyContacts', + link: '/references/web3mail/methods/fetchMyContacts', }, { - text: 'Methods', - collapsed: true, - items: [ - { - text: 'fetchMyContacts', - link: '/documentation/use-iapp/web3telegram/methods/fetchMyContacts', - }, - { - text: 'fetchUserContacts', - link: '/documentation/use-iapp/web3telegram/methods/fetchUserContacts', - }, - { - text: 'sendTelegram', - link: '/documentation/use-iapp/web3telegram/methods/sendTelegram', - }, - ], + text: 'fetchUserContacts', + link: '/references/web3mail/methods/fetchUserContacts', }, { - text: 'Integration Guide', - link: '/documentation/use-iapp/web3telegram/integration-guide', - }, - { - text: 'Advanced Configuration', - link: '/documentation/use-iapp/web3telegram/advanced-configuration', + text: 'sendEmail', + link: '/references/web3mail/methods/sendEmail', }, ], }, - ], - }, - { - text: 'TOOLING & EXPLORERS', - items: [ - { - text: 'iExec Explorer', - link: '/documentation/tooling-and-explorers/iexec-explorer', - }, - { - text: 'Builder Dashboard', - link: '/documentation/tooling-and-explorers/builder-dashboard', - }, - { - text: 'RLC Bridge', - link: '/documentation/tooling-and-explorers/bridge', - }, - { - text: 'Subgraph Explorer', - link: '/documentation/tooling-and-explorers/subgraph-explorer', - }, { - text: 'Blockchain Explorer', - link: '/documentation/tooling-and-explorers/blockchain-explorer', + text: 'Advanced Configuration', + link: '/references/web3mail/advanced-configuration', }, ], }, { - text: 'PROTOCOL', + text: '💬 Web3Telegram', + link: '/references/web3telegram', items: [ { - text: '🔧 iExec SDK', - link: '/documentation/protocol/sdk', + text: 'Getting Started', + link: '/references/web3telegram/getting-started', }, { - text: '⚙️ Workers & Workerpools', + text: 'Methods', collapsed: true, items: [ { - text: '🚀 Worker Quick Start', - link: '/documentation/protocol/worker/quick-start', + text: 'fetchMyContacts', + link: '/references/web3telegram/methods/fetchMyContacts', }, { - text: '🔒 Manage Workerpool Access', - link: '/documentation/protocol/worker/manage-access', - }, - ], - }, - { - text: '⛓️💥 PoCo', - collapsed: true, - items: [ - { - text: '💸 Pay Per Task Model', - link: '/documentation/protocol/poco/pay-per-task', + text: 'fetchUserContacts', + link: '/references/web3telegram/methods/fetchUserContacts', }, { - text: '🛡️ Proof of Contribution', - link: '/documentation/protocol/poco/proof-of-contribution', + text: 'sendTelegram', + link: '/references/web3telegram/methods/sendTelegram', }, ], }, { - text: '�📖 Glossary', - link: '/documentation/protocol/glossary', + text: 'Integration Guide', + link: '/references/web3telegram/integration-guide', + }, + { + text: 'Advanced Configuration', + link: '/references/web3telegram/advanced-configuration', }, ], }, + { + text: '🔧 iExec SDK', + link: '/references/sdk', + }, + { + text: '�📖 Glossary', + link: '/references/glossary', + }, ], - '/guides/': [], - '/references/': [], } satisfies DefaultTheme.Sidebar; } diff --git a/README.md b/README.md index 751fcb44..96b44dc9 100644 --- a/README.md +++ b/README.md @@ -169,3 +169,7 @@ Fork this repository and ensure you're working on the `main` branch: - Update or add design illustrations based on the new design system - Check how to pay guide to update with the launch on Arbitrum (RLC vs xRLC) - framework AI supporté TDX vs SGX +- check glossary +- migrate github SDK doc here +- migrate pay-per-task page into a guide +- check pages (introduction & getting-started) for use-iapp guide diff --git a/package-lock.json b/package-lock.json index fabb7040..e84543e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,10 +8,10 @@ "name": "iexec-documentation", "version": "0.0.0", "dependencies": { - "@iexec/dataprotector": "^2.0.0-beta.17", + "@iexec/dataprotector": "^2.0.0-beta.19", "@iexec/dataprotector-deserializer": "^0.1.1", - "@iexec/web3mail": "^1.2.2", - "@iexec/web3telegram": "^0.1.0-alpha.1", + "@iexec/web3mail": "^1.5.0", + "@iexec/web3telegram": "^0.1.0-alpha.4", "@reown/appkit": "^1.7.17", "@reown/appkit-adapter-wagmi": "^1.7.17", "@tailwindcss/vite": "^4.1.11", @@ -761,7 +761,9 @@ } }, "node_modules/@iexec/dataprotector": { - "version": "2.0.0-beta.17", + "version": "2.0.0-beta.19", + "resolved": "https://registry.npmjs.org/@iexec/dataprotector/-/dataprotector-2.0.0-beta.19.tgz", + "integrity": "sha512-nKfM8H2AGFPmSHt96FhNSOIctqRWyQt34zh9chVeI7PSy6TVFQMnEV4rj1ce+O8yFO9TM/8YXxu+V2izBO00WQ==", "license": "Apache-2.0", "dependencies": { "@ethersproject/bytes": "^5.7.0", @@ -773,7 +775,7 @@ "debug": "^4.3.4", "ethers": "^6.13.2", "graphql-request": "^6.0.0", - "iexec": "^8.16.0", + "iexec": "^8.18.0", "jszip": "^3.7.1", "kubo-rpc-client": "^4.1.1", "magic-bytes.js": "^1.0.15", @@ -783,6 +785,8 @@ }, "node_modules/@iexec/dataprotector-deserializer": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@iexec/dataprotector-deserializer/-/dataprotector-deserializer-0.1.1.tgz", + "integrity": "sha512-CSz1JWnslm2X3gjL1cx/qqovnmvJSFWDyJMw0ZGvqnYnNatgIqHn+Aky2iO4K0HsArfqmgV3ySIpdPfu/N2M0w==", "license": "Apache-2.0", "dependencies": { "borsh": "^2.0.0", @@ -846,7 +850,9 @@ } }, "node_modules/@iexec/web3mail": { - "version": "1.2.2", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@iexec/web3mail/-/web3mail-1.5.0.tgz", + "integrity": "sha512-ohgPocAidWreTOchamwMiuwIt0Nns290vS/KbcLbhOB4ZUDtQGS8V5lES3s9WUZjMvf+bWByN4RQdoaNhgIPAw==", "license": "Apache-2.0", "dependencies": { "@ethersproject/bytes": "^5.7.0", @@ -854,13 +860,15 @@ "buffer": "^6.0.3", "ethers": "^6.13.2", "graphql-request": "^6.1.0", - "iexec": "^8.13.1", + "iexec": "^8.18.0", "kubo-rpc-client": "^4.1.1", "yup": "^1.1.1" } }, "node_modules/@iexec/web3telegram": { - "version": "0.1.0-alpha.1", + "version": "0.1.0-alpha.4", + "resolved": "https://registry.npmjs.org/@iexec/web3telegram/-/web3telegram-0.1.0-alpha.4.tgz", + "integrity": "sha512-JYWjLpV7Ufi8wjlHlwCOYnjHf1oRGh9GycfKuhIq2TZDK4JrEG/tUytMagakn3C9T0UOByrM9DM/hMMoxVcG6A==", "license": "Apache-2.0", "dependencies": { "@ethersproject/bytes": "^5.7.0", @@ -868,7 +876,7 @@ "buffer": "^6.0.3", "ethers": "^6.8.1", "graphql-request": "^6.1.0", - "iexec": "^8.13.1", + "iexec": "^8.18.0", "kubo-rpc-client": "^4.1.3", "yup": "^1.1.1" } @@ -7962,7 +7970,9 @@ "license": "BSD-3-Clause" }, "node_modules/iexec": { - "version": "8.17.0", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/iexec/-/iexec-8.18.0.tgz", + "integrity": "sha512-lj2La67p0IKyCHhpV4F2SZD7kmE1AFhGmD26jf8si7/sTelrXun3wNTun6WAOEO9uMi49J0AlA6MxUNBxuCflg==", "license": "Apache-2.0", "dependencies": { "@ensdomains/ens-contracts": "^1.2.5", diff --git a/package.json b/package.json index e805e9b9..10d5c266 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "format": "prettier --ignore-path .gitignore --write ." }, "dependencies": { - "@iexec/dataprotector": "^2.0.0-beta.17", + "@iexec/dataprotector": "^2.0.0-beta.19", "@iexec/dataprotector-deserializer": "^0.1.1", - "@iexec/web3mail": "^1.2.2", - "@iexec/web3telegram": "^0.1.0-alpha.1", + "@iexec/web3mail": "^1.5.0", + "@iexec/web3telegram": "^0.1.0-alpha.4", "@reown/appkit": "^1.7.17", "@reown/appkit-adapter-wagmi": "^1.7.17", "@tailwindcss/vite": "^4.1.11", diff --git a/src/components/ChainSelector.vue b/src/components/ChainSelector.vue index fde4a4ea..1a903718 100644 --- a/src/components/ChainSelector.vue +++ b/src/components/ChainSelector.vue @@ -68,8 +68,26 @@ const userStore = useUserStore(); // Data const supportedChains = getSupportedChains(); +// Default initialization: check first if wallet is connected +if (!userStore.chainId) { + if (chainId.value) { + // If wallet is connected, use its chain + const walletChain = getChainById(chainId.value); + if (walletChain) { + userStore.setSelectedChain(walletChain); + } + } else { + // Otherwise, use Bellecour as default + const defaultChain = getChainById(0x86); // Bellecour + if (defaultChain) { + userStore.setSelectedChain(defaultChain); + } + } +} + // Computed const selectedChain = computed(() => { + // Priority: 1. Connected wallet chain, 2. Selected chain in store const currentChainId = chainId.value || userStore.chainId; return currentChainId ? getChainById(currentChainId) : undefined; }); @@ -91,6 +109,7 @@ const selectedChainId = computed({ }, }); +// Watch to synchronize store with wallet chain watch(chainId, (newChainId) => { if (newChainId) { const chain = getChainById(newChainId); diff --git a/src/documentation/build-iapp/guides/index.md b/src/documentation/build-iapp/guides/index.md deleted file mode 100644 index 8fca2266..00000000 --- a/src/documentation/build-iapp/guides/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Build iApp Guides -description: Complete guide collection for building privacy-first iApps on iExec ---- - -# 🛠️ Build iApp Guides - -Welcome to the complete collection of guides for building privacy-first -applications on iExec. These guides will walk you through every aspect of -creating, testing, and deploying confidential iApps. - -## 🚀 Getting Started - -- **[Build & Deploy](/documentation/build-iapp/guides/build-&-deploy)** - Your - first iApp in 15 minutes -- **[Inputs and Outputs](/documentation/build-iapp/guides/inputs-and-outputs)** - - Handle data flow in TEE environment -- **[Debugging](/documentation/build-iapp/guides/debugging)** - Troubleshoot - execution issues - -## 🔐 Access Control & Management - -- **[Manage Access](/documentation/build-iapp/guides/manage-access)** - Control - who can use your iApp -- **[How to Get and Decrypt Results](/documentation/build-iapp/guides/how-to-get-and-decrypt-results)** - - Retrieve and use outputs - -## 🧪 Advanced Features - -- **[Using TDX (Experimental)](/documentation/build-iapp/guides/using-tdx)** - - Next-gen TEE technology - -## 📚 What's Next? - -After mastering these guides, explore: - -- **[iApp Generator](/documentation/build-iapp/iapp-generator)** - Complete - development toolkit -- **[What is an iApp?](/documentation/build-iapp/what-is-iapp)** - Core concepts - and TEE overview - -Ready to build your first privacy-preserving application? Start with the -[Build & Deploy](/documentation/build-iapp/guides/build-&-deploy) guide! diff --git a/src/documentation/use-iapp/guides/index.md b/src/documentation/use-iapp/guides/index.md deleted file mode 100644 index 8541a822..00000000 --- a/src/documentation/use-iapp/guides/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Use iApp Guides -description: Complete guide collection for using iApps on the iExec network ---- - -# 🚀 Use iApp Guides - -Welcome to the complete collection of guides for using iApps on the iExec -network. These guides will help you find, execute, and interact with -privacy-preserving applications. - -## 🔍 Finding & Using iApps - -- **[Find iApps](/documentation/use-iapp/guides/find-iapps)** - Discover - available applications -- **[Different Ways to Execute](/documentation/use-iapp/guides/different-ways-to-execute)** - - Multiple execution methods -- **[Use iApp with Protected Data](/documentation/use-iapp/guides/use-iapp-with-protected-data)** - - Secure data processing - -## 💰 Payment & Execution - -- **[How to Pay for Executions](/documentation/use-iapp/guides/how-to-pay-executions)** - - Payment methods and costs -- **[Add Inputs to Execution](/documentation/use-iapp/guides/add-inputs-to-execution)** - - Provide data and parameters - -## 📧 Communication Apps - -- **[Web3Mail](/documentation/use-iapp/web3mail)** - Send encrypted emails -- **[Web3Telegram](/documentation/use-iapp/web3telegram)** - Send encrypted - Telegram messages - -## 🆓 Getting Started - -- **[Getting Started](/documentation/use-iapp/getting-started)** - Essential - steps for beginners -- **[How to Pay for Web3Mail](/documentation/use-iapp/how-to-pay/how-to-pay-for-web3mail)** - - Free email service -- **[How to Pay for Web3Telegram](/documentation/use-iapp/how-to-pay/how-to-pay-for-web3telegram)** - - Free messaging service - -## 📚 What's Next? - -After mastering these guides, explore: - -- **[Data Protector](/documentation/manage-data/dataProtector)** - Protect your - own data -- **[Build iApps](/documentation/build-iapp/what-is-iapp)** - Create your own - applications - -Ready to start using iApps? Begin with the -[Getting Started](/documentation/use-iapp/getting-started) guide! diff --git a/src/documentation/develop-with-ai.md b/src/get-started/develop-with-ai.md similarity index 100% rename from src/documentation/develop-with-ai.md rename to src/get-started/develop-with-ai.md diff --git a/src/documentation/helloWorld.md b/src/get-started/helloWorld.md similarity index 94% rename from src/documentation/helloWorld.md rename to src/get-started/helloWorld.md index eb12705c..4b06eb3b 100644 --- a/src/documentation/helloWorld.md +++ b/src/get-started/helloWorld.md @@ -7,12 +7,24 @@ description: # 👋 Welcome to iExec > Reading time 🕒 2 mins +
And learn how to build Privacy-preserving decentralized applications (dApps) with iExec in this interactive guide.
diff --git a/src/documentation/helloWorld/1-overview.md b/src/get-started/helloWorld/1-overview.md similarity index 98% rename from src/documentation/helloWorld/1-overview.md rename to src/get-started/helloWorld/1-overview.md index c603ca4d..d416ccc7 100644 --- a/src/documentation/helloWorld/1-overview.md +++ b/src/get-started/helloWorld/1-overview.md @@ -85,7 +85,7 @@ Computing technologies. iExec combines three fundamental elements that work together seamlessly: -#### 1. Protect Data with our Devtool [DataProtector](/documentation/manage-data/dataProtector/getting-started) +#### 1. Protect Data with our Devtool [DataProtector](/references/dataProtector/getting-started) - Encrypt your sensitive data and store it securely on Arweave or IPFS - Only you control who can access it and when diff --git a/src/documentation/helloWorld/2-protectData.md b/src/get-started/helloWorld/2-protectData.md similarity index 94% rename from src/documentation/helloWorld/2-protectData.md rename to src/get-started/helloWorld/2-protectData.md index af4b0ae8..b7e7903d 100644 --- a/src/documentation/helloWorld/2-protectData.md +++ b/src/get-started/helloWorld/2-protectData.md @@ -45,10 +45,6 @@ their dApps with these key features: Features an SDK for easy integration into your DApp, enhancing functionality and user experience. -DataProtector interacts with iExec's Bellecour sidechain, which is gasless, meaning you can use it completely free without needing any tokens!
-Let's build an iApp that can process protected data in a secure environment using the iExec iApp generator tool. This tool helps you create, test and deploy iApps with just a few commands.
+Let's build an iApp that can process protected data in a secure environment using the iExec iApp generator tool. This tool helps you create, test and deploy iApps with just a few commands.
These are just a few examples, the possibilities are endless. Want to explore iApp Generator? Check out our documentation and see what you can build!
+These are just a few examples, the possibilities are endless. Want to explore iApp Generator? Check out our documentation and see what you can build!
We recommend selecting "Hello World" to quickly discover how iApp works! use advanced only if you are familiar with iExec.
- If you have Error: Docker daemon is not accessible Make sure Docker is installed and running.
- If you have Error: Failed to locate iApp project root error: Ensure you are in your project folder before proceeding.
Common Issues:
+- If you get Error: Docker daemon is not accessible: Make sure Docker is installed and running.
- If you get Error: Failed to locate iApp project root: Ensure you are in your project folder before proceeding.
📝 Make sure to save your iApp address after deployment - you'll need it later!
@@ -322,3 +412,173 @@ protocol documentation [here](https://protocol.docs.iex.ec/).Next up: Alice will learn how to authorize the iApp and Bob to access and use her protected data! 🚀
Need help setting up or got some questions? Join our Discord Community for support!
Thank you for being part of the iExec journey! We can't wait to see what you'll build next! 🚀
Users send emails, notifications, or messages using their protected contact lists without exposing recipient information.
+Process medical data for AI diagnosis without exposing patient information
Users contribute real data to oracles while keeping their private information confidential.
+Analyze financial data for credit scoring while maintaining privacy
Users let AI models perform actions based on their private data - trading, scheduling, recommendations...
+Content recommendation engines that don't track user behavior
Users let AI models perform actions based on their private data - trading, scheduling, recommendations...
+Collaborative research on sensitive datasets across institutions
Let's build an iApp that can process protected data in a secure environment using the iExec iApp generator tool. This tool helps you create, test and deploy iApps with just a few commands.
+These are just a few examples, the possibilities are endless. Want to explore iApp Generator? Check out our documentation and see what you can build!
+