From f1ebb0766db24cac335236586c8dc8047d7baceb Mon Sep 17 00:00:00 2001 From: Tanay Pant Date: Fri, 27 Oct 2023 12:35:11 +0200 Subject: [PATCH 01/16] Update Safe Docs --- .gitbook.yaml | 3 ++ SUMMARY.md | 10 ++--- .../overview.md => safe-apps/README.md | 19 ++++++++-- .../safe-apps => safe-apps}/get-started.md | 8 +++- .../safe-apps => safe-apps}/release.md | 0 safe-core-sdk/safe-apps/README.md | 38 ------------------- safe-core-sdk/safe-apps/example-safe-app.md | 21 ---------- 7 files changed, 29 insertions(+), 70 deletions(-) rename safe-core-sdk/safe-apps/overview.md => safe-apps/README.md (87%) rename {safe-core-sdk/safe-apps => safe-apps}/get-started.md (91%) rename {safe-core-sdk/safe-apps => safe-apps}/release.md (100%) delete mode 100644 safe-core-sdk/safe-apps/README.md delete mode 100644 safe-core-sdk/safe-apps/example-safe-app.md diff --git a/.gitbook.yaml b/.gitbook.yaml index 5bd68da2..0d86f31a 100644 --- a/.gitbook.yaml +++ b/.gitbook.yaml @@ -12,3 +12,6 @@ redirects: safe-smart-account/security/security-audits: safe-smart-account/security-audits.md safe-smart-account/security/bug-bounty-program: miscellaneous/bug-bounty-program.md safe-smart-account/security/past-paid-bounties: miscellaneous/past-paid-bounties.md + safe-apps-sdk/safe-apps: safe-apps/README.md + safe-apps-sdk/overview: safe-apps/README.md + safe-apps-sdk/example-safe-app: safe-apps/get-started.md diff --git a/SUMMARY.md b/SUMMARY.md index 43291ba6..a27dbd9a 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -47,15 +47,11 @@ ## Safe Apps SDK -* [Safe Apps SDK](safe-core-sdk/safe-apps/README.md) +* [Overview](safe-apps/README.md) -* [Overview](safe-core-sdk/safe-apps/overview.md) +* [Getting started](safe-apps/get-started.md) -* [Get started](safe-core-sdk/safe-apps/get-started.md) - -* [Release](safe-core-sdk/safe-apps/release.md) -* -* [Safe App example](safe-core-sdk/safe-apps/example-safe-app.md) +* [Release](safe-apps/release.md) ## Reference diff --git a/safe-core-sdk/safe-apps/overview.md b/safe-apps/README.md similarity index 87% rename from safe-core-sdk/safe-apps/overview.md rename to safe-apps/README.md index 9e04befb..6470edec 100644 --- a/safe-core-sdk/safe-apps/overview.md +++ b/safe-apps/README.md @@ -1,11 +1,13 @@ -# Safe Apps SDK Packages +# Safe Apps SDK + +The Safe Apps SDK allow developers to build their dApps right into the Safe{Wallet}. Turn your Dapp into an HTML iframe component that can be accessed through the Safe. We are providing extensive developer tooling to make it easy to create, test and integrate Safe Apps into the Safe. This includes an unique design system, reusable components and a Safe App SDK that facilitates the Safe App <> Safe communication. + +## Packages You can find several packages on [our developer tools](https://github.com/safe-global/safe-apps-sdk) to make it easier to integrate third-party applications (Safe Apps) with [Safe](https://app.safe.global). Check the following diagram to see which package is more convenient for you:
-## Packages - | Package | Version | Description | | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [cra-template-safe-app](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/cra-template-safe-app) | | CRA template to quickly bootstrap a Safe App. Use this package to start a new Safe App from scratch using React. | @@ -16,3 +18,14 @@ You can find several packages on [our developer tools](https://github.com/safe-g | [safe-apps-wagmi](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-wagmi) | | A [wagmi](https://github.com/wagmi-dev/wagmi) connector for Safe Apps | | [@web3-onboard/gnosis](https://github.com/blocknative/web3-onboard/tree/v2-web3-onboard-develop/packages/gnosis) | | Blocknative included Safe App support in [@web3-onboard](https://github.com/blocknative/web3-onboard) v1.26.0. If you are already using this package you can [check here](https://github.com/blocknative/web3-onboard/blob/v2-web3-onboard-develop/packages/gnosis/README.md) how to configure it. | | [@web3-react/gnosis-safe](https://github.com/Uniswap/web3-react/tree/main/packages/gnosis-safe) | | [web3-react](https://github.com/Uniswap/web3-react) already includes a connector for Safe Apps by default. You can check at their docs how to use it. | + +## Onchain stats + +There are Dune Analytics dashboards about Safe Apps available: + +* [Number of transactions](https://explore.duneanalytics.com/dashboard/gnosis-safe---safe-apps-transactions) +* [Transaction volume](https://explore.duneanalytics.com/dashboard/gnosis-safe---safe-apps-volume) + +## Disclaimer + +It is at our sole discretion to list or delist apps from the Safe. Safe Apps are not owned, controlled, maintained, or audited by Gnosis. diff --git a/safe-core-sdk/safe-apps/get-started.md b/safe-apps/get-started.md similarity index 91% rename from safe-core-sdk/safe-apps/get-started.md rename to safe-apps/get-started.md index 7fcf70fa..d6ca80ea 100644 --- a/safe-core-sdk/safe-apps/get-started.md +++ b/safe-apps/get-started.md @@ -2,7 +2,7 @@ description: Basic resources to start creating Safe Apps --- -# Get started +# Getting started Welcome! We are glad on your interest about creating a Safe App. The team is working hard to provide the tools to make it easier for you to build apps that can interact with Safe. @@ -118,3 +118,9 @@ If you are creating your Safe App from scratch, we provide a reusable react comp * [Check all available components in the storybook](https://components.safe.global) * [Check UI Kit repository](https://github.com/safe-global/safe-react-components) + +## Example app + +This tutorial will build a Safe App that enables us to migrate all the assets from a Safe to any other wallet in a single transaction. It doesn't include NFTs, but this is a great thing to do on your own. In addition, you will learn about smart contract wallets, multi-signature transaction flow, and batched transactions. + +Find the Github repo with the complete guide [here](https://github.com/gnosis/safe-apps-sdk/tree/master/guides/drain-safe-app). diff --git a/safe-core-sdk/safe-apps/release.md b/safe-apps/release.md similarity index 100% rename from safe-core-sdk/safe-apps/release.md rename to safe-apps/release.md diff --git a/safe-core-sdk/safe-apps/README.md b/safe-core-sdk/safe-apps/README.md deleted file mode 100644 index 4784fa0f..00000000 --- a/safe-core-sdk/safe-apps/README.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -description: What are Safe Apps? ---- - -# Safe Apps SDK - -With over $90B worth of digital assets held in Safe accounts alone, it's essential for the dapp ecosystem to access the untapped market of multi-signature wallets. Safe Apps introduce a completely new way for developers to build their dapps right into a Multisig interface. Turn your Dapp into an HTML iframe component that can be accessed through the Safe. We are providing extensive developer tooling to make it easy to create, test and integrate Safe Apps into the Safe. This includes an unique design system, reusable components and a Safe App SDK that facilitates the Safe App <> Safe communication. - -Please refer to this [EthCC3 talk](https://www.youtube.com/watch?v=1GirpNHZPJM&t=168s) to learn more about Safe Apps. - -There are already Safe Apps available for a number of popular protocols such as [Aave](https://aave.com), [Synthetix](https://synthetix.io), [1inch](https://1inch.exchange) or [Balancer](https://balancer.finance). These have been build by 3rd party developers or the projects themselves. - -If you are missing a Safe App, get in touch with the respective project or get building with the [Safe Apps SDK](./get-started.md). - -#### On-chain stats - -There are Dune Analytics dashboards about Safe Apps available: - -* [Number of transactions](https://explore.duneanalytics.com/dashboard/gnosis-safe---safe-apps-transactions) -* [Transaction volume](https://explore.duneanalytics.com/dashboard/gnosis-safe---safe-apps-volume) - -#### Existing Safe Apps - -This is a list of several known public repositories containing Safe Apps for reference: - -* [Transaction builder](https://github.com/safe-global/safe-react-apps/tree/development/apps/tx-builder) -* [WalletConnect](https://github.com/safe-global/safe-react-apps/tree/development/apps/wallet-connect) -* [CSV Airdrop](https://github.com/bh2smith/safe-airdrop) -* [Open Zeppelin](https://github.com/OpenZeppelin/upgrades-safe-app) -* [Balancer](https://github.com/balancer-labs/frontend-v2) -* [1inch Exchange](https://github.com/CryptoManiacsZone/gnosis.1inch.exchange) -* [Synthetix](https://github.com/protofire/safe-app-synthetix-mintr) -* [Sablier](https://github.com/sablierhq/safe-app) -* [PancakeSwap](https://github.com/pancakeswap/pancake-frontend) - -#### Disclaimer - -It is at our sole discretion to list or delist apps from the Safe. Safe Apps are not owned, controlled, maintained, or audited by Gnosis. diff --git a/safe-core-sdk/safe-apps/example-safe-app.md b/safe-core-sdk/safe-apps/example-safe-app.md deleted file mode 100644 index 5c149e74..00000000 --- a/safe-core-sdk/safe-apps/example-safe-app.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -description: >- - Build a Safe App that allows transferring assets out of the Safe in 1 - transaction ---- - -# Build Safe App with batch transactions - -## What are we building? - -This tutorial will build a Safe App that enables us to migrate all the assets from a Safe to any other wallet in a single transaction. It doesn't include NFTs, but this is a great thing to do on your own. In addition, you will learn about smart contract wallets, multi-signature transaction flow, and batched transactions. - -Find the Github repo with the complete guide [here](https://github.com/gnosis/safe-apps-sdk/tree/master/guides/drain-safe-app). - -### Prerequisites - -We'll assume that you are familiar with TypeScript (JavaScript), React, and Ethereum and have `node.js` and `npm` installed. - -### Help - -If you need help, you can reach Safe developers in the `#safe-developers` channel in [https://chat.safe.global](https://chat.gnosis.io) or [create a discussion](https://github.com/safe-global/safe-apps-sdk/discussions). From b44e1e6d9e820c85db63913ba7f4549f42ed7941 Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 12:48:08 +0200 Subject: [PATCH 02/16] Update README.md --- safe-apps/README.md | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/safe-apps/README.md b/safe-apps/README.md index 6470edec..e63db76c 100644 --- a/safe-apps/README.md +++ b/safe-apps/README.md @@ -1,10 +1,10 @@ # Safe Apps SDK -The Safe Apps SDK allow developers to build their dApps right into the Safe{Wallet}. Turn your Dapp into an HTML iframe component that can be accessed through the Safe. We are providing extensive developer tooling to make it easy to create, test and integrate Safe Apps into the Safe. This includes an unique design system, reusable components and a Safe App SDK that facilitates the Safe App <> Safe communication. +The Safe Apps SDK allows developers to build their dapps into the Safe{Wallet}. It turns a dapp into an HTML iframe component that can be accessed through Safe. This SDK provides extensive developer tooling to make it easy to create, test, and integrate Safe Apps into Safe. This includes a design system, reusable components, and a Safe App SDK that facilitates communication between the Safe App and Safe. ## Packages -You can find several packages on [our developer tools](https://github.com/safe-global/safe-apps-sdk) to make it easier to integrate third-party applications (Safe Apps) with [Safe](https://app.safe.global). Check the following diagram to see which package is more convenient for you: +Here are several packages to make it easier to integrate third-party applications (Safe Apps) with [Safe](https://app.safe.global). Check the following diagram to see which package is suitable for you:
@@ -16,16 +16,10 @@ You can find several packages on [our developer tools](https://github.com/safe-g | [safe-apps-provider](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-provider) | [![npm](https://img.shields.io/npm/v/@safe-global/safe-apps-provider)](https://www.npmjs.com/package/@safe-global/safe-apps-provider) | A generic provider that can be used with common web3 libraries. (e.g. web3.js or Ethers) | | [safe-apps-web3modal](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-web3modal) | [![npm](https://img.shields.io/npm/v/@safe-global/safe-apps-web3modal)](https://www.npmjs.com/package/@safe-global/safe-apps-web3modal) | A wrapper around [Web3Modal](https://github.com/Web3Modal/web3modal) that would automatically connect to the Safe when the app is loaded in the Safe Apps section. | | [safe-apps-wagmi](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-wagmi) | | A [wagmi](https://github.com/wagmi-dev/wagmi) connector for Safe Apps | -| [@web3-onboard/gnosis](https://github.com/blocknative/web3-onboard/tree/v2-web3-onboard-develop/packages/gnosis) | | Blocknative included Safe App support in [@web3-onboard](https://github.com/blocknative/web3-onboard) v1.26.0. If you are already using this package you can [check here](https://github.com/blocknative/web3-onboard/blob/v2-web3-onboard-develop/packages/gnosis/README.md) how to configure it. | -| [@web3-react/gnosis-safe](https://github.com/Uniswap/web3-react/tree/main/packages/gnosis-safe) | | [web3-react](https://github.com/Uniswap/web3-react) already includes a connector for Safe Apps by default. You can check at their docs how to use it. | +| [@web3-onboard/gnosis](https://github.com/blocknative/web3-onboard/tree/v2-web3-onboard-develop/packages/gnosis) | | Blocknative included Safe App support in [@web3-onboard](https://github.com/blocknative/web3-onboard) v1.26.0. If you are already using this package, you can [check here](https://github.com/blocknative/web3-onboard/blob/v2-web3-onboard-develop/packages/gnosis/README.md) how to configure it. | +| [@web3-react/gnosis-safe](https://github.com/Uniswap/web3-react/tree/main/packages/gnosis-safe) | | [web3-react](https://github.com/Uniswap/web3-react) already includes a connector for Safe Apps by default. You can check their docs on how to use it. | -## Onchain stats - -There are Dune Analytics dashboards about Safe Apps available: - -* [Number of transactions](https://explore.duneanalytics.com/dashboard/gnosis-safe---safe-apps-transactions) -* [Transaction volume](https://explore.duneanalytics.com/dashboard/gnosis-safe---safe-apps-volume) ## Disclaimer -It is at our sole discretion to list or delist apps from the Safe. Safe Apps are not owned, controlled, maintained, or audited by Gnosis. +Safe Apps are not owned, controlled, maintained, or audited by Safe. Safe can list or delist apps from Safe{Wallet} at its sole discretion. From 24c40d9606a6999318bd5935ec95d9c1b43c0753 Mon Sep 17 00:00:00 2001 From: Tanay Pant Date: Fri, 27 Oct 2023 12:54:02 +0200 Subject: [PATCH 03/16] Add new vocabulary --- .github/styles/Vocab/default/accept.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/styles/Vocab/default/accept.txt b/.github/styles/Vocab/default/accept.txt index 6cf2006f..49697415 100644 --- a/.github/styles/Vocab/default/accept.txt +++ b/.github/styles/Vocab/default/accept.txt @@ -5,6 +5,7 @@ Safe Module Safe Modules Safe Guards Safe Transaction Service +Safe Apps SDK Blockchain blockchain blockchains @@ -12,6 +13,8 @@ onchain offchain Offchain multisig +dapp +dapps Auth Kit Protocol Kit Relay Kit @@ -33,6 +36,9 @@ API ABI ABIs SDK +sdk +npm +Blocknative ETH EIP ERC @@ -41,6 +47,8 @@ WSGI Sourcify Etherscan Blockscout +delist +wagmi crypto cryptocurrencies Ethereum From 6175242b71e88df5b39cb036a654f3efa39f7c5f Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 12:58:46 +0200 Subject: [PATCH 04/16] Update README.md --- safe-apps/README.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/safe-apps/README.md b/safe-apps/README.md index e63db76c..9553c8fb 100644 --- a/safe-apps/README.md +++ b/safe-apps/README.md @@ -1,6 +1,6 @@ # Safe Apps SDK -The Safe Apps SDK allows developers to build their dapps into the Safe{Wallet}. It turns a dapp into an HTML iframe component that can be accessed through Safe. This SDK provides extensive developer tooling to make it easy to create, test, and integrate Safe Apps into Safe. This includes a design system, reusable components, and a Safe App SDK that facilitates communication between the Safe App and Safe. +The Safe Apps SDK helps developers to build their dapps into the Safe{Wallet}. It turns a dapp into an HTML iframe component that can be accessed through Safe. This SDK provides extensive developer tooling to make it easy to create, test, and integrate Safe Apps into Safe. This includes a design system, reusable components, and a Safe App SDK that facilitates communication between the Safe App and Safe. ## Packages @@ -10,16 +10,14 @@ Here are several packages to make it easier to integrate third-party application | Package | Version | Description | | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [cra-template-safe-app](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/cra-template-safe-app) | | CRA template to quickly bootstrap a Safe App. Use this package to start a new Safe App from scratch using React. | +| [cra-template-safe-app](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/cra-template-safe-app) | | CRA (Create React App) template to bootstrap a Safe App. Use this package to start a new Safe App from scratch using React. | | [safe-apps-react-sdk](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-react-sdk) | [![npm](https://img.shields.io/npm/v/@safe-global/safe-apps-react-sdk)](https://www.npmjs.com/package/@safe-global/safe-apps-react-sdk) | A wrapper of [safe-apps-sdk](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-sdk) with helpful React Hooks. | | [safe-apps-sdk](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-sdk) | [![npm](https://img.shields.io/npm/v/@safe-global/safe-apps-sdk)](https://www.npmjs.com/package/@safe-global/safe-apps-sdk) | JavaScript SDK. This is the base package for all integrations. | -| [safe-apps-provider](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-provider) | [![npm](https://img.shields.io/npm/v/@safe-global/safe-apps-provider)](https://www.npmjs.com/package/@safe-global/safe-apps-provider) | A generic provider that can be used with common web3 libraries. (e.g. web3.js or Ethers) | +| [safe-apps-provider](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-provider) | [![npm](https://img.shields.io/npm/v/@safe-global/safe-apps-provider)](https://www.npmjs.com/package/@safe-global/safe-apps-provider) | A generic provider that can be used with common web3 libraries. For example, web3.js or Ethers. | | [safe-apps-web3modal](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-web3modal) | [![npm](https://img.shields.io/npm/v/@safe-global/safe-apps-web3modal)](https://www.npmjs.com/package/@safe-global/safe-apps-web3modal) | A wrapper around [Web3Modal](https://github.com/Web3Modal/web3modal) that would automatically connect to the Safe when the app is loaded in the Safe Apps section. | -| [safe-apps-wagmi](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-wagmi) | | A [wagmi](https://github.com/wagmi-dev/wagmi) connector for Safe Apps | +| [safe-apps-wagmi](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/safe-apps-wagmi) | | A [wagmi](https://github.com/wagmi-dev/wagmi) connector for Safe Apps. | | [@web3-onboard/gnosis](https://github.com/blocknative/web3-onboard/tree/v2-web3-onboard-develop/packages/gnosis) | | Blocknative included Safe App support in [@web3-onboard](https://github.com/blocknative/web3-onboard) v1.26.0. If you are already using this package, you can [check here](https://github.com/blocknative/web3-onboard/blob/v2-web3-onboard-develop/packages/gnosis/README.md) how to configure it. | | [@web3-react/gnosis-safe](https://github.com/Uniswap/web3-react/tree/main/packages/gnosis-safe) | | [web3-react](https://github.com/Uniswap/web3-react) already includes a connector for Safe Apps by default. You can check their docs on how to use it. | -## Disclaimer - -Safe Apps are not owned, controlled, maintained, or audited by Safe. Safe can list or delist apps from Safe{Wallet} at its sole discretion. +{% hint style="warning" %} Safe Apps are not owned, controlled, maintained, or audited by Safe. Safe can list or delist apps from Safe{Wallet} at its sole discretion. {% endhint %} From 79ca0554071c4636c73ceb58affc031541d32688 Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 13:12:04 +0200 Subject: [PATCH 05/16] Update get-started.md --- safe-apps/get-started.md | 44 +++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/safe-apps/get-started.md b/safe-apps/get-started.md index d6ca80ea..e1d369b5 100644 --- a/safe-apps/get-started.md +++ b/safe-apps/get-started.md @@ -4,9 +4,7 @@ description: Basic resources to start creating Safe Apps # Getting started -Welcome! We are glad on your interest about creating a Safe App. The team is working hard to provide the tools to make it easier for you to build apps that can interact with Safe. - -Once you are here, the main resources include: +Here are some resources to help you get started with building Safe Apps: * [Safe Apps SDK Packages](./get-started.md#safe-apps-sdk-packages) * [Basic Requirements](./get-started.md#basic-requirements) @@ -14,35 +12,33 @@ Once you are here, the main resources include: ## Safe Apps SDK packages -This is one of our main resources for Safe Apps integrations. Whether you already have a dapp or are thinking about creating a new one, you will find it useful to rely on one of our integrations to easily communicate with Safe{Wallet}. In these packages, you will find integrations with very common packages like Web3Modal, Blocknative onboard.js or web3-react, that you may already be using on your project. +This is one of our main resources for Safe Apps integrations. Whether you already have a dapp or are considering creating a new one, you will find it useful to rely on one of our integrations to communicate with Safe{Wallet}. In these packages, you will find integrations with common packages like Web3Modal, Blocknative onboard.js, and web3-react. For those creating a new dapp, using our [CRA template](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/cra-template-safe-app) to kickstart the basic structure with all the necessary configuration will speed up the process. -[Check more about SDK Packages](./overview.md). - ## Basic requirements -If you already have a dapp, there are some mandatory requirements to adapt your app to be used as a Safe App. Without this basic configuration, the dapp won't work with the Safe as expected. +If you already have a dapp, some mandatory requirements exist to adapt your app to be used as a Safe App. Without this basic configuration, the dapp won't work with the Safe as expected. -If you are using our [CRA template](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/cra-template-safe-app) to start your Safe App, these basic requirements are already included. +If you are using our [CRA template](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/cra-template-safe-app) to start your Safe App, these basic requirements are already satisfied. -#### Manifest +### Manifest It is mandatory that your app exposes a `manifest.json` file in the root dir with this structure: ```json { "name": "YourAppName", - "description": "A description of what your app do", + "description": "A description of what your app does", "iconPath": "myAppIcon.svg" } ``` -> Note: iconPath it's the public relative path where the Safe will try to load your app icon. For this example, it should be https://yourAppUrl/myAppIcon.svg. +**Note:** `iconPath` is the public relative path where Safe will try to load your app icon. For this example, it should be `https://yourAppUrl/myAppIcon.svg`. -#### CORS +### CORS -At some moments we need to be able to reach the `manifest.json` from our app. To allow this it is required to enable **Cross Site Requests** by setting the **CORS** headers to the `manifest.json`. +We need to reach the `manifest.json` from our app. To allow this, it is required to enable *Cross Site Requests* by setting the *CORS* headers to the `manifest.json`. The required headers are: @@ -52,14 +48,14 @@ The required headers are: "Access-Control-Allow-Headers": "X-Requested-With, content-type, Authorization" ``` -#### React development +### React development -It is possible to use the local React development server. For this you need to set the **CORS** headers and make sure to use the same protocol (http or https) as the Safe interface you are using for testing.\ +It is possible to use the local React development server. For this, you need to set the *CORS* headers and use the same protocol (http or https) as the Safe interface you use for testing. **CORS for development** -For this we recommend to use [react-app-rewired](https://www.npmjs.com/package/react-app-rewired). To enable the library update the `scripts` section in the `package.json`: +For this, we recommend to use [react-app-rewired](https://www.npmjs.com/package/react-app-rewired). To enable the library, update the `scripts` section in the `package.json`: ```json "scripts": { @@ -69,7 +65,7 @@ For this we recommend to use [react-app-rewired](https://www.npmjs.com/package/r }, ``` -Additionally, you need to create the `config-overrides.js` file in the root of the project to confirgure the **CORS** headers. The content of the file should be: +Additionally, create the `config-overrides.js` file in the project's root to configure the *CORS* headers. The content of the file should be: ```js /* config-overrides.js */ @@ -82,7 +78,7 @@ module.exports = { // Return the replacement function for create-react-app to use to generate the Webpack // Development Server config. "configFunction" is the function that would normally have // been used to generate the Webpack Development server config - you can use it to create - // a starting configuration to then modify instead of having to create a config from scratch. + // a starting configuration to modify instead of creating a config from scratch. return function (proxy, allowedHost) { // Create the default config by calling configFunction with the proxy/allowedHost parameters const config = configFunction(proxy, allowedHost); @@ -93,7 +89,7 @@ module.exports = { 'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization', }; - // Return your customised Webpack Development Server config. + // Return your customized Webpack Development Server config. return config } }, @@ -102,7 +98,7 @@ module.exports = { **SSL** -To enable SSL with `react-scripts` it is necessary to set the `HTTPS` environment variable to `true`. This can be done in the `package.json` file by adjusting the `scripts` section to: +To enable SSL with `react-scripts`, it is necessary to set the `HTTPS` environment variable to `true`. This can be done in the `package.json` file by adjusting the `scripts` section to: ```json "scripts": { @@ -110,17 +106,15 @@ To enable SSL with `react-scripts` it is necessary to set the `HTTPS` environmen }, ``` -In the case that the SSL certificate provided by `react-scripts` is not valid, it is required to mark it as trusted in your browser. To do this, open the Safe App in a separate tab (not in the Safe interface) and accept the certificate or ignore the warning. +If the SSL certificate provided by `react-scripts` is not valid, it is required to mark it as trusted in your browser. To do this, open the Safe App in a separate tab (not in the Safe interface) and accept the certificate or ignore the warning. ## UI Kit -If you are creating your Safe App from scratch, we provide a reusable react components package to make it easy to build Safe Apps with a near-native look and feel while still enabling developers to use their branding in the Safe Apps. +If you are creating your Safe App from scratch, we provide a reusable react components package to build Safe Apps with a near-native look while enabling developers to use their branding in the Safe Apps. * [Check all available components in the storybook](https://components.safe.global) * [Check UI Kit repository](https://github.com/safe-global/safe-react-components) ## Example app -This tutorial will build a Safe App that enables us to migrate all the assets from a Safe to any other wallet in a single transaction. It doesn't include NFTs, but this is a great thing to do on your own. In addition, you will learn about smart contract wallets, multi-signature transaction flow, and batched transactions. - -Find the Github repo with the complete guide [here](https://github.com/gnosis/safe-apps-sdk/tree/master/guides/drain-safe-app). +This [tutorial](https://github.com/gnosis/safe-apps-sdk/tree/master/guides/drain-safe-app) will build a Safe App that enables us to migrate all the assets from Safe to any other wallet in a single transaction. You will also learn about smart contract wallets, multi-signature transaction flow, and batched transactions. From 44a79fcde4a3cac25ff15a54a2b0308772ab6989 Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 13:24:12 +0200 Subject: [PATCH 06/16] Update get-started.md --- safe-apps/get-started.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/safe-apps/get-started.md b/safe-apps/get-started.md index e1d369b5..e5dd6f36 100644 --- a/safe-apps/get-started.md +++ b/safe-apps/get-started.md @@ -12,9 +12,9 @@ Here are some resources to help you get started with building Safe Apps: ## Safe Apps SDK packages -This is one of our main resources for Safe Apps integrations. Whether you already have a dapp or are considering creating a new one, you will find it useful to rely on one of our integrations to communicate with Safe{Wallet}. In these packages, you will find integrations with common packages like Web3Modal, Blocknative onboard.js, and web3-react. +Whether you already have a dapp or are considering creating a new one, you will find it useful to rely on one of our integrations to communicate with Safe{Wallet}. You will find integrations with common packages like `Web3Modal`, Blocknative onboard.js, and `web3-react` in these packages. -For those creating a new dapp, using our [CRA template](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/cra-template-safe-app) to kickstart the basic structure with all the necessary configuration will speed up the process. +For those creating a new dapp, using the [CRA template](https://github.com/safe-global/safe-apps-sdk/tree/main/packages/cra-template-safe-app) to kickstart the basic structure with all the necessary configuration will speed up the process. ## Basic requirements @@ -24,7 +24,7 @@ If you are using our [CRA template](https://github.com/safe-global/safe-apps-sdk ### Manifest -It is mandatory that your app exposes a `manifest.json` file in the root dir with this structure: +It is mandatory that your app exposes a `manifest.json` file in the root directory with this structure: ```json { @@ -38,7 +38,7 @@ It is mandatory that your app exposes a `manifest.json` file in the root dir wit ### CORS -We need to reach the `manifest.json` from our app. To allow this, it is required to enable *Cross Site Requests* by setting the *CORS* headers to the `manifest.json`. +Safe needs to reach the `manifest.json` from the app. To allow this, it is required to enable *Cross Site Requests* by setting the *CORS* headers to the `manifest.json`. The required headers are: @@ -50,12 +50,12 @@ The required headers are: ### React development -It is possible to use the local React development server. For this, you need to set the *CORS* headers and use the same protocol (http or https) as the Safe interface you use for testing. +It is possible to use the local React development server. For this, you need to set the *CORS* headers and use the same protocol (HTTP or HTTPS) as the Safe interface you use for testing. **CORS for development** -For this, we recommend to use [react-app-rewired](https://www.npmjs.com/package/react-app-rewired). To enable the library, update the `scripts` section in the `package.json`: +For this, use [react-app-rewired](https://www.npmjs.com/package/react-app-rewired). To enable the library, update the `scripts` section in the `package.json`: ```json "scripts": { @@ -65,7 +65,7 @@ For this, we recommend to use [react-app-rewired](https://www.npmjs.com/package/ }, ``` -Additionally, create the `config-overrides.js` file in the project's root to configure the *CORS* headers. The content of the file should be: +Also, create the `config-overrides.js` file in the project's root to configure the *CORS* headers. The content of the file should be: ```js /* config-overrides.js */ @@ -110,11 +110,11 @@ If the SSL certificate provided by `react-scripts` is not valid, it is required ## UI Kit -If you are creating your Safe App from scratch, we provide a reusable react components package to build Safe Apps with a near-native look while enabling developers to use their branding in the Safe Apps. +Safe offers a react components package if you are creating your Safe App from scratch. This helps with a near-native look while enabling developers to use their branding in the Safe Apps. * [Check all available components in the storybook](https://components.safe.global) * [Check UI Kit repository](https://github.com/safe-global/safe-react-components) ## Example app -This [tutorial](https://github.com/gnosis/safe-apps-sdk/tree/master/guides/drain-safe-app) will build a Safe App that enables us to migrate all the assets from Safe to any other wallet in a single transaction. You will also learn about smart contract wallets, multi-signature transaction flow, and batched transactions. +This [tutorial](https://github.com/gnosis/safe-apps-sdk/tree/master/guides/drain-safe-app) will build a Safe App that enables migrating all the assets from Safe to any other wallet in a single transaction. You will also learn about smart contract wallets, multi-signature transaction flow, and batched transactions. From 82b5bd1bfdc8734227b46e257995188acc84f026 Mon Sep 17 00:00:00 2001 From: Tanay Pant Date: Fri, 27 Oct 2023 13:24:29 +0200 Subject: [PATCH 07/16] Add new vocab --- .github/styles/Vocab/default/accept.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/styles/Vocab/default/accept.txt b/.github/styles/Vocab/default/accept.txt index 49697415..1e6ae81d 100644 --- a/.github/styles/Vocab/default/accept.txt +++ b/.github/styles/Vocab/default/accept.txt @@ -38,6 +38,10 @@ ABIs SDK sdk npm +CORS +CRA +HTTP +HTTPS Blocknative ETH EIP From a46d8cfbd9a3c722a9e622b80d16af42744d71af Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 13:38:27 +0200 Subject: [PATCH 08/16] Update release.md --- safe-apps/release.md | 50 ++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/safe-apps/release.md b/safe-apps/release.md index a8b7232e..c84f4db4 100644 --- a/safe-apps/release.md +++ b/safe-apps/release.md @@ -1,24 +1,28 @@ # Releasing your Safe App -### Release process +## Release process -#### How to get your Safe Apps into the hands of users +### Get your Safe Apps into the hands of users -As soon as you finish developing and testing your Safe App, you can already let some actual users test it by simply sending them the link to the hosted Safe App and asking them to add it as a Custom App. [This guide](https://help.safe.global/en/articles/40859-add-a-custom-safe-app) explains how to add custom apps. +As soon as you finish developing and testing your Safe App, you can let users test it by sending them the link to the hosted Safe App and asking them to add it as a Custom App. [This guide](https://help.safe.global/en/articles/40859-add-a-custom-safe-app) explains how to add custom apps. -#### Get your Safe App listed in the Safe +### Get your Safe App listed in Safe{Wallet} + +{% hint style="info" %} There is currently a delay of up to three months for the Safe App review process. {% endhint %} If you would like your Safe App to appear in the Safe, it must meet the following criteria: -**1) Smart contracts must be audited** +#### Smart contracts must be audited + +Security is the top priority for Safe. If the Safe App includes smart contracts of its own, please provide an external audit result document. If a third party created the smart contracts, ensure they are properly audited. -Security it's a top priority. If your Safe App includes smart contracts of your own you should provide an external audit result document. If smart contracts were created by a 3rd party you should be using smart contracts that are properly audited. +#### Your Safe App must include a manifest -**2) Your Safe App must include a manifest.json file at the root containing the following data:** +There should be a `manifest.json` at the root directory containing the following data: `"name": "Name of your Safe App"` -Your Safe App's name, maximum 50 characters. +Your Safe App's name should be a maximum of 50 characters. `"iconPath": "your_logo.svg"` @@ -26,41 +30,41 @@ A relative file path to your App's logo. The icon must be a square SVG image of `"description": "This is the Safe app description."` -Few sentences describing your application, maximum 200 characters +Few sentences describing your application, a maximum of 200 characters -You can find an example manifest file on [Github](https://github.com/safe-global/safe-apps-sdk/blob/main/packages/cra-template-safe-app/template/public/manifest.json). In addition, you can find an example Safe App on IPFS [here](https://ipfs.io/ipfs/QmTgnb1J9FDR9gimptzvaEiNa25s92iQy37GyqYfwZw8Aj/). +You can find an example manifest file on [GitHub](https://github.com/safe-global/safe-apps-sdk/blob/main/packages/cra-template-safe-app/template/public/manifest.json). You can also find an example Safe App on IPFS [here](https://ipfs.io/ipfs/QmTgnb1J9FDR9gimptzvaEiNa25s92iQy37GyqYfwZw8Aj/). Remember that **CORS** should be configured correctly on the `manifest.json` so we can fetch the information as [mentioned here](./get-started.md#cors). -**3) The app auto-connects to the Safe** +#### The app auto-connects to the Safe -When an user opens the app, it should automatically select the Safe as a wallet. Ensure to check the case if the user previously opened the app outside of the Safe with another wallet. +When a user opens the app, it should automatically select the Safe as a wallet. Ensure to check the case if the user previously opened the app outside of the Safe with another wallet. -**4) The Safe team has reviewed the Safe App** +#### The Safe team has reviewed the Safe App -The requirement doesn't apply for battle-tested applications hosted on the same domain like the main dApp. +The requirement doesn't apply for battle-tested applications hosted on the same domain as the main dapp. -While we won't be able to do a proper audit for your Safe App, we still would like to look at the source code to raise issues or suggest improvements. So whether your Safe App is open or closed source, please send us either a **link to the public repo or an invitation to the private code repository**. +While we won't be able to do a proper audit for your Safe App, we still would like to look at the source code to raise issues or suggest improvements. So whether your Safe App is open or closed source, please send us either a link to the public repository or an invitation to the private repository. -We also would like to make a rough functional review of the App, so please provide us with a **high-level test plan/feature list** that allows our QA team to make sure everything works as intended in production. Video walkthroughs are also welcome. +We also would like to make a rough functional review of the App, so please provide us with a high-level test plan/feature list that allows our QA team to ensure everything works as intended in production. Video walkthroughs are also welcome. -**5) Help us decode your Safe App transactions** +#### Help us decode your Safe App transactions We want to display interactions with Safe Apps as human-readable as possible. To do this, we need the contract ABI of the contracts that your Safe App interacts with. The ideal way to do this would be to verify your contracts via [Sourcify](https://github.com/ethereum/sourcify), which we can leverage to decode transactions interacting with those contracts. -Alternatively, you can provide us with the ABIs as JSON files or the links to the verified contracts on Etherscan, so we can implement transaction decoding for your Safe App interactions. +Alternatively, you can provide us with the ABIs as JSON files or the links to the verified contracts on Etherscan so we can implement transaction decoding for your Safe App interactions. -**Create an issue in our repository once you've verified that your app meets these requirements:** [https://github.com/5afe/safe-apps-list](https://github.com/5afe/safe-apps-list) +Create an issue in our [repository](https://github.com/5afe/safe-apps-list) once you've verified that your app meets these requirements. -#### The official launch and beyond +### Official launch and beyond After we have reviewed and integrated your Safe App, the App will first be available in the [staging environment](https://safe-wallet-web.staging.5afe.dev) of the Safe for you to do a final review. We would then approach you to coordinate the launch and a joint announcement. -At any point after the launch, if you or your users encounter issues with the Safe App, or you want to release an update to an existing Safe App, please get in touch with us via [Discord](https://chat.safe.global). +At any point after the launch, if you or your users encounter issues with the Safe App or want to release an update to an existing Safe App, please contact us via [Discord](https://chat.safe.global). -While developing your Safe App you can directly use [our production interface](https://app.safe.global) for testing it. Some testnets like Goerli are also available there. +While developing your Safe App, you can use [our production interface](https://app.safe.global) to test it. Some testnets like Goerli are also available. -Once your app is live, even if you are running it locally, you can import it to the Safe application as a custom app. To do so, you should select the "Apps" tab: +Once your app is live, even if you run it locally, you can import it to the Safe application as a custom app. To do so, you should select the "Apps" tab:
From a7122a0c4f14db726369389d548c5c62bdbdd621 Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 13:42:58 +0200 Subject: [PATCH 09/16] Update release.md --- safe-apps/release.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/safe-apps/release.md b/safe-apps/release.md index c84f4db4..94b8d721 100644 --- a/safe-apps/release.md +++ b/safe-apps/release.md @@ -1,22 +1,22 @@ # Releasing your Safe App -## Release process +Here are some details of the release process for Safe Apps. -### Get your Safe Apps into the hands of users +## Get your Safe Apps into the hands of users -As soon as you finish developing and testing your Safe App, you can let users test it by sending them the link to the hosted Safe App and asking them to add it as a Custom App. [This guide](https://help.safe.global/en/articles/40859-add-a-custom-safe-app) explains how to add custom apps. +Once you finish developing and testing your Safe App, your users can test it by opening the link to the hosted Safe App and adding it as a Custom App. [This guide](https://help.safe.global/en/articles/40859-add-a-custom-safe-app) explains how to add custom apps. -### Get your Safe App listed in Safe{Wallet} +## Get your Safe App listed in Safe{Wallet} {% hint style="info" %} There is currently a delay of up to three months for the Safe App review process. {% endhint %} If you would like your Safe App to appear in the Safe, it must meet the following criteria: -#### Smart contracts must be audited +### Smart contracts must be audited -Security is the top priority for Safe. If the Safe App includes smart contracts of its own, please provide an external audit result document. If a third party created the smart contracts, ensure they are properly audited. +Security is the top priority for Safe. If the Safe App includes its own smart contracts, please provide an external audit result document. If a third party created the smart contracts, ensure they are properly audited. -#### Your Safe App must include a manifest +### Your Safe App must include a manifest There should be a `manifest.json` at the root directory containing the following data: @@ -36,11 +36,11 @@ You can find an example manifest file on [GitHub](https://github.com/safe-global Remember that **CORS** should be configured correctly on the `manifest.json` so we can fetch the information as [mentioned here](./get-started.md#cors). -#### The app auto-connects to the Safe +### The app auto-connects to the Safe When a user opens the app, it should automatically select the Safe as a wallet. Ensure to check the case if the user previously opened the app outside of the Safe with another wallet. -#### The Safe team has reviewed the Safe App +### The Safe team has reviewed the Safe App The requirement doesn't apply for battle-tested applications hosted on the same domain as the main dapp. @@ -48,7 +48,7 @@ While we won't be able to do a proper audit for your Safe App, we still would li We also would like to make a rough functional review of the App, so please provide us with a high-level test plan/feature list that allows our QA team to ensure everything works as intended in production. Video walkthroughs are also welcome. -#### Help us decode your Safe App transactions +### Help us decode your Safe App transactions We want to display interactions with Safe Apps as human-readable as possible. To do this, we need the contract ABI of the contracts that your Safe App interacts with. The ideal way to do this would be to verify your contracts via [Sourcify](https://github.com/ethereum/sourcify), which we can leverage to decode transactions interacting with those contracts. @@ -56,7 +56,7 @@ Alternatively, you can provide us with the ABIs as JSON files or the links to th Create an issue in our [repository](https://github.com/5afe/safe-apps-list) once you've verified that your app meets these requirements. -### Official launch and beyond +## Official launch and beyond After we have reviewed and integrated your Safe App, the App will first be available in the [staging environment](https://safe-wallet-web.staging.5afe.dev) of the Safe for you to do a final review. We would then approach you to coordinate the launch and a joint announcement. From c742fc6d914775960cb4ea92a3ab5a155956827e Mon Sep 17 00:00:00 2001 From: Tanay Pant Date: Fri, 27 Oct 2023 13:43:24 +0200 Subject: [PATCH 10/16] Add new vocab --- .github/styles/Vocab/default/accept.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/styles/Vocab/default/accept.txt b/.github/styles/Vocab/default/accept.txt index 1e6ae81d..2a5526cf 100644 --- a/.github/styles/Vocab/default/accept.txt +++ b/.github/styles/Vocab/default/accept.txt @@ -6,6 +6,7 @@ Safe Modules Safe Guards Safe Transaction Service Safe Apps SDK +Safe App Blockchain blockchain blockchains @@ -20,6 +21,8 @@ Protocol Kit Relay Kit Onramp Kit API Kit +UI Kit +IPFS Onramp Safe Transaction Service Transaction Service From a485a925f553a6a69843d34d4b3335067e24697e Mon Sep 17 00:00:00 2001 From: Tanay Pant Date: Fri, 27 Oct 2023 13:44:26 +0200 Subject: [PATCH 11/16] New words --- .github/styles/Vocab/default/accept.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/styles/Vocab/default/accept.txt b/.github/styles/Vocab/default/accept.txt index 2a5526cf..b3e4a624 100644 --- a/.github/styles/Vocab/default/accept.txt +++ b/.github/styles/Vocab/default/accept.txt @@ -7,6 +7,7 @@ Safe Guards Safe Transaction Service Safe Apps SDK Safe App +Safe Apps Blockchain blockchain blockchains From f9c9a736afd689117157856be9906122538e0219 Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 13:47:58 +0200 Subject: [PATCH 12/16] Update release.md --- safe-apps/release.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/safe-apps/release.md b/safe-apps/release.md index 94b8d721..e3851cbd 100644 --- a/safe-apps/release.md +++ b/safe-apps/release.md @@ -1,6 +1,6 @@ # Releasing your Safe App -Here are some details of the release process for Safe Apps. +Here are some details about the release process for Safe Apps. ## Get your Safe Apps into the hands of users @@ -14,7 +14,7 @@ If you would like your Safe App to appear in the Safe, it must meet the followin ### Smart contracts must be audited -Security is the top priority for Safe. If the Safe App includes its own smart contracts, please provide an external audit result document. If a third party created the smart contracts, ensure they are properly audited. +Security is the top priority for Safe. Please provide an external audit result document if the Safe App includes smart contracts. If a third party created the smart contracts, ensure they are audited. ### Your Safe App must include a manifest @@ -36,7 +36,7 @@ You can find an example manifest file on [GitHub](https://github.com/safe-global Remember that **CORS** should be configured correctly on the `manifest.json` so we can fetch the information as [mentioned here](./get-started.md#cors). -### The app auto-connects to the Safe +### The app auto connects to the Safe When a user opens the app, it should automatically select the Safe as a wallet. Ensure to check the case if the user previously opened the app outside of the Safe with another wallet. @@ -44,13 +44,13 @@ When a user opens the app, it should automatically select the Safe as a wallet. The requirement doesn't apply for battle-tested applications hosted on the same domain as the main dapp. -While we won't be able to do a proper audit for your Safe App, we still would like to look at the source code to raise issues or suggest improvements. So whether your Safe App is open or closed source, please send us either a link to the public repository or an invitation to the private repository. +While we won't be able to do a proper audit for your Safe App, we still would like to look at the source code to raise issues or suggest improvements. Whether your Safe App is open or closed source, please send us either a link to the public repository or an invitation to the private repository. We also would like to make a rough functional review of the App, so please provide us with a high-level test plan/feature list that allows our QA team to ensure everything works as intended in production. Video walkthroughs are also welcome. ### Help us decode your Safe App transactions -We want to display interactions with Safe Apps as human-readable as possible. To do this, we need the contract ABI of the contracts that your Safe App interacts with. The ideal way to do this would be to verify your contracts via [Sourcify](https://github.com/ethereum/sourcify), which we can leverage to decode transactions interacting with those contracts. +We want to display interactions with Safe Apps as human-readable as possible. To do this, we need the ABI of the contracts your Safe App interacts with. The ideal way to do this would be to verify your contracts via [Sourcify](https://github.com/ethereum/sourcify), which we can leverage to decode transactions interacting with those contracts. Alternatively, you can provide us with the ABIs as JSON files or the links to the verified contracts on Etherscan so we can implement transaction decoding for your Safe App interactions. From 8b61f7fe74c4d9b24456901dfd99e4ca2fdbbae2 Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 14:20:53 +0200 Subject: [PATCH 13/16] Update release.md --- safe-apps/release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/safe-apps/release.md b/safe-apps/release.md index e3851cbd..c7787d08 100644 --- a/safe-apps/release.md +++ b/safe-apps/release.md @@ -8,7 +8,7 @@ Once you finish developing and testing your Safe App, your users can test it by ## Get your Safe App listed in Safe{Wallet} -{% hint style="info" %} There is currently a delay of up to three months for the Safe App review process. {% endhint %} +{% hint style="info" %} Currently, we expect delays in the Safe App review process. {% endhint %} If you would like your Safe App to appear in the Safe, it must meet the following criteria: From 9d5aa997e5d668a3a55657ee7864f139dc801e2d Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:48:06 +0200 Subject: [PATCH 14/16] Update safe-apps/release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Germán Martínez <6764315+germartinez@users.noreply.github.com> --- safe-apps/release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/safe-apps/release.md b/safe-apps/release.md index c7787d08..15f6cdc1 100644 --- a/safe-apps/release.md +++ b/safe-apps/release.md @@ -18,7 +18,7 @@ Security is the top priority for Safe. Please provide an external audit result d ### Your Safe App must include a manifest -There should be a `manifest.json` at the root directory containing the following data: +There must be a `manifest.json` at the root directory containing the following data: `"name": "Name of your Safe App"` From 271ad7ee412f843a8fe8fb162a0217f17e610100 Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:48:32 +0200 Subject: [PATCH 15/16] Update safe-apps/release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Germán Martínez <6764315+germartinez@users.noreply.github.com> --- safe-apps/release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/safe-apps/release.md b/safe-apps/release.md index 15f6cdc1..f4818fae 100644 --- a/safe-apps/release.md +++ b/safe-apps/release.md @@ -34,7 +34,7 @@ Few sentences describing your application, a maximum of 200 characters You can find an example manifest file on [GitHub](https://github.com/safe-global/safe-apps-sdk/blob/main/packages/cra-template-safe-app/template/public/manifest.json). You can also find an example Safe App on IPFS [here](https://ipfs.io/ipfs/QmTgnb1J9FDR9gimptzvaEiNa25s92iQy37GyqYfwZw8Aj/). -Remember that **CORS** should be configured correctly on the `manifest.json` so we can fetch the information as [mentioned here](./get-started.md#cors). +Remember that **CORS** needs to be configured correctly on the `manifest.json` so we can fetch the information as [mentioned here](./get-started.md#cors). ### The app auto connects to the Safe From d296d9fa923ca22401d1d1ad4b6277a02fbfd81c Mon Sep 17 00:00:00 2001 From: Tanay Pant <7481165+tanay1337@users.noreply.github.com> Date: Fri, 27 Oct 2023 15:48:44 +0200 Subject: [PATCH 16/16] Update safe-apps/release.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Germán Martínez <6764315+germartinez@users.noreply.github.com> --- safe-apps/release.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/safe-apps/release.md b/safe-apps/release.md index f4818fae..605cd764 100644 --- a/safe-apps/release.md +++ b/safe-apps/release.md @@ -22,7 +22,7 @@ There must be a `manifest.json` at the root directory containing the following d `"name": "Name of your Safe App"` -Your Safe App's name should be a maximum of 50 characters. +Your Safe App's name needs to have 50 characters maximum. `"iconPath": "your_logo.svg"`