profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/serh11p/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Serhii Pashchenko serh11p Kyiv, Ukraine High Stack Engineer • Functional & Reactive programming • JS Front-End: Vanilla, React(+Native), 3D or smth special • Elixir or NodeJS Back-End • Blockchain

lourenc/tinytyper 175

⌨️ A tiny library for creating a typing effect on specified text element.

madfish-solutions/templewallet-extension 89

🔐💰Cryptocurrency wallet for Tezos blockchain as Web extension for your Browser.

madfish-solutions/quipuswap-core 37

🧙‍♂️ Repository containing QuipuSwap liquidity protocol smart-contracts written in Ligo language

madfish-solutions/quipuswap-webapp 17

🌐 🧙‍♂️ Decentralized application UI for Quipuswap protocol.

KStasi/fa2-deployer 13

🍪🍯 FA2 Bakery - token constructor on Tezos. Deploy your own token now!

madfish-solutions/templewallet-mobile 9

📱🔐💰 Mobile cryptocurrency wallet for Tezos blockchain.

serh11p/rollup-plugin-regenerator 9

Provides transforming generator and async functions with ES5 Promise based functions.

serh11p/woozie 3

🕴🏻 Modern, explicit and browser-first routing for React.

BCHDEVCON3/slp-cocktail 2

Decentralized coinjoins for SLP tokens

KStasi/slp-ship-contracts 2

Smart contracts for Slp Ship (Coinparty hackathon)

startedrustdesk/rustdesk

started time in 5 days

startedlukeed/mri

started time in 5 days

startedsql-js/sql.js

started time in 10 days

startedzio/zio

started time in 10 days

PullRequestReviewEvent

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

+import React, { forwardRef } from "react";++import { browser } from "webextension-polyfill-ts";++import { ReactComponent as ChevronDownIcon } from "../../icons/chevron-down.svg";+import AssetIcon from "../../templates/AssetIcon";

Replace only this two imports relative to root

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

+import axios from "axios";++const apiKey = process.env.EXOLIX_API_TOKEN;++axios.defaults.headers.common = { Authorization: `bearer ${apiKey}` };

Remove this patch of global axios.

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

+import { useEffect } from "react";++import {+  exchangeDataInterface,+  getExchangeData,+} from "lib/templewallet-api/exolix";++const useTopUpUpdate = (+  exchangeData: exchangeDataInterface | null,+  setExchangeData: (exchangeData: exchangeDataInterface | null) => void,+  setIsError: (isError: boolean) => void+) => {+  useEffect(() => {+    const statusCheck = setTimeout(function repeat() {+      (async () => {+        try {+          const data = await getExchangeData(exchangeData!.id);+          console.log({ data });+          setExchangeData(data);+          setTimeout(repeat, 3000);

set return value of this setTimeout to timeoutId too

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

 const Explore: FC<ExploreProps> = ({ assetSlug }) => {   const { fullPage, registerBackHandler } = useAppEnv();   const account = useAccount();   const { search } = useLocation();+  const network = useNetwork();+  console.log({ network });

Remove console.log

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

+import { useEffect } from "react";++import {+  exchangeDataInterface,+  getExchangeData,+} from "lib/templewallet-api/exolix";++const useTopUpUpdate = (+  exchangeData: exchangeDataInterface | null,+  setExchangeData: (exchangeData: exchangeDataInterface | null) => void,+  setIsError: (isError: boolean) => void+) => {+  useEffect(() => {+    const statusCheck = setTimeout(function repeat() {

Rename this to "timeoutId"

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

+import React, { FC } from "react";++import classNames from "clsx";++import styles from "app/atoms/Stepper.module.css";+import { ReactComponent as OkIcon } from "app/icons/ok.svg";++interface Props {+  style: React.CSSProperties;+  steps: {+    label: string;+  }[];+  currentStep: number;+}++const Stepper: FC<Props> = ({ style, steps, currentStep = 2 }) => (+  <div className={classNames(styles["stepperWrapper"])} style={style}>+    {steps.map((stepItem, index) => (+      <div className="stepBlock" key={stepItem.label + index}>+        <p>{stepItem.label}</p>+        <div className={styles["stepWrapper"]}>+          <div+            onClick={() => console.log({ index })}

Remove console.log

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

+import { useEffect } from "react";++import {+  exchangeDataInterface,+  getExchangeData,+} from "lib/templewallet-api/exolix";

Move to "lib/exolix" or "lib/exolix-api"

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

+import React, { FC, useEffect } from "react";++import classNames from "clsx";+import Countdown from "react-countdown";+import { QRCode } from "react-qr-svg";++import CopyButton from "app/atoms/CopyButton";+import Divider from "app/atoms/Divider";+import FormField from "app/atoms/FormField";+import HashShortView from "app/atoms/HashShortView";+import { ReactComponent as CopyIcon } from "app/icons/copy.svg";+import ErrorComponent from "app/pages/BuyCrypto/steps/ErrorComponent";+import useTopUpUpdate from "app/pages/BuyCrypto/utils/useTopUpUpdate";+import { T } from "lib/i18n/react";+import { exchangeDataInterface } from "lib/templewallet-api/exolix";+import useCopyToClipboard from "lib/ui/useCopyToClipboard";++interface Props {+  exchangeData: exchangeDataInterface | null;+  setExchangeData: (exchangeData: exchangeDataInterface | null) => void;+  step: number;+  setStep: (step: number) => void;+  isError: boolean;+  setIsError: (error: boolean) => void;+}++const ApproveStep: FC<Props> = ({+  exchangeData,+  setExchangeData,+  setStep,+  step,+  isError,+  setIsError,+}) => {+  const { copy } = useCopyToClipboard();++  useTopUpUpdate(exchangeData, setExchangeData, setIsError);++  useEffect(() => {+    if (exchangeData) {+      if (exchangeData.status === "confirmation") {+        setStep(step + 1);+      }+      if (exchangeData.status === "overdue") {+        setIsError(true);+      }+    }+  }, [exchangeData, step, setStep, setIsError]);++  return (+    <>+      <div className="w-64 m-auto">+        <p className="text-center text-base mt-4 text-gray-700">+          <T id={"deposit"} />+        </p>+        <p className="text-center text-xs text-gray-700 mt-1">+          <T id={"depositDescription"} />+        </p>+      </div>+      {isError ? (+        <ErrorComponent+          exchangeData={exchangeData}+          setIsError={setIsError}+          setStep={setStep}+          setExchangeData={setExchangeData}+        />+      ) : (+        <>+          <Countdown+            renderer={(props) => (+              <p+                style={{ color: "#1B262C" }}+                className="text-center mt-12 text-2xl"+              >+                {props.minutes}:+                {props.seconds < 10 ? "0" + props.seconds : props.seconds}+              </p>+            )}+            date={exchangeData!.created_at * 1000 + 3600000}+            onComplete={() => setIsError(true)}+          />+          <Divider style={{ marginTop: "2rem" }} />+          <div className="flex justify-between items-baseline">+            <p className="text-gray-600 text-xs">+              <T id={"sendByOneTransaction"} />+            </p>+            <p style={{ color: "#1B262C" }} className="text-2xl">+              {exchangeData!.amount_from} {exchangeData!.coin_from}+            </p>+          </div>+          <div className="flex justify-between items-baseline">+            <p className="text-gray-600 text-xs">+              <T id={"youGet"} />+            </p>+            <p style={{ color: "#1B262C" }} className="text-xs">+              {exchangeData!.amount_to} {exchangeData!.coin_to}+            </p>+          </div>+          <div className="flex justify-between items-baseline">+            <p className="text-gray-600 text-xs">+              <T id={"fixedRate"} />+            </p>+            <p style={{ color: "#1B262C" }} className="text-xs">+              1 {exchangeData!.coin_from} = {exchangeData!.rate}{" "}+              {exchangeData!.coin_to}+            </p>+          </div>+          <div className="flex justify-between items-baseline">+            <p className="text-gray-600 text-xs">+              <T id={"transactionId"} />+            </p>+            <span>+              <p+                style={{ color: "#1B262C" }}+                className="text-xs inline align-text-bottom"+              >+                {exchangeData!.id}+              </p>+              <CopyButton text={exchangeData!.id} type="link">+                <CopyIcon+                  style={{ verticalAlign: "inherit" }}+                  className={classNames(+                    "h-4 ml-1 w-auto inline",+                    "stroke-orange stroke-2"+                  )}+                  onClick={() => copy()}+                />+              </CopyButton>+            </span>+          </div>+          <p className="text-gray-600 text-xs text-center mt-6">+            <T+              id={"depositAddressText"}+              substitutions={[exchangeData!.coin_from]}+            />+          </p>+          <QRCode+            value={exchangeData!.deposit_address}+            style={{ width: "160px", margin: "24px auto" }}+          />+          <FormField+            rows={2}+            size={36}+            spellCheck={false}+            readOnly+            style={{+              resize: "none",+              textAlign: "center",+            }}+            textarea+            value={exchangeData!.deposit_address}+            copyable+          />+          {exchangeData!.deposit_extra !== null && (+            <>+              <p className="text-gray-600 text-xs text-center mt-6">+                <T id={"atomDepositMemo"} />+              </p>+              <QRCode+                value={exchangeData!.deposit_extra}+                style={{ width: "160px", margin: "24px auto" }}+              />+              <FormField+                rows={1}+                size={36}+                spellCheck={false}+                readOnly+                style={{+                  resize: "none",+                  textAlign: "center",+                }}+                textarea+                value={exchangeData!.deposit_extra}+                copyable+              />+            </>+          )}++          <Divider style={{ marginTop: "2.5rem" }} />+          <div className="flex justify-between items-baseline mt-4 mb-12">+            <p className="text-gray-600 text-xs">+              <T id={"recipientAddress"} />+            </p>+            <p style={{ color: "#1B262C" }} className="text-xs">+              <HashShortView hash={exchangeData!.destination_address} />+            </p>+          </div>+          <div>+            <p+              onClick={async () => {+                await setStep(0);

Remove async/await here. There's no need for that here.

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

+import { useEffect } from "react";++import {+  exchangeDataInterface,+  getExchangeData,+} from "lib/templewallet-api/exolix";++const useTopUpUpdate = (+  exchangeData: exchangeDataInterface | null,+  setExchangeData: (exchangeData: exchangeDataInterface | null) => void,+  setIsError: (isError: boolean) => void+) => {+  useEffect(() => {+    const statusCheck = setTimeout(function repeat() {+      (async () => {+        try {+          const data = await getExchangeData(exchangeData!.id);+          console.log({ data });

Remove console.log

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

 TEMPLE_WALLET_LOGO_URL = https://templewallet.com/logo.png TEMPLE_WALLET_LV_ACCOUNT_PKH = tz1fVQangAfb9J1hRRMP2bSB6LvASD6KpY8A TEMPLE_WALLET_LV_ACCOUNT_PUBLIC_KEY = edpkvWbk81uh1DEvdWKR4g1bjyTGhdu1mDvznPUFE2zDwNsLXrEb9K TEMPLE_WALLET_SEGMENT_WRITE_KEY = N1pFDJgp6ZJ6s5zfTM0cDhUWWhnE1TkS+EXOLIX_API_TOKEN = eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImVjZWI3ODllZDFmMGE1YjE0NTMwNGFmNTViMzQ4MDZkMDQxYmM1ZDI0NThlN2ZhODZlZGE1MzJlY2QzYTFkZDg1ZWExYzk3YjVlZjNmMTgwIn0.eyJhdWQiOiIzIiwianRpIjoiZWNlYjc4OWVkMWYwYTViMTQ1MzA0YWY1NWIzNDgwNmQwNDFiYzVkMjQ1OGU3ZmE4NmVkYTUzMmVjZDNhMWRkODVlYTFjOTdiNWVmM2YxODAiLCJpYXQiOjE2Mjg3NzY2MzQsIm5iZiI6MTYyODc3NjYzNCwiZXhwIjoxOTQ0MzA5NDM0LCJzdWIiOiIxMjM3MCIsInNjb3BlcyI6W119.AI1PulupSosJl2dCu77DC9UczOvULKBMgR0vBkSTd14fA4_CdXd-U3sYR-xT-idWLQr7GJVKj-SXscyRpY5a16O2ksUbVzGJvaVW44hY-3vX0QxkUSOwp9zkKMNQhBOaVajTllg38OH1XMLSFouGfF8v8tguvAUTUBKB9XjFYkrV93WhbnXlNhkAPtpueFJ-7NQ5fLwHRO0RZumjOpGKpZHTcv-eWgaJB8L5BEIY4DxgtmNoeKEXGOYx8d6_vf2CpoHlKcmgYnrgsF7SUlLT2-gcbAqbWbFWd_8OWTmeW05LOSljy5MdWFmnv1WePhjOI1vTQ4dm7fmw6RLMEqA3cXBn_xVoxbo-B5WbJuriIV-Q_w8BROyKYIiqyHvvoiX_tSXQLjAHDsdXe8xrGsWn8d-Lbra99IiwUE2dNydJY6HvVRDEL02p4K80aO2MVYV-8LF6dgggFCX00eZnpRFcOF79SpQTZ4HOWPkcKo05pi3JgSiJfO33gVgzv-UspVeH8Qj6sIa0EWjXddgZMhFz7LI8AbasUEqltEsbUQ8-zqjUi2SETZbpWwPwV350n56piQOBHHpFpUwEWW9VwAumAclCAioHpIvH9ACFq3oVZkOMsTsWTumhmr4lkhh_Nesv0NR1lp8z1JUx6kbOnkV11qCAsLGmjKxIYJXaVqv4b9c

Remove this line

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

+import React, { useState } from "react";++import Stepper from "app/atoms/Stepper";+import PageLayout from "app/layouts/PageLayout";+import ApproveStep from "app/pages/BuyCrypto/steps/ApproveStep";+import ExchangeStep from "app/pages/BuyCrypto/steps/ExchangeStep";+import InitialStep from "app/pages/BuyCrypto/steps/InitialStep";+import { T, t } from "lib/i18n/react";+import { useAccount, useNetwork, useStorage } from "lib/temple/front";+import { exchangeDataInterface } from "lib/templewallet-api/exolix";+import { Redirect } from "lib/woozie";++const steps = [+  {+    label: `${t("step")} 1`,+  },+  {+    label: `${t("step")} 2`,+  },+  {+    label: `${t("step")} 3`,+  },+  {+    label: `${t("step")} 4`,+  },+];++const BuyCrypto = () => {+  const network = useNetwork();+  const { publicKeyHash } = useAccount();+  const [step, setStep] = useStorage<number>(+    `topup_step_state_${publicKeyHash}`,+    4+  );+  const [isError, setIsError] = useState(false);+  const [exchangeData, setExchangeData] =+    useStorage<exchangeDataInterface | null>(+      `topup_exchange_data_state_${publicKeyHash}`,+      null+    );+  if (network.type !== "main") {+    return <Redirect to={"/"} />;+  }++  return (+    <PageLayout+      pageTitle={+        <>+          <T id="buyWithCrypto" />+        </>+      }+    >+      <div+        style={{ maxWidth: "360px", margin: "auto" }}+        className="text-center"+      >+        <Stepper+          style={{ marginTop: "64px" }}+          steps={steps}+          currentStep={step}+        />+        {step === 0 && (+          <InitialStep+            isError={isError}+            setIsError={setIsError}+            exchangeData={exchangeData}+            setExchangeData={setExchangeData}+            step={step}+            setStep={setStep}+          />+        )}+        {step === 1 && (+          <ApproveStep+            exchangeData={exchangeData}+            setExchangeData={setExchangeData}+            setStep={setStep}+            step={step}+            isError={isError}+            setIsError={setIsError}+          />+        )}+        {(step === 2 || step === 3 || step === 4) && (+          <ExchangeStep+            exchangeData={exchangeData}+            setExchangeData={setExchangeData}+            setStep={setStep}+            step={step}+            isError={isError}+            setIsError={setIsError}+          />+        )}+        {step >= 1 && (+          <p+            onClick={() => console.log("support link")}

Remove console.log

andrewkryshtal

comment created time in 10 days

PullRequestReviewEvent

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

 const ROUTE_MAP = Woozie.Router.createMap<RouteContext>([     "/settings/:tabSlug?",     onlyReady(({ tabSlug }) => <Settings tabSlug={tabSlug} />),   ],+  ["/buy", onlyInFullPage(() => <BuyCrypto />)],

Wrap with onlyReady(() => ...)

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

 import { usePageRouterAnalytics } from "lib/analytics"; import { useTempleClient } from "lib/temple/front"; import * as Woozie from "lib/woozie"; +import BuyCrypto from "./pages/BuyCrypto/BuyCrypto";

Move this import up, relative to root

andrewkryshtal

comment created time in 10 days

Pull request review commentmadfish-solutions/templewallet-extension

top up crypto balance - completed task

     "postcss-safe-parser": "4.0.2",     "react": "16.13.1",     "react-collapse": "5.1.0",+    "react-countdown": "^2.3.2",

All dependencies must be strict. Remove "^"

andrewkryshtal

comment created time in 10 days

PullRequestReviewEvent

create barnchmadfish-solutions/templewallet-extension

branch : taquito-upgrade-10

created branch time in 10 days

startedLingDong-/fishdraw

started time in 11 days

startedmarcamos/jet

started time in 11 days

startedconcrete-utopia/utopia

started time in 12 days

created tagmadfish-solutions/templewallet-extension

tag1.12.5

🔐💰Cryptocurrency wallet for Tezos blockchain as Web extension for your Browser.

created time in 12 days

push eventmadfish-solutions/templewallet-extension

serh11p

commit sha 8a7520f7634ade2dc8284f4fa10d6cad7018829a

1.12.5

view details

push time in 12 days

push eventmadfish-solutions/templewallet-extension

serh11p

commit sha a6154cb151302bebc8de64289346677a7fa82fad

Fix manual token adding without metadata

view details

push time in 12 days