diff --git a/.github/styles/Microsoft/Contractions.yml b/.github/styles/Microsoft/Contractions.yml index 8c81dcbc..7a4123a9 100644 --- a/.github/styles/Microsoft/Contractions.yml +++ b/.github/styles/Microsoft/Contractions.yml @@ -1,7 +1,7 @@ extends: substitution message: "Use '%s' instead of '%s'." link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-contractions -level: error +level: warning ignorecase: true action: name: replace diff --git a/pages/apps-sdk-release.mdx b/pages/apps-sdk-release.mdx index ab25b65d..267208bd 100644 --- a/pages/apps-sdk-release.mdx +++ b/pages/apps-sdk-release.mdx @@ -21,7 +21,7 @@ criteria: ### Smart contracts must be 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're 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 @@ -63,7 +63,7 @@ Alternatively, you can provide us with the ABIs as JSON files or the links to th ## Official launch and beyond -After we've 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. +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 want to release an update to an existing Safe App, please contact us via [Discord](https://chat.safe.global). diff --git a/pages/bug-bounty.md b/pages/bug-bounty.md index e20033c9..644eb113 100644 --- a/pages/bug-bounty.md +++ b/pages/bug-bounty.md @@ -1,6 +1,6 @@ # Bug Bounty -Participate in the Safe Bug Bounty program to find bugs and get rewards. Earn up to $1,000,000 for every bug you report. Please carefully read through the [submission process](./bug-bounty.md#submission-process) section and get in touch via [bounty@safe.global](mailto:bounty@safe.global). You can also review the [bug bounties](./bug-bounty/past-paid-bounties.md) we've paid in the past. +Participate in the Safe Bug Bounty program to find bugs and get rewards. Earn up to $1,000,000 for every bug you report. Please carefully read through the [submission process](./bug-bounty.md#submission-process) section and get in touch via [bounty@safe.global](mailto:bounty@safe.global). You can also review the [bug bounties](./bug-bounty/past-paid-bounties.md) we have paid in the past. ## Audits diff --git a/pages/sdk-auth-kit/reference/safe-auth-pack.md b/pages/sdk-auth-kit/reference/safe-auth-pack.md index 663d3631..3b6168d3 100644 --- a/pages/sdk-auth-kit/reference/safe-auth-pack.md +++ b/pages/sdk-auth-kit/reference/safe-auth-pack.md @@ -135,7 +135,7 @@ AuthKitSignInData { **Caveats** - To get the Safe addresses, instantiate the `authKit` with the `txServiceUrl` property in the config object. Otherwise, only the EOA will be returned. -- ⚠️ This method currently returns the Safe addresses where the EOA is an owner. It doesn't create a Safe. We're investigating ways to enhance the Auth Kit and the associated flows. +- ⚠️ This method currently returns the Safe addresses where the EOA is an owner. It doesn't create a Safe. We are investigating ways to enhance the Auth Kit and the associated flows. ### `signOut(safeAuthSignOutOptions?)` @@ -217,4 +217,4 @@ safeAuthPack.unsubscribe(packEvent, handler); // Sign out await safeAuthPack.signOut(); -``` \ No newline at end of file +``` diff --git a/pages/sdk-onramp-kit/guides/monerium.md b/pages/sdk-onramp-kit/guides/monerium.md index 5ebecb8c..e2a9ac6b 100644 --- a/pages/sdk-onramp-kit/guides/monerium.md +++ b/pages/sdk-onramp-kit/guides/monerium.md @@ -98,7 +98,7 @@ const orders = await moneriumClient.getOrders() 5. When you reload a page, you usually want to stay authenticated as long as the tokens are valid. To do this, just call the `open()` method without arguments. -6. You're now ready to place orders. In the `production` environment, real funds will be transferred. In the `sandbox` environment, fake money will be used. If you add funds using the `sandbox` or create a transfer from your bank account to your Monerium IBAN in the `production` environment, you'll receive the corresponding tokens in your Safe. For example, if your Monerium IBAN is associated with the EURe token of your Safe, and you transfer 10 euros, the EURe balance of your Safe will be 10 after the SEPA system completes the transfer. +6. You are now ready to place orders. In the `production` environment, real funds will be transferred. In the `sandbox` environment, fake money will be used. If you add funds using the `sandbox` or create a transfer from your bank account to your Monerium IBAN in the `production` environment, you'll receive the corresponding tokens in your Safe. For example, if your Monerium IBAN is associated with the EURe token of your Safe, and you transfer 10 euros, the EURe balance of your Safe will be 10 after the SEPA system completes the transfer. Add tokens to your Safe using the `sandbox`. They should be available almost instantly. You can check the balance of your assets [here](https://app.safe.global/balances) afterwards. diff --git a/pages/sdk-onramp-kit/guides/stripe.md b/pages/sdk-onramp-kit/guides/stripe.md index d23f21d6..cfec0ba2 100644 --- a/pages/sdk-onramp-kit/guides/stripe.md +++ b/pages/sdk-onramp-kit/guides/stripe.md @@ -6,7 +6,7 @@ The [Stripe Crypto Onramp service](https://stripe.com/docs/crypto/overview) allo This guide demonstrates how to use the `StripePack` as part of the [`OnrampKit`](https://github.com/safe-global/safe-core-sdk/tree/main/packages/onramp-kit) and incorporate it into your web application. -We're going to learn how to render the Stripe widget into your page. This widget allows the use your own Ethereum address for onramping cryptocurrencies. As [Stripe API](https://stripe.com/docs/crypto/using-the-api) usage [requires a server](https://stripe.com/docs/crypto/quickstart?client=html&lang=node) to start the interaction with their services, we will also be using a [pre-deployed server](https://github.com/5afe/aa-stripe-service) and providing a public key for testing purposes. +We are going to learn how to render the Stripe widget into your page. This widget allows the use your own Ethereum address for onramping cryptocurrencies. As [Stripe API](https://stripe.com/docs/crypto/using-the-api) usage [requires a server](https://stripe.com/docs/crypto/quickstart?client=html&lang=node) to start the interaction with their services, we will also be using a [pre-deployed server](https://github.com/5afe/aa-stripe-service) and providing a public key for testing purposes. ![The Stripe widget](https://b.stripecdn.com/docs-statics-srv/assets/crypto-onramp-overview.c4c0682697f2cd4c1c2769c3c5e08506.png) @@ -15,7 +15,7 @@ We're going to learn how to render the Stripe widget into your page. This widget 1. [Node.js and npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) 2. [Stripe account to get your own public and private keys](https://dashboard.stripe.com/register) 3. A deployed server ([example](https://github.com/5afe/aa-stripe-service)) for communicating with Stripe APIs. - We're providing both the public key and the server for testing purposes but you must use your own public key and server in production. + We are providing both the public key and the server for testing purposes but you must use your own public key and server in production. ## Install dependencies @@ -25,7 +25,7 @@ yarn add @safe-global/onramp-kit @stripe/stripe-js @stripe/crypto ## Using the `StripePack` in your Web App -The `StripePack` can be used with any frontend framework like React, Vue, Angular or even plain HTML and JavaScript. In this example, we're using it with plain JavaScript. +The `StripePack` can be used with any frontend framework like React, Vue, Angular or even plain HTML and JavaScript. In this example, we are using it with plain JavaScript. 1. Load the application and initialize the `StripePack` using the following snippet: diff --git a/pages/sdk-protocol-kit.md b/pages/sdk-protocol-kit.md index 7b8116d5..9f8de3a1 100644 --- a/pages/sdk-protocol-kit.md +++ b/pages/sdk-protocol-kit.md @@ -15,11 +15,11 @@ For a more detailed guide, including how to integrate with `web3.js` and more Sa ### Install dependencies -First, we'll need to install some dependencies from `safe-core-sdk` and the `ethers` library. +First, we need to install some dependencies from `safe-core-sdk` and the `ethers` library. -To interact with Ethereum and other EVM blockchains in Node, we can either use: web3.js or ethers.js. In this tutorial, we'll use the ethers.js library. To use `web3js`, see [Instantiate an EthAdapter section in Guide: Integrating the Safe Core SDK](https://github.com/safe-global/safe-core-sdk/blob/main/guides/integrating-the-safe-core-sdk.md#instantiate-an-ethadapter). +To interact with Ethereum and other EVM blockchains in Node, we can either use: web3.js or ethers.js. In this tutorial, we will use the ethers.js library. To use `web3js`, see [Instantiate an EthAdapter section in Guide: Integrating the Safe Core SDK](https://github.com/safe-global/safe-core-sdk/blob/main/guides/integrating-the-safe-core-sdk.md#instantiate-an-ethadapter). -The Protocol Kit's compatible only with **ethers.js v6**. Make sure you specify this version when installing the SDK. +The Protocol Kit is compatible only with **ethers.js v6**. Make sure you specify this version when installing the SDK. You can store your environment variables such as private keys in a `.env` file. To read easily from `.env` files, use the `dotenv` library. diff --git a/pages/sdk-relay-kit/guides/gelato-relay.md b/pages/sdk-relay-kit/guides/gelato-relay.md index ae5928c7..3797a8ee 100644 --- a/pages/sdk-relay-kit/guides/gelato-relay.md +++ b/pages/sdk-relay-kit/guides/gelato-relay.md @@ -16,7 +16,7 @@ yarn add ethers @safe-global/relay-kit @safe-global/protocol-kit @safe-global/sa ## Relay Kit options -Currently, the Relay Kit's only compatible with the [Gelato relay](https://docs.gelato.network/developer-services/relay). The Gelato relay can be used in two ways: +Currently, the Relay Kit is only compatible with the [Gelato relay](https://docs.gelato.network/developer-services/relay). The Gelato relay can be used in two ways: 1. [Gelato 1Balance](https://docs.gelato.network/developer-services/relay/payment-and-fees/1balance) 2. [Gelato SyncFee](https://docs.gelato.network/developer-services/relay/quick-start/callwithsyncfee) @@ -24,7 +24,7 @@ Currently, the Relay Kit's only compatible with the [Gelato relay](https://docs. [Gelato 1Balance](https://docs.gelato.network/developer-services/relay/payment-and-fees/1balance) allows you to execute transactions using a prepaid deposit. This can be used to sponsor transactions to other Safes or even to use a deposit on Polygon to pay the fees for a wallet on another chain. -For the 1Balance quickstart tutorial, you will use the Gelato relayer to pay for the gas fees on BNB Chain using the Polygon USDC you've deposited into your Gelato 1Balance account. +For the 1Balance quickstart tutorial, you will use the Gelato relayer to pay for the gas fees on BNB Chain using the Polygon USDC you have deposited into your Gelato 1Balance account. For this tutorial you will need a Safe with a threshold of 1 deployed on BNB Chain. You can create one using [Safe{Wallet}](https://app.safe.global/) or the [Protocol Kit](../../sdk-protocol-kit.md). diff --git a/pages/smart-account-modules.mdx b/pages/smart-account-modules.mdx index 24aa76ca..744d7d78 100644 --- a/pages/smart-account-modules.mdx +++ b/pages/smart-account-modules.mdx @@ -4,7 +4,7 @@ import YouTube from '../components/YouTube' # Safe Modules -Safe Modules add custom features to Safe contracts. They're smart contracts that add functionality to Safe while separating module logic from Safe's core contracts. A basic Safe doesn't require any modules. Adding and removing a module requires confirmation from the configured threshold number of owners. Events are emitted whenever a module is added or removed and a module transaction succeeds or fails. +Safe Modules add custom features to Safe contracts. They are smart contracts that add functionality to Safe while separating module logic from Safe's core contracts. A basic Safe doesn't require any modules. Adding and removing a module requires confirmation from the configured threshold number of owners. Events are emitted whenever a module is added or removed and a module transaction succeeds or fails. Safe Modules can include daily spending allowances, amounts that can be spent without the approval of other owners, recurring transactions modules, and standing orders performed on a recurring date. For example, paying your rent or social recovery modules may allow you to recover a Safe if you lose access to owner accounts. diff --git a/pages/smart-account-signatures/eip-1271.md b/pages/smart-account-signatures/eip-1271.md index b228b2ad..0bff64ed 100644 --- a/pages/smart-account-signatures/eip-1271.md +++ b/pages/smart-account-signatures/eip-1271.md @@ -21,7 +21,7 @@ In order to enable off-chain signing in a Safe App, the `safe-apps-sdk` package ### EIP-191 messages -To sign a message we've to call the `signMessage` function and pass in the message as hex string. +To sign a message we have to call the `signMessage` function and pass in the message as hex string. The signing request will be blocked until the message is fully signed and then return the `signature` as a string. As Safe{Wallet} is a multi signature wallet, this process can take some time because multiple signers may need to sign the message. @@ -41,7 +41,7 @@ After signing a message it will be available in the Safe's Message list (Transac ### EIP-712 typed data -To sign typed data we've to call the `signTypedData` function and pass in the typed data object. +To sign typed data we have to call the `signTypedData` function and pass in the typed data object. The signing request will be blocked until the message is fully signed and then return the `signature` as a string. As Safe{Wallet} is a multi signature wallet, this process can take some time because multiple signers may need to sign the message. @@ -88,7 +88,7 @@ After signing, the message will be available in the Safe's Message list (Transac You can fetch the signature asynchronously instead of waiting for the RPC response via the [Safe Transaction Service](https://github.com/safe-global/safe-transaction-service). -To do so we've to generate a hash of the `message` or `typedData` using ethers `hashMessage(message)` or `_TypedDataEncoder.hash(domain, types, message)` and then compute the `Safe message hash` by calling `getMessageHash(messageHash)` on the Safe contract. +To do so we have to generate a hash of the `message` or `typedData` using ethers `hashMessage(message)` or `_TypedDataEncoder.hash(domain, types, message)` and then compute the `Safe message hash` by calling `getMessageHash(messageHash)` on the Safe contract. ### Example: Get Safe message hash