Skip to content

Commit

Permalink
Merge pull request #8 from La-DAO/fix/copy
Browse files Browse the repository at this point in the history
fixed index copy and started working on streams
  • Loading branch information
iafhurtado authored Feb 28, 2024
2 parents 8940294 + e3c9341 commit d5ab035
Show file tree
Hide file tree
Showing 12 changed files with 5,575 additions and 183 deletions.
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
"packageManager": "[email protected]",
"dependencies": {
"@nextui-org/modal": "^2.0.28",
"@superfluid-finance/sdk-core": "^0.6.12",
"@superfluid-finance/widget": "^0.4.8",
"@uniswap/sdk-core": "^4.0.10",
"@uniswap/smart-order-router": "^3.21.1",
"@uniswap/v3-sdk": "^3.10.2",
Expand Down
32 changes: 16 additions & 16 deletions packages/nextjs/components/index/data.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import benefitOneImg from "../../public/benefit-one.png";
import benefitOneImg from "../../public/warrior.png";
import benefitTwoImg from "../../public/benefit-two.png";
import {
AdjustmentsHorizontalIcon,
Expand All @@ -11,45 +11,45 @@ import {

const benefitOne = {
title: "El primer peso MXN decentralizado",
desc: "Por medio de contratos inteligentes, $XOC se convierte en una peso MXN digital sin intermediarios de por medio, lo que significa que no está controlada por ningún gobierno o banco central. Esto permite a los usuarios enviar y recibir dinero de forma rápida y segura, sin importar dónde se encuentren.",
desc: "$XOC es la encarnación digital del peso mexicano gracias a los contratos inteligentes. Sin intermediarios, esto significa que está libre de control gubernamental o bancario. Así, los usuarios pueden realizar transacciones de manera rápida y segura, sin importar su ubicación.",
image: benefitOneImg,
bullets: [
{
title: "Tu moneda es codigo en el internet",
desc: "Es la siguiente evolución del dinero en linea.",
title: "Tu moneda, en código en la red:",
desc: "Es la evolución natural del dinero digital.",
icon: <FaceSmileIcon />,
},
{
title: "Transacciones rápidas y seguras",
desc: "Estamos en las redes de Polygon, Gnosis Chain y Optimism.",
title: "Transacciones ágiles y seguras:",
desc: "Con presencia en las redes de Polygon, Gnosis Chain y Optimism, $XOC garantiza rapidez y seguridad en cada transacción.",
icon: <ChartBarSquareIcon />,
},
{
title: "Sin intermediarios de por medio",
desc: "No está controlada por ningún gobierno o banco central.",
title: "Sin intermediarios:",
desc: "Libre de la influencia gubernamental o bancaria, $XOC te ofrece autonomía y libertad financiera.",
icon: <CursorArrowRaysIcon />,
},
],
};

const benefitTwo = {
title: "Construida por La DAO",
desc: "Todo surge desde una comunidad de personas que buscan construir un sistema financiero abierto y descentralizado. La DAO es una organización autónoma descentralizada que se encarga de gestionar todo el trabajo requerido para construir en DeFi.",
title: "Desarrollado por La DAO",
desc: "En el corazón de Scaffold-XOC late el espíritu de una comunidad dedicada a forjar un sistema financiero abierto y descentralizado. La DAO representa una organización autónoma descentralizada que lidera el camino en la construcción de soluciones innovadoras en DeFi.",
image: benefitTwoImg,
bullets: [
{
title: "Construimos usando herramientas Web3",
desc: "OpenZeppelin, Scaffold-Eth-2, DaoHaus, Safe y muchas mas...",
title: "Construyendo con herramientas Web3:",
desc: "Nuestro arsenal está compuesto por las mejores herramientas de Web3, desde OpenZeppelin hasta Scaffold-Eth-2, pasando por DAOHaus y Safe, entre muchas otras. Cada una de estas herramientas es una pieza clave en la construcción de un futuro financiero más inclusivo y accesible.",
icon: <DevicePhoneMobileIcon />,
},
{
title: "Una nueva democracia financiera",
desc: "Todo el trabajo esta direccionado a construir una nueva forma mas justa de hacer finanzas.",
title: "Una nueva era de democracia financiera:",
desc: "Cada línea de código, cada reunión, cada decisión está orientada hacia la creación de un sistema financiero más equitativo y transparente. Nos comprometemos a impulsar una revolución financiera que brinde oportunidades para todos, sin importar su origen o situación económica.",
icon: <AdjustmentsHorizontalIcon />,
},
{
title: "Encuentra un mentor, o se el que nunca tuviste",
desc: "Nos encanta onboardear mas y mas gente dispuesta a contribuir.",
title: "Encuentra un mentor, o el mentor que siempre quisiste tener:",
desc: "En La DAO, valoramos el crecimiento personal y profesional. Estamos aquí para guiar y apoyar a aquellos que desean contribuir y aprender. ¡Únete a nosotros y sé parte de esta emocionante jornada hacia un futuro financiero más brillante y equitativo!",
icon: <SunIcon />,
},
],
Expand Down
10 changes: 5 additions & 5 deletions packages/nextjs/components/index/faq.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const FaqItem = ({ question, answer }) => {
return (
<div className="mb-5">
<details className="w-96 bg-base-100 p-4 rounded-xl shadow-md group mx-auto overflow-hidden max-h-[56px] open:!max-h-[400px] transition-[max-height] duration-500">
<summary className="outline-none cursor-pointer focus:underline focus:text-inherit font-semibold marker:text-inherit group-open:before:rotate-90 before:origin-center relative before:w-[18px] before:h-[18px] before:transition-transform before:duration-200 before:-left-1 before:top-2/4 before:-translate-y-2/4 before:absolute before:bg-no-repeat before:bg-[length:18px_18px] before:bg-center before:bg-[url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22h-6%20w-6%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%3E%0A%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9%205l7%207-7%207%22%20%2F%3E%0A%3C%2Fsvg%3E')]">
<summary className="outline-none cursor-pointer focus:underline focus:text-inherit font-semibold marker:text-inherit group-open:before:rotate-90 before:origin-center relative before:h-[18px] before:transition-transform before:duration-200 before:-left-1 before:top-2/4 before:-translate-y-2/4 before:absolute before:bg-no-repeat before:bg-[length:18px_18px] before:bg-center before:bg-[url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22h-6%20w-6%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%3E%0A%20%20%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M9%205l7%207-7%207%22%20%2F%3E%0A%3C%2Fsvg%3E')]">
{question}
</summary>

Expand Down Expand Up @@ -33,22 +33,22 @@ const faqdata = [
{
question: "Como se respalda el valor de cada $XOC?",
answer:
"Cada $XOC está respaldado por un token ERC20 en la red de Polygon, Gnosis Chain and Optimism, el cual se puede liquidar por el valor equivalente a la deuda en XOC y saldar la cuenta en el proceso, todo confiando en la red de validadores.",
"Cada $XOC está respaldado por un token ERC20 en las redes de Polygon, Gnosis Chain y Optimism. Este respaldo garantiza que cada $XOC pueda ser liquidado por su valor equivalente en deuda en $XOC y saldar la cuenta en el proceso, todo respaldado por la red de validadores.",
},
{
question: "Que puedo hacer con $XOC?",
answer:
"Puedes usar $XOC para pagar tus deudas, comprar bienes y servicios, o simplemente mantenerlo como una reserva de valor como si fuera cualquier otro peso mexicano. Lo mas impactante que puedes hacer es apoyar a la comunidad de La DAO construyendo el siguiente sistema fincanciero abierto y decentralizado.",
"Puedes utilizar $XOC para pagar deudas, adquirir bienes y servicios, o simplemente mantenerlo como reserva de valor, al igual que cualquier otro peso mexicano. Además, puedes apoyar a la comunidad de La DAO construyendo el próximo sistema financiero abierto y descentralizado.",
},
{
question: "Quien mantiene todo esto? ",
answer:
"Usamos un modelo de negocio por medio una DAO, al momento se llama solo 'La DAO' quien se encarga de gestionar todo el trabajo requerido para construir en DeFi.",
"Utilizamos un modelo de negocio basado en una DAO, actualmente conocida como 'La DAO'. Esta organización autónoma descentralizada se encarga de gestionar todo el trabajo necesario para construir en DeFi.",
},
{
question: "Como me involucro? ",
answer:
"Puedes comprar $XOC en cualquier exchange que lo ofrezca, o puedes participar en la DAO y ayudar a construir el futuro de las finanzas descentralizadas. Si tienes alguna habilidad que creas que pueda ser útil, no dudes en contactarnos.",
"Puedes adquirir $XOC en cualquier exchange que lo ofrezca, o participar en la DAO y contribuir a la construcción del futuro de las finanzas descentralizadas. Si tienes habilidades que crees que puedan ser útiles, no dudes en contactarnos.",
},
];

Expand Down
21 changes: 13 additions & 8 deletions packages/nextjs/components/index/hero.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -95,22 +95,27 @@ const Hero = () => {
Bienvenidos
<br />A Scaffold-XOC
</h1>
<p className="py-5 text-xl leading-normal text-gray-500 lg:text-xl xl:text-2xl dark:text-inherit">
Este proyecto open-source es construido con{" "}
<h2 className="text-2xl font-semibold leading-normal text-gray-500 lg:text-2xl xl:text-xl dark:text-inherit">
¡Nos complace tenerte aquí!
</h2>
<p className="py-5 text-xl leading-normal text-gray-500 lg:text-xl dark:text-inherit">
Scaffold-XOC es un proyecto de código abierto diseñado con{" "}
<a
href="https://scaffoldeth.io/"
target="_blank"
rel="noreferrer noopener"
className="text-green-500 underline"
>
scaffold-eth-2
Scaffold-Eth-2.
</a>{" "}
lo que significa que puedes clonar el codigo y usarlo a tu favor. Incluye algunas funciones conectadas a
los contratos de $XOC, incluyendo el ERC-20 y el protocolo para acuñar y quemar el stablecoin y una
interfaz de usuario sencilla con la que interactuar.
Esto significa que puedes clonar el código y empezar a utilizarlo fácilmente. Incluye funciones conectadas
a los contratos de $XOC y el protocolo para acuñar y quemar el stablecoin. Además, cuenta con una interfaz
de usuario intuitiva para que puedas empezar a interactuar de forma sencilla.
</p>
<p className="py-5 text-xl leading-normal text-gray-500 lg:text-xl dark:text-inherit">
Compra tus primeros 100 $XOC para apoyar a los desarrolladores de este proyecto.
<p className="py-5 text-xl leading-normal text-gray-500 lg:text-base dark:text-inherit">
¡No importa tu nivel de experiencia! Ya seas un experto en tecnología blockchain o estés dando tus
primeros pasos, Scaffold-XOC está aquí para ayudarte a comprender y utilizar $XOC de manera fácil y
accesible. ¡Explora, aprende y únete a la revolución de las finanzas descentralizadas con Scaffold-XOC!
</p>

<div className="flex flex-col items-start space-y-3 sm:space-x-4 sm:space-y-0 sm:items-center sm:flex-row">
Expand Down
15 changes: 7 additions & 8 deletions packages/nextjs/components/index/testimonials.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,30 +12,29 @@ const Testimonials = () => {
<div className="lg:col-span-2 xl:col-auto">
<div className="flex flex-col justify-between w-full h-full bg-base-300 px-14 rounded-2xl py-14 dark:bg-trueGray-800">
<p className="text-2xl leading-normal dark:text-inherit">
Share a real <Mark>testimonial</Mark>
that hits some of your benefits from one of your popular customer.
$XOC revolucionó mi desarrollo financiero. Rápido, seguro y empoderador. <Mark>Gracias</Mark> por abrir
posibilidades.
</p>

<Avatar image={userOneImg} name="Sarah Steiner" title="VP Sales at Google" />
<Avatar image={userOneImg} name="Luna Perez" title="VP Sales - Bachoco" />
</div>
</div>
<div className="">
<div className="flex flex-col justify-between w-full h-full bg-base-300 px-14 rounded-2xl py-14 dark:bg-trueGray-800">
<p className="text-2xl leading-normal dark:text-inherit">
Make sure you only pick the <Mark>right sentence</Mark>
to keep it short and simple.
Con $XOC, las transacciones son rápidas y seguras. Me siento parte de una <Mark>comunidad sólida</Mark>.
</p>

<Avatar image={userTwoImg} name="Dylan Ambrose" title="Lead marketer at Netflix" />
<Avatar image={userTwoImg} name="Brian Flores" title="Lead marketer en FEMSA" />
</div>
</div>
<div className="">
<div className="flex flex-col justify-between w-full h-full bg-base-300 px-14 rounded-2xl py-14 dark:bg-trueGray-800">
<p className="text-2xl leading-normal text-inherit dark:text-inherit">
This is an <Mark>awesome</Mark> landing page template I&apos;ve seen. I would use this for anything.
$XOC <Mark>simplifica</Mark> mis transacciones. Empoderamiento financiero y acceso a DeFi. ¡Gracias por la revolución!
</p>

<Avatar image={userThreeImg} name="Gabrielle Winn" title="Co-founder of Acme Inc" />
<Avatar image={userThreeImg} name="Gabriel Guzman" title="Co-Founder de Mercado Libre" />
</div>
</div>
</div>
Expand Down
122 changes: 122 additions & 0 deletions packages/nextjs/components/streams/SuperTokens.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
import React, { useState } from "react";
import { xocolatlABI } from "../xoc-dapp/abis/xocabis";
import { CFAv1ForwarderABI } from "./abis/CFAv1Forwarder";
import { SuperTokenABI } from "./abis/SuperTokenABI";
import { useAccount } from "wagmi";
import { useContractWrite } from "wagmi";

const SupertokensComponent: React.FC = () => {
const { address } = useAccount();
const [approveAmount, setApproveAmount] = useState("");
const [receiverAddress, setReceiverAddress] = useState("");
const [deleteAddress, setDeleteAddress] = useState("");
const [upgradeAmount, setUpgradeAmount] = useState("");
const [downgradeAmount, setDowngradeAmount] = useState("");

const { write: approveUpgrade } = useContractWrite({
address: "0xa411c9Aa00E020e4f88Bc19996d29c5B7ADB4ACf",
abi: xocolatlABI,
functionName: "approve",
args: ["0x2c6dAB164dB072a8E2163fc5A547F229dc185C9f", approveAmount],
});

const { write: upgrade } = useContractWrite({
address: "0x36d9a149895d905D117C38F3090f4344B76Ec9F4",
abi: SuperTokenABI,
functionName: "upgrade",
args: [upgradeAmount],
});

const { write: downgrade } = useContractWrite({
address: "0x36d9a149895d905D117C38F3090f4344B76Ec9F4",
abi: SuperTokenABI,
functionName: "downgrade",
args: [downgradeAmount],
});

const { write: forwarder } = useContractWrite({
address: "0xcfA132E353cB4E398080B9700609bb008eceB125",
abi: CFAv1ForwarderABI,
functionName: "setFlowrate",
args: ["0x36d9a149895d905D117C38F3090f4344B76Ec9F4", receiverAddress, BigInt(100)],
});

const { write: deleteFlow } = useContractWrite({
address: "0xcfA132E353cB4E398080B9700609bb008eceB125",
abi: CFAv1ForwarderABI,
functionName: "deleteFlow",
args: ["0x36d9a149895d905D117C38F3090f4344B76Ec9F4", address, deleteAddress, "0x0"],
});

return (
<>
<div>
<h1>Approve Upgrade</h1>
<input
type="text"
placeholder="Type here"
className="input input-bordered w-full max-w-xs"
value={approveAmount}
onChange={e => setApproveAmount(e.target.value)}
/>
<button className="btn btn-success" onClick={() => approveUpgrade()}>
Approve Upgrade
</button>
</div>
<div>
<h1>Upgrade</h1>
<input
type="text"
placeholder="Type here"
className="input input-bordered w-full max-w-xs"
value={upgradeAmount}
onChange={e => setUpgradeAmount(e.target.value)}
/>
<button className="btn btn-success" onClick={() => upgrade()}>
Upgrade
</button>
</div>
<div>
<h1>Downgrade</h1>
<input
type="text"
placeholder="Type here"
className="input input-bordered w-full max-w-xs"
value={downgradeAmount}
onChange={e => setDowngradeAmount(e.target.value)}
/>
<button className="btn btn-error" onClick={() => downgrade()}>
Downgrade
</button>
</div>
<div>
<h1>Set Flowrate</h1>
<input
type="text"
placeholder="Type here"
className="input input-bordered w-full max-w-xs"
value={receiverAddress}
onChange={e => setReceiverAddress(e.target.value)}
/>
<button className="btn btn-success" onClick={() => forwarder()}>
Set Flowrate
</button>
</div>
<div>
<h1>Delete Flowrate</h1>
<input
type="text"
placeholder="Type receiver address"
className="input input-bordered w-full max-w-xs"
value={deleteAddress}
onChange={e => setDeleteAddress(e.target.value)}
/>
<button className="btn btn-error" onClick={() => deleteFlow()}>
Delete Flowrate
</button>
</div>
</>
);
};

export default SupertokensComponent;
Loading

0 comments on commit d5ab035

Please sign in to comment.