Skip to content

Commit

Permalink
Merge branch 'master' into cchang/eco
Browse files Browse the repository at this point in the history
  • Loading branch information
chrischang authored Dec 20, 2024
2 parents eb154f8 + a636ee2 commit e4ec3ab
Show file tree
Hide file tree
Showing 27 changed files with 61 additions and 21 deletions.
2 changes: 1 addition & 1 deletion apps/base-docs/docs/contracts.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ This page lists contract addresses for onchain apps that we have deployed.

:::info

Two community projects, [BaseX](https://basex-test.vercel.app/swap?currencyA=ETH&currencyB=0x036CbD53842c5426634e7929541eC2318f3dCF7e&focus=source) and [DapDap](https://testnet.base.dapdap.net/uniswap/swap), provide testnet interfaces for Uniswap contracts if you prefer to interact in the browser instead of with the contracts directly.
If you prefer interacting through a browser instead of directly with the contracts, you can try this community project: [DapDap](https://testnet.base.dapdap.net/uniswap/swap), which provides testnet interfaces for Uniswap contracts.

:::

Expand Down
2 changes: 1 addition & 1 deletion apps/base-docs/docs/tools/bridges-mainnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ See the [sample code repository](https://github.com/base-org/guides/tree/main/br

:::caution

**Double check the token address for ERC-20s** You can use any ERC-20 that is
**Double-check the token address for ERC-20s** You can use any ERC-20 that is
supported on the network. You can check what assets are on Base and the
corresponding contract address via [this hub](https://github.com/ethereum-optimism/ethereum-optimism.github.io/tree/master/data).
Ensure there is an address for `base`, [example](https://github.com/ethereum-optimism/ethereum-optimism.github.io/blob/master/data/WETH/data.json#L16-L18).
Expand Down
15 changes: 11 additions & 4 deletions apps/base-docs/docs/tools/data-indexers.md
Original file line number Diff line number Diff line change
Expand Up @@ -201,15 +201,22 @@ To get started, visit the [developer documentation](https://academy.subquery.net

## The Graph

[The Graph](https://thegraph.com/) is an indexing protocol for organizing blockchain data and making it easily accessible with GraphQL.
[The Graph](https://thegraph.com/) is an indexing protocol that provides an easy way to query blockchain data through APIs known as subgraphs.

Base applications can use GraphQL to query open APIs called subgraphs, to retrieve data that is indexed on the network. With The Graph, you can build serverless applications that run entirely on public infrastructure.
With The Graph, you can benefit from:
- **Decentralized Indexing**: Enables indexing blockchain data through multiple indexers, thus eliminating any single point of failure
- **GraphQL Queries**: Provides a powerful GraphQL interface for querying indexed data, making data retrieval super simple.
- **Customization**: Define your own logic for transforming & storing blockchain data. Reuse subgraphs published by other developers on The Graph Network.

To get started, visit the [documentation](https://thegraph.com/docs/en/) or see [this quickstart](https://thegraph.com/docs/en/cookbook/quick-start/) on how to create, deploy, and query a subgraph.
Follow this [quick-start](https://thegraph.com/docs/en/quick-start/) guide to create, deploy, and query a subgraph within 5 minutes.

#### Supported Networks

- [Base Mainnet](https://thegraph.com/docs/en/#supported-networks)
- Base Mainnet
- Base Sepolia (Testnet)

See [all supported networks](https://thegraph.com/docs/en/#supported-networks)


---

Expand Down
2 changes: 1 addition & 1 deletion apps/base-docs/docs/tools/ethers.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ const ethers = require('ethers');

## Connecting to Base

You can connect to Base by instantiating a new ethers.js `JsonRpcProvider` object with a RPC URL of the Base network:
You can connect to Base by instantiating a new ethers.js `JsonRpcProvider` object with an RPC URL of the Base network:

```javascript
const ethers = require('ethers');
Expand Down
2 changes: 1 addition & 1 deletion apps/base-docs/docs/tools/web3.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ const { Web3 } = require('web3');

## Connecting to Base

You can connect to Base by instantiating a new web3.js `Web3` object with a RPC URL of the Base network:
You can connect to Base by instantiating a new web3.js `Web3` object with an RPC URL of the Base network:

```javascript
const { Web3 } = require('web3');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Obtain a rpc url from the [Node product] and store the url as an environment var

![cdp-node](../../assets/images/verify-with-basescan-api/cdp-node-full.png)

Then store it as a environment variable in your terminal:
Then store it as an environment variable in your terminal:

```bash
export BASE_RPC_URL="your_base_rpc_url"
Expand Down
2 changes: 1 addition & 1 deletion apps/base-docs/tutorials/docs/5_oracles-supra-vrf.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ This will create a Foundry project, which has the following basic layout:

Once your Foundry project has been created, you can now start writing a smart contract.

The Solidity code below defines a basic contract named `RNGContract`. The smart contract's constructor takes in a single `address` and assigns it to a member variable named `supraAddr`. This address corresponds to the [contract address](https://supraoracles.com/docs/vrf/networks/) of the Supra Router Contract that will be used to generate random numbers. The contract address of the Supra Router Contract on Base Sepolia testnet is `0x99a021029EBC90020B193e111Ae2726264a111A2`.
The Solidity code below defines a basic contract named `RNGContract`. The smart contract's constructor takes in a single `address` and assigns it to a member variable named `supraAddr`. This address corresponds to the [contract address](https://docs.supra.com/oracles/data-feeds/pull-oracle/networks) of the Supra Router Contract that will be used to generate random numbers. The contract address of the Supra Router Contract on Base Sepolia testnet is `0x99a021029EBC90020B193e111Ae2726264a111A2`.

The contract also assigns the contract deployer (`msg.sender`) to a member variable named `supraClientAddress`. This should be the client wallet address that is registered and whitelisted to use Supra VRF (see: [Prerequisites](#prerequisites)).

Expand Down
5 changes: 5 additions & 0 deletions apps/web/global.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,8 @@ declare module '*.gltf' {
const src: string;
export default src;
}

declare module '*.mp4' {
const src: string;
export default src;
}
13 changes: 13 additions & 0 deletions apps/web/next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,19 @@ module.exports = extendBaseConfig(
},
],
});
config.module.rules.push({
test: /\.mp4$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name][hash].[ext]',
outputPath: 'static/assets/mp4/',
publicPath: '/_next/static/assets/mp4/',
},
},
],
});
config.module.rules.push({
test: /\.gltf/,
use: [
Expand Down
Binary file added apps/web/public/images/partners/minimatch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/web/public/images/partners/moxie.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ export type UseFrameOptions<
frameActionProxy: string;
/** the route used to GET the initial frame via proxy */
frameGetProxy: string;
/** an signer state object used to determine what actions are possible */
/** a signer state object used to determine what actions are possible */
signerState: SignerStateInstance<TSignerStorageType, TFrameActionBodyType, TFrameContextType>;
/** the url of the homeframe, if null / undefined won't load a frame */
homeframeUrl: string | null | undefined;
Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
import { useErrors } from 'apps/web/contexts/Errors';
import Title from 'apps/web/src/components/base-org/typography/Title';
import { TitleLevel } from 'apps/web/src/components/base-org/typography/Title/types';

import Text from 'apps/web/src/components/base-org/typography/Text';
import Button from 'apps/web/src/components/base-org/Button';
import { ButtonVariants } from 'apps/web/src/components/base-org/Button/types';
import { useCallback, useRef } from 'react';
import cubes from './assets/cubes.webm';
import cubes from './assets/cubes.mp4';
import Link from 'apps/web/src/components/Link';

export default function BuildAndRewardSection() {
Expand All @@ -26,7 +25,7 @@ export default function BuildAndRewardSection() {
<div className="mb-12 mt-8 flex w-full flex-col items-center gap-4 md:flex-row">
<div className="relative flex w-full flex-row gap-4" onMouseEnter={playVideo}>
<video
src={cubes}
src={`${cubes}#t=0.001`}
muted
playsInline
className="mx-auto p-2 motion-reduce:hidden"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ import { CSSProperties, useRef } from 'react';
export default function SlidingTextSection() {
const containerRef = useRef<HTMLDivElement>(null);

const text = ' Base is for everyone - بایس للجمیع - Base es para todos - 基地适合所有人 - La Base è per tutti - Base est pour tout le monde - Base ni ya kila mtu - Base yɛ ma obiara - Base nye amesiame tɔ - Base ji he ni mɔ fɛɛ mɔ yɔɔ - ';

const text = ' Base is for everyone - بایس للجمیع - Base es para todos - 基地适合所有人 - La Base è per tutti - Base est pour tout le monde - Base ni ya kila mtu - Base yɛ ma obiara - Base nye amesiame tɔ - Base ji he ni mɔ fɛɛ mɔ yɔɔ - Base är för alla - Base สำหรับทุกคน - ';

const containerClasses = classNames(
'relative w-full overflow-hidden rounded-2xl bg-blue p-8',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,12 @@ export default function VideoCard({ title, description, src }: VideoCardProps) {
logError(error, 'failed to play video');
});
}, [logError]);

return (
<div onMouseEnter={playVideo} className="w-full">
<Card innerClassName="p-6 transition-all bg-[#0A0B0C] group-hover:bg-[#111111]">
<video
src={src}
src={`${src}#t=0.001`}
muted
playsInline
className="mx-auto mt-6 motion-reduce:hidden"
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use client';
import bolt from './assets/bolt.webm';
import eth from './assets/eth.webm';
import globe from './assets/globe.webm';
import bolt from './assets/bolt.mp4';
import eth from './assets/eth.mp4';
import globe from './assets/globe.mp4';
import VideoCard from 'apps/web/src/components/base-org/root/VideoCardsSection/VideoCard';
import Link from 'apps/web/src/components/Link/index';

Expand Down
16 changes: 16 additions & 0 deletions apps/web/src/data/ecosystem.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
[
{
"name": "Moxie Protocol",
"description": "Moxie is a SocialFi protocol on the Base blockchain that allows users to create and interact with Fan Tokens.",
"url": "https://moxie.xyz",
"imageUrl": "/images/partners/moxie.png",
"category": "consumer",
"subcategory": "social"
},
{
"name": "MADNFT",
"description": "MADNFT is a creator-first NFT platform empowering artists, collectors, and communities with tools to mint, list, and engage while earning XP points and rewards.",
Expand Down Expand Up @@ -103,6 +111,14 @@
"category": "onramp",
"subcategory": "fiat on-ramp"
},
{
"name": "MiniMatch",
"description": "MiniMatch offers a thrilling \"spot-the-ball\" game, where players challenge their skills to predict the ball's location and win the competition. The skill-based game is a fully on-chain experience.",
"url": "https://www.minimatch.gg/spot-the-ball",
"imageUrl": "/images/partners/minimatch.png",
"category": "consumer",
"subcategory": "gaming"
},
{
"name": "Heroes of Mavia",
"description": "Heroes of Mavia is a mobile multiplayer Web3 strategy game where players use their base and army to battle other players. ",
Expand Down
2 changes: 1 addition & 1 deletion apps/web/src/hooks/useSetPrimaryBasename.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import useWriteContractWithReceipt from 'apps/web/src/hooks/useWriteContractWith
import { useUsernameProfile } from 'apps/web/src/components/Basenames/UsernameProfileContext';

/*
A hook to set an name as primary for resolution.
A hook to set a name as primary for resolution.
Responsabilities:
- Get and validate the primary username against the new username
Expand Down

0 comments on commit e4ec3ab

Please sign in to comment.