Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
derRizzMeister authored Dec 20, 2024
2 parents 88b2475 + dc84d2c commit d2ccc71
Show file tree
Hide file tree
Showing 56 changed files with 174 additions and 122 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ If you're a builder who wants to add or update your project on the [Base Ecosyst

5. Create a pull request with your changes.

By opening a PR to add your project, you authorize and license Coinbase on a non-exclusive, worldwide, irrevocable, sublicensable, and royalty free basis to reproduce, distribute, transmit, make available, perform, display, or otherwise use the submitted Multimedia Assets for any purpose, including any marketing or promotional activities related to Base or Coinbase. Any goodwill associated with use of trademarks submitted in your Multimedia Assets will inure to your benefit. You further acknowledge and represent that you have all IP rights in the Multimedia Assets, that the Multimedia Assets do not infringe the rights of any third party, and that you have the right to grant this license to Coinbase.
By opening a PR to add your project, you authorize and license Coinbase on a non-exclusive, worldwide, irrevocable, sublicensable, and royalty-free basis to reproduce, distribute, transmit, make available, perform, display, or otherwise use the submitted Multimedia Assets for any purpose, including any marketing or promotional activities related to Base or Coinbase. Any goodwill associated with use of trademarks submitted in your Multimedia Assets will inure to your benefit. You further acknowledge and represent that you have all IP rights in the Multimedia Assets, that the Multimedia Assets do not infringe the rights of any third party, and that you have the right to grant this license to Coinbase.

**Note:** Submissions do not guarantee inclusion and all submissions are subject to review. Your project must be live on Base to potentially be included. Ensure all information is accurate and up-to-date.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ By the end of this lesson you should be able to:

By default, `public` functions can be called by **anyone**, without restriction. Often this is desirable. You want any user to be able to see what NFTs are for sale on your platform, sign up for a service, or read various items stored in state.

However, there will be many functions you **don't** want any user to be able to do, such as setting the fee for using the app, or withdrawing all of the funds in the contract! A common pattern to protect these functions is to use `modifier`s to make sure that only the owner can call these functions.
However, there will be many functions you **don't** want any user to be able to do, such as setting the fee for using the app, or withdrawing all funds in the contract! A common pattern to protect these functions is to use `modifier`s to make sure that only the owner can call these functions.

:::caution

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ The simple and obvious solution is to simply iterate through `numbers` and count
Go ahead and write it on your own. It needs to:

- Instantiate a `uint` to hold the results
- Iterate through all of the values in `numbers` and increment that number if the value is even
- Iterate through all values in `numbers` and increment that number if the value is even
- Return the result

You should end up with something like:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Click the linked address to your contract to return to the contract page. You'll

:::tip

If you have imports, you'll need to right click on the name of the file and choose `Flatten`. Submit the newly generated `filename_flattened.sol` for verification.
If you have imports, you'll need to right-click on the name of the file and choose `Flatten`. Submit the newly generated `filename_flattened.sol` for verification.

:::

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ Reuse `Lock__factory` but use the connect function and pass the address of the n
✔ should have the right owner
✔ shouldn't allow to withdraw before unlock time (51ms)
✔ shouldn't allow to withdraw a non owner
✔ should allow to withdraw a owner
✔ should allow to withdraw an owner
6 passing (2s)
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ Finally, test that the owner can withdraw. You can manipulate the time similarly
<summary>Reveal code</summary>

```tsx
it('should allow to withdraw a owner', async () => {
it('should allow to withdraw an owner', async () => {
const balanceBefore = await ethers.provider.getBalance(await lockInstance.getAddress());

// Its value will be the one we lock at deployment time.
Expand Down Expand Up @@ -320,7 +320,7 @@ You can then run `npx hardhat test` and you should get:
✔ should have the right owner
✔ shouldn"t allow to withdraw before unlock time (51ms)
✔ shouldn"t allow to withdraw a non owner
✔ should allow to withdraw a owner
✔ should allow to withdraw an owner
6 passing (2s)
```
Expand Down
2 changes: 1 addition & 1 deletion apps/base-docs/base-learn/docs/imports/imports-sbs.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The [docs] start with installation instructions, which we'll return to when we s

Find the documentation for the `EnumerableSet` under _Utils_. This library will allow you to create [sets] of `bytes32`, `address`, and `uint256`. Since they're enumerated, you can iterate through them. Neat!

### Implementing the OpenZeppelin EnumeratedSet
### Implementing the OpenZeppelin EnumerableSet

Create a new file to work in and add the `pragma` and license identifier.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Click the chevron to expand your contract in the Deployed Contracts section of t

![Function Buttons](../../assets/images/introduction-to-solidity/remix-contract-buttons.png)

Let's click the retrieve button first. Before clicking, make a prediction: given that the `number` variable was instantiated without a value, what do you thing the return will be?
Let's click the retrieve button first. Before clicking, make a prediction: given that the `number` variable was instantiated without a value, what do you think the return will be?

Go ahead and click – the result will appear below the button as:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ The editor pane loads with the Remix home screen, which contains news, helpful l

![Remix Editor](../../assets/images/introduction-to-solidity/editor-pane.png)

You'll edit your code in the editor pane. It also has most of the features you're expecting, such as syntax and error highlighting. Note that in Remix, errors are not underlines. Instead, you'll see an❗to the left of the line number where the error is present.
You'll edit your code in the editor pane. It also has most of the features you're expecting, such as syntax and error highlighting. Note that in Remix, errors are not underlined. Instead, you'll see an❗to the left of the line number where the error is present.

At the top, you'll see a large green arrow similar to the _Run_ button in other editors. In Solidity, this compiles your code, but it does not run it because you must first deploy your code to the simulated blockchain.

Expand Down
2 changes: 1 addition & 1 deletion apps/base-docs/base-learn/docs/learning-objectives.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ Use the script to regenerate this file.

### [The `useAccount` Hook](./reading-and-displaying-data/useAccount.md)

- Implement the `useAccount`` hook to show the user's address, connection state, network, and balance
- Implement the `useAccount` hook to show the user's address, connection state, network, and balance
- Implement an `isMounted` hook to prevent hydration errors

### [The `useReadContract` Hook](./reading-and-displaying-data/useReadContract.md)
Expand Down
2 changes: 1 addition & 1 deletion apps/base-docs/base-learn/docs/mappings/mappings-sbs.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ Deploy and test again. Success!

One challenging limitation of the `mapping` data type is that it is **not** iterable - you cannot loop through and manipulate or return **all** values in the `mapping`.

At least not with any built in features, but you can solve this on your own. A common practice in Solidity with this and similar problems is to use multiple variables or data types to store the right combination needed to address the issue.
At least not with any built-in features, but you can solve this on your own. A common practice in Solidity with this and similar problems is to use multiple variables or data types to store the right combination needed to address the issue.

### Using a Helper Array

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ You can use this for connection-status-based rendering, to enable or disable con

By the end of this guide you should be able to:

- Implement the `useAccount`` hook to show the user's address, connection state, network, and balance
- Implement the `useAccount` hook to show the user's address, connection state, network, and balance
- Implement an `isMounted` hook to prevent hydration errors

---
Expand Down
4 changes: 2 additions & 2 deletions apps/base-docs/base-learn/docs/storage/simple-storage-sbs.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Learn how to Store data on the blockchain.
hide_table_of_contents: false
---

Ultimately, the power of the blockchain is that anyone can store their data on it via the `storage` in a smart contract. In this step by step guide, you'll learn how to access and use the `storage` data location.
Ultimately, the power of the blockchain is that anyone can store their data on it via the `storage` in a smart contract. In this step-by-step guide, you'll learn how to access and use the `storage` data location.

---

Expand Down Expand Up @@ -149,7 +149,7 @@ Review the **Warning** in the [layout] section of the docs for more details!

### Add a Function to Update `age`

It would also be good to be able update the `age` value. This problem has slightly different considerations. Sadly, `age` will never go down. It should also probably only go up by one year for each update. The `++` operator works in Solidity, so we can use that to create a function that simple increments age when called.
It would also be good to be able to update the `age` value. This problem has slightly different considerations. Sadly, `age` will never go down. It should also probably only go up by one year for each update. The `++` operator works in Solidity, so we can use that to create a function that simple increments age when called.

<details>

Expand Down
6 changes: 3 additions & 3 deletions apps/base-docs/docs/building-with-base/base-contracts.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,15 +108,15 @@ Certain contracts are mandatory according to the [OP Stack SDK](https://stack.op
| DelayedWETHProxy (FDG) | [0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F](https://sepolia.etherscan.io/address/0x489c2E5ebe0037bDb2DC039C5770757b8E54eA1F) |
| DelayedWETHProxy (PDG) | [0x27A6128F707de3d99F89Bf09c35a4e0753E1B808](https://sepolia.etherscan.io/address/0x27A6128F707de3d99F89Bf09c35a4e0753E1B808) |
| DisputeGameFactoryProxy | [0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1](https://sepolia.etherscan.io/address/0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1) |
| FaultDisputeGame | [0x5062792ED6A85cF72a1424a1b7f39eD0f7972a4B](https://sepolia.etherscan.io/address/0x5062792ED6A85cF72a1424a1b7f39eD0f7972a4B) |
| FaultDisputeGame | [0xB7fB44a61fdE2b9DB28a84366e168b14D1a1b103](https://sepolia.etherscan.io/address/0xB7fB44a61fdE2b9DB28a84366e168b14D1a1b103) |
| L1CrossDomainMessenger | [0xC34855F4De64F1840e5686e64278da901e261f20](https://sepolia.etherscan.io/address/0xC34855F4De64F1840e5686e64278da901e261f20) |
| L1ERC721Bridge | [0x21eFD066e581FA55Ef105170Cc04d74386a09190](https://sepolia.etherscan.io/address/0x21eFD066e581FA55Ef105170Cc04d74386a09190) |
| L1StandardBridge | [0xfd0Bf71F60660E2f608ed56e1659C450eB113120](https://sepolia.etherscan.io/address/0xfd0Bf71F60660E2f608ed56e1659C450eB113120) |
| L2OutputOracle | [0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254](https://sepolia.etherscan.io/address/0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254) |
| MIPS | [0x47B0E34C1054009e696BaBAAd56165e1e994144d](https://sepolia.etherscan.io/address/0x47B0E34C1054009e696BaBAAd56165e1e994144d) |
| MIPS | [0x69470D6970Cd2A006b84B1d4d70179c892cFCE01](https://sepolia.etherscan.io/address/0x69470D6970Cd2A006b84B1d4d70179c892cFCE01) |
| OptimismMintableERC20Factory | [0xb1efB9650aD6d0CC1ed3Ac4a0B7f1D5732696D37](https://sepolia.etherscan.io/address/0xb1efB9650aD6d0CC1ed3Ac4a0B7f1D5732696D37) |
| OptimismPortal | [0x49f53e41452C74589E85cA1677426Ba426459e85](https://sepolia.etherscan.io/address/0x49f53e41452C74589E85cA1677426Ba426459e85) |
| PermissionedDisputeGame | [0x593D20C4c69485B95D11507239BE2C725ea2A6fD](https://sepolia.etherscan.io/address/0x593D20C4c69485B95D11507239BE2C725ea2A6fD) |
| PermissionedDisputeGame | [0x68f600e592799c16D1b096616eDbf1681FB9c0De](https://sepolia.etherscan.io/address/0x68f600e592799c16D1b096616eDbf1681FB9c0De) |
| PreimageOracle | [0x92240135b46fc1142dA181f550aE8f595B858854](https://sepolia.etherscan.io/address/0x92240135b46fc1142dA181f550aE8f595B858854) |
| ProxyAdmin | [0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3](https://sepolia.etherscan.io/address/0x0389E59Aa0a41E4A413Ae70f0008e76CAA34b1F3) |
| SystemConfig | [0xf272670eb55e895584501d564AfEB048bEd26194](https://sepolia.etherscan.io/address/0xf272670eb55e895584501d564AfEB048bEd26194) |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Decommissioning Public Geth Archive Snapshots
slug: /decomissioning-public-geth-archive-snapshots
description: Public Geth archive snapshots will be decommissioned on December 15th, 2024.
slug: /decommissioning-public-geth-archive-snapshots
description: Public Geth archive snapshots were decommissioned on December 15th, 2024.
keywords:
[
Geth,
Expand All @@ -20,18 +20,12 @@ hide_table_of_contents: true

# Decommissioning Public Geth Archive Snapshots

As part of our ongoing efforts to optimize our services, we will be deprecating the Public Geth Archive Snapshots on _December 15th, 2024_. We understand that this change may affect your operations if you rely on these snapshots for maintaining your Ethereum infrastructure. This notice aims to provide you with a potential path forward and offer solutions to ensure a smooth transition.
As part of our ongoing efforts to optimize our services, Public Geth Archive Snapshots were deprecated on _December 15th, 2024_. We understand that this change may affect your operations if you rely on these snapshots for maintaining your Ethereum infrastructure. This notice aims to provide you with a potential path forward and offer solutions to ensure a smooth transition.

## Recommended Path Forward

We recommend switching to Reth going forward. We will continue to maintain the Reth archive snapshot.

If you need continued Geth support, we would advise that you maintain your own snapshot that is specific to your infrastructure e.g. EBS on AWS.

To sync a Geth Archive node to tip:

- Download the latest Geth Archive snapshot ~30 days old
- Use a beacon endpoint with historical blob data
- Alternatively you can run your own [blob archiver](https://github.com/base-org/blob-archiver) if you don't want to rely on a third party

If you have any questions or would like assistance, please reach out to us on [Discord](https://base.org/discord) or [GitHub](https://github.com/base-org/base-node).
2 changes: 1 addition & 1 deletion apps/base-docs/docs/security/app-blocklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Ensuring that your app is perceived as trustworthy and not flagged as malicious
- **Accessibility Across Regions**: Avoid geo-blocking or access restrictions that prevent certain regions or countries from accessing your app.
- **Consistent Web2 Behavior**: Avoid rapid or unexplained changes in UI that can make users feel uncertain about the app’s reliability.
- **Transparent Web3 Interactions**: Make sure your app’s web3 interactions are clear and match the UI actions. For example, a “Mint” button should clearly emit a mint transaction.
- **Standard Sign-in Methods**: Provide all standard connection methods for users to sign in, such as WalletConnect / WalletLink or popular browser extension wallets.
- **Standard Sign-in Methods**: Provide all standard connection methods for users to sign in, such as WalletConnect / Coinbase Wallet SDK or popular browser extension wallets.

---

Expand Down
2 changes: 1 addition & 1 deletion apps/base-docs/docs/terms-of-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ These Terms shall not be construed to waive rights that cannot be waived under a

Coinbase is an independent contractor for all purposes. Nothing in these Terms is intended to or shall operate to create a partnership or joint venture between you and Coinbase, or authorize you to act as agent of Coinbase. These Terms are not intended to, and do not, create or impose any fiduciary duties on us. To the fullest extent permitted by law, you acknowledge and agree that we owe no fiduciary duties or liabilities to you or any other party, and that to the extent any such duties or liabilities may exist at law or in equity, those duties and liabilities are hereby irrevocably disclaimed, waived, and foregone. You further agree that the only duties and obligations that we owe you are those set out expressly in these Terms.

### 26. Dispute Resolution, Arbitration Agreement, Class Action Waiver, And Jury Trial Waiver
### 27. Dispute Resolution, Arbitration Agreement, Class Action Waiver, And Jury Trial Waiver

If you have a dispute with us, you agree to first contact Coinbase Support via our Customer Support page (https://help.coinbase.com). If Coinbase Support is unable to resolve your dispute, you agree to follow our Formal Complaint Process. You begin this process by submitting our [complaint form](https://help.coinbase.com/en/coinbase/other-topics/other/how-to-send-a-complaint). If you would prefer to send a written complaint via mail, please include as much information as possible in describing your complaint, including your support ticket number, how you would like us to resolve the complaint, and any other relevant information to us at 82 Nassau St #61234, New York, NY 10038. The Formal Complaint Process is completed when Coinbase responds to your complaint or 45 business days after the date we receive your complaint, whichever occurs first. You agree to complete the Formal Complaint Process before filing an arbitration demand or action in small claims court.

Expand Down
4 changes: 2 additions & 2 deletions apps/base-docs/docs/tools/basenames-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Transferring all 3 to the same address will fully transfer ownership of the Base

### 11. What happens if I forget to renew my Basename?

If you forget to renew your Name, it will enter a grace period of 90 days, during which you can still renew it. If not renewed during this period, the Basename will become available for others to register.
If you forget to renew your Name, it will enter a grace period of 90-days, during which you can still renew it. If not renewed during this period, the Basename will become available for others to register.

### 12. What happens if a Basename is not renewed during the grace period?

Expand All @@ -88,7 +88,7 @@ Currently, only one address at a time can be linked to a Basename. However, we p

### 14. I am a builder. How do I integrate Basenames to my app?

If you're a builder looking to integrate Basenames into your app, [OnchainKit](https://onchainkit.xyz/wallet/wallet-dropdown-basename) is the easiest way to get started (tutorial [here](https://docs.base.org/docs/tools/basenames-tutorial)). If you have ideas for new features or badges that you'd like to integrate with Basenames, we'd love to [hear from you](https://app.deform.cc/form/b9c1c39f-f238-459e-a765-5093ca638075/?page_number=0).
If you're a builder looking to integrate Basenames into your app, [OnchainKit](https://onchainkit.xyz/wallet/wallet-dropdown-basename) is the easiest way to get started (tutorial [here](https://docs.base.org/docs/basenames-tutorial-with-onchainkit)). If you have ideas for new features or badges that you'd like to integrate with Basenames, we'd love to [hear from you](https://app.deform.cc/form/b9c1c39f-f238-459e-a765-5093ca638075/?page_number=0).

### 15. How do I get a Basename for my app or project?

Expand Down
2 changes: 1 addition & 1 deletion apps/base-docs/docs/tools/basenames-onchainkit-tutorial.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Basenames + OnchainKit Tutorial
slug: /basenames-tutorial-with-onchainkit
description: 'A tutorial that teaches how to intergrate Basenames to your wagmi/viem App using OnchainKit'
description: 'A tutorial that teaches how to integrate Basenames to your wagmi/viem App using OnchainKit'
author: hughescoin
keywords: ['build on base', 'viem', 'wagmi', 'frontend', 'onchain app development']
tags: ['account abstraction']
Expand Down
Loading

0 comments on commit d2ccc71

Please sign in to comment.