feat: Celo AA app

feat: Celo AA app

diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..5ff9d1f
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+    "xml.downloadExternalResources.enabled": true
+}
diff --git a/package.json b/package.json
index 6a8e927..6ba28fe 100644
--- a/package.json
+++ b/package.json
@@ -11,8 +11,8 @@
     "deploy": "next build && next export && npx thirdweb@latest upload out"
   },
   "dependencies": {
-    "@thirdweb-dev/react": "^3",
-    "@thirdweb-dev/sdk": "^3",
+    "@thirdweb-dev/react": "^3.14.3",
+    "@thirdweb-dev/sdk": "^3.10.25",
     "ethers": "^5",
     "next": "^13",
     "react": "^18.2",
@@ -25,4 +25,4 @@
     "eslint-config-next": "^13",
     "typescript": "^4.9.4"
   }
-}
+}
diff --git a/pages/_app.tsx b/pages/_app.tsx
index 7d65f13..6e2e76c 100644
--- a/pages/_app.tsx
+++ b/pages/_app.tsx
@@ -1,33 +1,36 @@
 import type { AppProps } from "next/app";
 import { ThirdwebProvider, smartWallet } from "@thirdweb-dev/react";
 import "../styles/globals.css";
+import { CeloAlfajoresTestnet } from "@thirdweb-dev/chains";
 
 // Mumbai is where our wallet factory and NFT collection are deployed
-const activeChain = "mumbai";
+const activeChain = "celo-alfajores-testnet";
 
 function MyApp({ Component, pageProps }: AppProps) {
-  return (
-    <ThirdwebProvider
-      activeChain={activeChain}
-      // Define that we only want to support Account Abstraction wallets aka Smart Wallets
-      supportedWallets={[
-        smartWallet({
-          // View my Factory Contract: https://thirdweb.com/mumbai/0x69608a6fE2e1Ce34eAcC4688502b2a2A1209EE2c
-          // Deploy your own Factory: https://thirdweb.com/thirdweb.eth/AccountFactory
-          factoryAddress: "0x69608a6fE2e1Ce34eAcC4688502b2a2A1209EE2c",
+    return (
+        <ThirdwebProvider
+            activeChain={activeChain}
+            supportedChains={[CeloAlfajoresTestnet]}
+            // Define that we only want to support Account Abstraction wallets aka Smart Wallets
+            supportedWallets={[
+                smartWallet({
+                    // View my Factory Contract: https://thirdweb.com/mumbai/0x69608a6fE2e1Ce34eAcC4688502b2a2A1209EE2c
+                    // Deploy your own Factory: https://thirdweb.com/thirdweb.eth/AccountFactory
+                    factoryAddress:
+                        "0x7FDaA334E6A515dF22583c5dfe78B302a3dfE3F8",
 
-          // Gasless mode on: means the smart wallet does not need to be funded with any ETH / MATIC.
-          gasless: true,
+                    // Gasless mode on: means the smart wallet does not need to be funded with any ETH / MATIC.
+                    gasless: true,
 
-          // API Key from the thirdweb dashboard. (You'll want to keep yours a secret)
-          thirdwebApiKey:
-            "e8472076e04067de52bd9b2251296f60d1da22f07e4c60c6cf8bbcfb3590aa474d045c0c62aeb2f7372b497f30def195f2152625a3603760352461dcbd0e0ed3",
-        }),
-      ]}
-    >
-      <Component {...pageProps} />
-    </ThirdwebProvider>
-  );
+                    // API Key from the thirdweb dashboard. (You'll want to keep yours a secret)
+                    thirdwebApiKey:
+                        "062d6f2ff548b8df07d2cc215d60df0d6ab17e19b6250c6f5d3fa53706b6888e41f34b51f9d7f73f956137b4ebaf4bff095aea43969eda40fb7ad713772e8242",
+                }),
+            ]}
+        >
+            <Component {...pageProps} />
+        </ThirdwebProvider>
+    );
 }
 
 export default MyApp;
diff --git a/pages/index.tsx b/pages/index.tsx
index 92d996c..aaa041e 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -10,28 +10,30 @@ import type { NextPage } from "next";
  * This triggers the UserOperation to be sent to the alt mempool, kicking off the EIP-4337 flow.
  */
 const Home: NextPage = () => {
-  return (
-    <div className={styles.container}>
-      <h1 className={styles.title}>Account Abstraction</h1>
-      <p className={styles.desc}>Mint an NFT from a smart contract wallet</p>
+    return (
+        <div className={styles.container}>
+            <h1 className={styles.title}>Account Abstraction</h1>
+            <p className={styles.desc}>
+                Mint an NFT from a smart contract wallet
+            </p>
 
-      {/* This button acts as a connect wallet button if one is not already connected. */}
-      <Web3Button
-        contractAddress="0x91B3Af7afd6B169121Dcce83d4d8377fD6E76285"
-        action={(contract) =>
-          // Call the "mintTo" function with the following metadata.
-          // Metadata is uploaded to IPFS and pinned before the transaction is sent.
-          contract.erc721.mint({
-            name: "NFT on my AA",
-            description: "This is an NFT on my AA",
-            image: "ipfs://Qmcny3J5yGpWjJsvR92DQAZcHYWLDep6GdgdKJTRxU1qyo",
-          })
-        }
-      >
-        Mint An NFT
-      </Web3Button>
-    </div>
-  );
+            {/* This button acts as a connect wallet button if one is not already connected. */}
+            <Web3Button
+                contractAddress="0xf443938B2D1fecEE94239Da4D17871797CD58e16"
+                action={(contract) =>
+                    // Call the "mintTo" function with the following metadata.
+                    // Metadata is uploaded to IPFS and pinned before the transaction is sent.
+                    contract.erc721.mint({
+                        name: "NFT on my AA",
+                        description: "This is an NFT on my AA",
+                        image: "ipfs://Qmcny3J5yGpWjJsvR92DQAZcHYWLDep6GdgdKJTRxU1qyo",
+                    })
+                }
+            >
+                Mint An NFT
+            </Web3Button>
+        </div>
+    );
 };
 
 export default Home;
diff --git a/public/favicon.ico b/public/favicon.ico
index 81240f9..52c5ead 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/public/logo.svg b/public/logo.svg
new file mode 100755
index 0000000..06bf915
--- /dev/null
+++ b/public/logo.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 26.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Wordmark" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 968 219" style="enable-background:new 0 0 968 219;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill-rule:evenodd;clip-rule:evenodd;}
+</style>
+<g>
+	<path d="M858.1,189.8c44.4,0,80-35.9,80-80.3c0-44.4-35.6-80-80-80c-44.4,0-80,35.9-80,80C778.2,153.5,814.1,189.8,858.1,189.8z
+		 M749.1,0.4h218.4v218.4H749.1V0.4z"/>
+	<path class="st0" d="M430.3,142.6c-12.8,27.8-40.6,47.2-73.1,47.2c-43.1,0-78.4-34.4-80-77.2h189.3V0.4H248.2v218.4h218.4v-76.2
+		H430.3z M280.7,85.7h152.5c-11.2-37.2-41.2-56.2-75.9-56.2S290.3,49.8,280.7,85.7L280.7,85.7z"/>
+	<path d="M218.8,0.4H0.4v218.4h218.4v-76.2h-36.2c-12.5,27.8-40.6,47.2-72.8,47.2c-44.4,0-80.3-36.2-80.3-80.3
+		c0-44.1,35.9-80,80.3-80c32.8,0,60.9,20,73.4,48.4h35.6V0.4z"/>
+	<path d="M721.8,142.6h-36.2v0c-10.9,28.7-40.3,46.9-73.7,46.9c-43.1,0-79.4-31.2-79.4-80V0.4h-36.9v218.4h226.2V142.6z"/>
+</g>
+</svg>
diff --git a/public/thirdweb.svg b/public/thirdweb.svg
deleted file mode 100644
index 86f54ec..0000000
--- a/public/thirdweb.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<svg width="1126" height="700" viewBox="0 0 1126 700" fill="none" xmlns="http://www.w3.org/2000/svg">

[... diff too long, it was truncated ...]

GitHub
sha: 300a640091e566ef97195aa7ccca561da016c35c

1 Like