diff --git a/app/app.go b/app/app.go
index 1027559..1efb45b 100644
--- a/app/app.go
+++ b/app/app.go
@@ -34,37 +34,19 @@ type App struct {
titleTemplate *template.Template
Series dalle.Series `json:"series"`
names []types.Name
- dallesCache map[string]*dalle.DalleDress
+ dalleCache map[string]*dalle.DalleDress
}
func NewApp() *App {
a := App{
- databases: make(map[string][]string),
+ databases: make(map[string][]string),
+ dalleCache: make(map[string]*dalle.DalleDress),
}
// it's okay if it's not found
_ = a.session.Load()
var err error
- if a.Series, err = a.LoadSeries(); err != nil {
- logger.Fatal(err)
- }
- logger.Info("Loaded series:", a.Series.Suffix)
-
- for _, db := range dalle.DatabaseNames {
- if a.databases[db] == nil {
- if lines, err := a.toLines(db); err != nil {
- logger.Fatal(err)
- } else {
- a.databases[db] = lines
- for i := 0; i < len(a.databases[db]); i++ {
- a.databases[db][i] = strings.Replace(a.databases[db][i], "v0.1.0,", "", -1)
- }
- }
- }
- }
- logger.Info("Loaded", len(dalle.DatabaseNames), "databases")
-
if a.promptTemplate, err = template.New("prompt").Parse(promptTemplate); err != nil {
logger.Fatal("could not create prompt template:", err)
}
@@ -82,6 +64,8 @@ func NewApp() *App {
}
logger.Info("Compiled templates")
+ a.ReloadDatabases()
+
return &a
}
@@ -90,9 +74,35 @@ func (a App) String() string {
return string(bytes)
}
+func (a *App) ReloadDatabases() {
+ a.Series = dalle.Series{}
+ a.databases = make(map[string][]string)
+
+ var err error
+ if a.Series, err = a.LoadSeries(); err != nil {
+ logger.Fatal(err)
+ }
+ logger.Info("Loaded series:", a.Series.Suffix)
+
+ for _, db := range dalle.DatabaseNames {
+ if a.databases[db] == nil {
+ if lines, err := a.toLines(db); err != nil {
+ logger.Fatal(err)
+ } else {
+ a.databases[db] = lines
+ for i := 0; i < len(a.databases[db]); i++ {
+ a.databases[db][i] = strings.Replace(a.databases[db][i], "v0.1.0,", "", -1)
+ }
+ }
+ }
+ }
+ logger.Info("Loaded", len(dalle.DatabaseNames), "databases")
+}
+
func (a *App) toLines(db string) ([]string, error) {
filename := "./databases/" + db + ".csv"
lines := file.AsciiFileToLines(filename)
+ lines = lines[1:] // skip header
var err error
if len(lines) == 0 {
err = fmt.Errorf("could not load %s", filename)
@@ -201,7 +211,7 @@ func (a *App) HandleLines() {
// msg := fmt.Sprintf("Content policy violation, skipping retry for address: %s Error: %s", address, err)
// logger.Error(msg)
// return
- // } else
+ // } else
if strings.Contains(err.Error(), "seed length is less than 66") {
msg := fmt.Sprintf("Invalid address, skipping retry for address: %s Error: %s", address, err)
logger.Error(msg)
@@ -247,7 +257,7 @@ func (a *App) LoadSeries() (dalle.Series, error) {
return dalle.Series{}, err
}
- s.Suffix = strings.ReplaceAll(s.Suffix, " ", "-")
+ s.Suffix = strings.Trim(strings.ReplaceAll(s.Suffix, " ", "-"), "-")
s.SaveSeries(filepath.Join("./output/series", s.Suffix+".json"), 0)
return s, nil
}
diff --git a/app/app_state.go b/app/app_state.go
index 09602e2..e3ac80b 100644
--- a/app/app_state.go
+++ b/app/app_state.go
@@ -1,37 +1,34 @@
package app
-func (a *App) GetLastRoute() string {
- return a.GetSession().LastRoute
-}
-
-func (a *App) GetLastTab() string {
- return a.GetSession().LastTab
-}
-
-func (a *App) GetLastAddress() string {
- return a.GetSession().LastAddress
-}
-
-func (a *App) GetLastSeries() string {
- return a.GetSession().LastSeries
-}
-
-func (a *App) SetLastRoute(route string) {
- a.GetSession().LastRoute = route
- a.GetSession().Save()
-}
-
-func (a *App) SetLastTab(tab string) {
- a.GetSession().LastTab = tab
- a.GetSession().Save()
-}
-
-func (a *App) SetLastAddress(addr string) {
- a.GetSession().LastAddress = addr
- a.GetSession().Save()
-}
-
-func (a *App) SetLastSeries(series string) {
- a.GetSession().LastSeries = series
+func (a *App) GetLast(which string) string {
+ switch which {
+ case "route":
+ return a.GetSession().LastRoute
+ case "tab":
+ return a.GetSession().LastTab
+ case "address":
+ return a.GetSession().LastAddress
+ case "series":
+ return a.GetSession().LastSeries
+ }
+ return "Unknown"
+}
+
+func (a *App) SetLast(which, value string) {
+ reload := false
+ switch which {
+ case "route":
+ a.GetSession().LastRoute = value
+ case "tab":
+ a.GetSession().LastTab = value
+ case "address":
+ a.GetSession().LastAddress = value
+ case "series":
+ a.GetSession().LastSeries = value
+ reload = true
+ }
a.GetSession().Save()
+ if reload {
+ a.ReloadDatabases()
+ }
}
diff --git a/app/backend.go b/app/backend.go
index d334aa3..634f5f5 100644
--- a/app/backend.go
+++ b/app/backend.go
@@ -16,7 +16,15 @@ import (
var dalleCacheMutex sync.Mutex
func (a *App) MakeDalleDress(addressIn string) (*dalle.DalleDress, error) {
+ dalleCacheMutex.Lock()
+ defer dalleCacheMutex.Unlock()
+ if a.dalleCache[addressIn] != nil {
+ logger.Info("Returning cached dalle for", addressIn)
+ return a.dalleCache[addressIn], nil
+ }
+
address := addressIn
+ logger.Info("Making dalle for", addressIn)
if strings.HasSuffix(address, ".eth") {
opts := sdk.NamesOptions{
Terms: []string{address},
@@ -29,6 +37,7 @@ func (a *App) MakeDalleDress(addressIn string) (*dalle.DalleDress, error) {
}
}
}
+ logger.Info("Resolved", addressIn)
parts := strings.Split(address, ",")
seed := parts[0] + reverse(parts[0])
@@ -39,16 +48,10 @@ func (a *App) MakeDalleDress(addressIn string) (*dalle.DalleDress, error) {
seed = seed[2:66]
}
- dalleCacheMutex.Lock()
- defer dalleCacheMutex.Unlock()
-
- if a.dallesCache == nil {
- a.dallesCache = make(map[string]*dalle.DalleDress)
- }
fn := validFilename(address)
- if a.dallesCache[fn] != nil {
+ if a.dalleCache[fn] != nil {
logger.Info("Returning cached dalle for", addressIn)
- return a.dallesCache[fn], nil
+ return a.dalleCache[fn], nil
}
dd := dalle.DalleDress{
@@ -86,7 +89,9 @@ func (a *App) MakeDalleDress(addressIn string) (*dalle.DalleDress, error) {
dd.EnhancedPrompt = file.AsciiFileToString(fn)
}
- a.dallesCache[dd.Filename] = &dd
+ a.dalleCache[dd.Filename] = &dd
+ a.dalleCache[addressIn] = &dd
+
return &dd, nil
}
diff --git a/app/files.go b/app/files.go
index d8ec561..c184c8c 100644
--- a/app/files.go
+++ b/app/files.go
@@ -6,8 +6,8 @@ import (
"github.com/TrueBlocks/trueblocks-dalledress/pkg/utils"
)
-func (a *App) GetFilelist() []string {
- folder := filepath.Join("./output/series")
+func (a *App) GetFilelist(baseFolder string) []string {
+ folder := filepath.Join(baseFolder)
if list, err := utils.Listing(folder); err != nil {
return []string{err.Error()}
} else {
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 01f7c2e..7835a9b 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -1,17 +1,37 @@
-import React from "react";
+import React, { useEffect } from "react";
import { AppShell, Text } from "@mantine/core";
import Aside from "./components/global/Aside";
import Header from "./components/global/Header";
import Navbar from "./components/global/Navbar";
import Routes from "./components/global/Routes";
import classes from "@/App.module.css";
+import { EventsOn, EventsOff, EventsEmit } from "../wailsjs/runtime";
function App() {
+ const [showHelp, setShowHelp] = React.useState(true);
+
+ const sendMessage = () => {
+ EventsEmit("toggleHelp", "Hello from SenderComponent");
+ setShowHelp(!showHelp);
+ };
+
+ useEffect(() => {
+ const messageListener = (message: string) => {
+ console.log("Received in help component:", message);
+ };
+
+ EventsOn("toggleHelp", messageListener);
+
+ return () => {
+ EventsOff("toggleHelp");
+ };
+ }, [showHelp]);
+
return (
@@ -28,6 +48,7 @@ function App() {
time / date / currently opened file
+ {" "}
);
diff --git a/frontend/src/components/ImageDisplay.tsx b/frontend/src/components/ImageDisplay.tsx
index c1f29bd..c7c7b14 100644
--- a/frontend/src/components/ImageDisplay.tsx
+++ b/frontend/src/components/ImageDisplay.tsx
@@ -23,8 +23,8 @@ export const ImageDisplay = ({ address, loading }: { address: string; loading: b
return (
- {title}
-
+ {title}
+
);
};
diff --git a/frontend/src/components/StringTable.tsx b/frontend/src/components/StringTable.tsx
index 02ca1e7..d22629b 100644
--- a/frontend/src/components/StringTable.tsx
+++ b/frontend/src/components/StringTable.tsx
@@ -1,5 +1,8 @@
import React, { useState } from "react";
import { Table, Checkbox } from "@mantine/core";
+import { Link, useLocation } from "wouter";
+import { Anchor } from "@mantine/core";
+import { SetLast } from "@gocode/app/App";
export interface DataItem {
id: number;
@@ -12,6 +15,16 @@ interface StringTableProps {
const StringTable: React.FC = ({ data }) => {
const [selectedIds, setSelectedIds] = useState([]);
+ const [location, setLocation] = useLocation();
+
+ const handleSeriesClick = async (seriesName: string) => {
+ try {
+ await SetLast("series", seriesName);
+ setLocation("/dalle");
+ } catch (error) {
+ console.error("Error updating data:", error);
+ }
+ };
const handleCheckboxChange = (id: number) => {
setSelectedIds((prevSelectedIds) =>
@@ -33,7 +46,17 @@ const StringTable: React.FC = ({ data }) => {
handleCheckboxChange(item.id)} />
- {item.value}
+
+ {
+ e.preventDefault();
+ handleSeriesClick(item.value);
+ }}
+ >
+ {item.value}
+
+
));
diff --git a/frontend/src/components/global/Aside.tsx b/frontend/src/components/global/Aside.tsx
index 191ccf8..f15a0a2 100644
--- a/frontend/src/components/global/Aside.tsx
+++ b/frontend/src/components/global/Aside.tsx
@@ -1,4 +1,5 @@
-import React from "react";
+import React, { useEffect } from "react";
+import { EventsOn, EventsOff } from "../../../wailsjs/runtime";
import { Text } from "@mantine/core";
function Aside() {
diff --git a/frontend/src/components/global/Menu.tsx b/frontend/src/components/global/Menu.tsx
index 5e1d1bb..a6ac1d8 100644
--- a/frontend/src/components/global/Menu.tsx
+++ b/frontend/src/components/global/Menu.tsx
@@ -2,19 +2,19 @@ import React, { ReactNode, useEffect, useState } from "react";
import { NavLink } from "@mantine/core";
import { IconHome, IconSettings, IconTag, IconList, IconSpider } from "@tabler/icons-react";
import { Link, useRoute } from "wouter";
-import { GetLastRoute, SetLastRoute } from "@gocode/app/App";
+import { GetLast, SetLast } from "@gocode/app/App";
function Menu() {
const [activeRoute, setActiveRoute] = useState("/");
useEffect(() => {
- const lastRoute = (GetLastRoute() || "/").then((route) => {
+ const lastRoute = (GetLast("route") || "/").then((route) => {
setActiveRoute(route);
});
}, []);
const handleRouteChange = (route: string) => {
- SetLastRoute(route);
+ SetLast("route", route);
setActiveRoute(route);
};
diff --git a/frontend/src/components/global/Routes.tsx b/frontend/src/components/global/Routes.tsx
index d9eb65d..a8f89a0 100644
--- a/frontend/src/components/global/Routes.tsx
+++ b/frontend/src/components/global/Routes.tsx
@@ -2,13 +2,13 @@ import React, { useEffect } from "react";
import { Route, Switch, useLocation } from "wouter";
import classes from "@/App.module.css";
import { DalleView, NamesView, HomeView, SeriesView, SettingsView } from "@/views";
-import { GetLastRoute } from "@gocode/app/App";
+import { GetLast } from "@gocode/app/App";
export const Routes = () => {
const [, setLocation] = useLocation();
useEffect(() => {
- const lastRoute = (GetLastRoute() || "/").then((route) => {
+ const lastRoute = (GetLast("route") || "/").then((route) => {
setLocation(route);
});
}, [setLocation]);
diff --git a/frontend/src/views/Dalle/DalleView.tsx b/frontend/src/views/Dalle/DalleView.tsx
index f4ad273..a3f6381 100644
--- a/frontend/src/views/Dalle/DalleView.tsx
+++ b/frontend/src/views/Dalle/DalleView.tsx
@@ -1,5 +1,5 @@
import React, { useState, useEffect } from "react";
-import { Stack, Title, Text, Select, Paper, Grid, Button, Group } from "@mantine/core";
+import { Stack, Title, Paper, Grid, Button, Group } from "@mantine/core";
import classes from "@/App.module.css";
import { View, ViewStatus } from "@/components/view";
import EditableSelect from "@/components/EditableSelect";
@@ -13,12 +13,8 @@ import {
GetEnhanced,
GetFilename,
GenerateImage,
- GetLastTab,
- GetLastAddress,
- GetLastSeries,
- SetLastTab,
- SetLastAddress,
- SetLastSeries,
+ GetLast,
+ SetLast,
Save,
} from "@gocode/app/App";
import { ImageDisplay } from "@/components/ImageDisplay";
@@ -37,6 +33,7 @@ export function DalleView() {
const [activeTab, setActiveTab] = useState("json");
const [dialogOpened, setDialogOpened] = useState(false);
const [success, setSuccess] = useState(false);
+ const gridWidth = 8;
const handleOpenDialog = (result: boolean) => {
setSuccess(result);
@@ -60,10 +57,10 @@ export function DalleView() {
// On first load of the view, set the most recently viewed tab and address
useEffect(() => {
- GetLastTab().then((lastTab: string) => {
+ GetLast("tab").then((lastTab: string) => {
setActiveTab(lastTab);
});
- GetLastAddress().then((lastAddress: string) => {
+ GetLast("address").then((lastAddress: string) => {
if (lastAddress && lastAddress.length > 0) {
setAddress(lastAddress);
} else {
@@ -75,7 +72,7 @@ export function DalleView() {
// When address changes, update all the data
useEffect(() => {
if (address && !imageLoading) {
- SetLastAddress(address);
+ SetLast("address", address);
GetJson(address).then((value: string) => {
setJson(value);
});
@@ -103,7 +100,7 @@ export function DalleView() {
const handleTabChange = (value: string | null) => {
if (value) {
setActiveTab(value);
- SetLastTab(value);
+ SetLast("tab", value);
}
};
@@ -120,9 +117,9 @@ export function DalleView() {
Dalle View
-
-
-
+
+
+
-
+
-
-
-
-
-
- setDialogOpened(false)} success={success} />
-
+
+
+
+
+
+
+ setDialogOpened(false)} success={success} />
Status / Progress
diff --git a/frontend/src/views/Names/Names.tsx b/frontend/src/views/Names/Names.tsx
index c796bae..9956f80 100644
--- a/frontend/src/views/Names/Names.tsx
+++ b/frontend/src/views/Names/Names.tsx
@@ -1,20 +1,13 @@
import React from "react";
+import { Text } from "@mantine/core";
+import { IconCircleCheck } from "@tabler/icons-react";
import { types } from "@gocode/models";
import { createColumnHelper } from "@tanstack/react-table";
-export type Name = {
- address: string;
- decimals?: number;
- isContract?: boolean;
- isErc20?: boolean;
- isErc721?: boolean;
- name: string;
- source?: string;
- symbol?: string;
- tags: string;
-};
-
-export function createRowModel(name: types.Name): Name {
+export function createRowModel(name: types.Name): types.Name {
+ var cV = function (a: any, classs: any, asMap: boolean = false): any {
+ return a;
+ };
return {
address: name.address,
decimals: name.decimals,
@@ -25,862 +18,51 @@ export function createRowModel(name: types.Name): Name {
source: name.source,
symbol: name.symbol,
tags: name.tags,
+ convertValues: cV,
};
}
-export const defaultData: Name[] = [
- {
- address: "0x1200563cfaeb481e1f0542a246f0cefcde4c4753",
- name: "Arbitrage Bot",
- source: "0xTracker",
- tags: "90-Individuals:Other",
- },
- {
- address: "0x12063cc18a7096d170e5fc410d8623ad97ee24b3",
- decimals: 18,
- name: "FRENALPHA",
- source: "SmolAssets",
- symbol: "FREN",
- tags: "60-SmolAssets",
- },
- {
- address: "0x1206d6f9c577e3e0a511ddcbcfb394573ce6ae80",
- name: "Criszhu95",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x1206ec7abf2c3d22051f6ebb249f065fc6436149",
- name: "nikoline",
- source: "Gitcoin Website",
- tags: "90-Individuals:Gitcoin Grants",
- },
- {
- address: "0x1208a26faa0f4ac65b42098419eb4daa5e580ac6",
- name: "Grant 0704 Tumafare - Social Payments Platform",
- source: "https://gitcoin.co/grants/704/tumafare-social-payments-platform",
- tags: "31-Gitcoin:Grants",
- },
- {
- address: "0x120a270bbc009644e35f0bb6ab13f95b8199c4ad",
- name: "Shapeshift 1",
- source: "CarbonVote",
- tags: "91-Early:Addresses",
- },
- {
- address: "0x1213c29b5e1a6f33e0d044f850a57b665e3cde21",
- isContract: true,
- name: "Littlecactus",
- source: "EtherScan.io",
- tags: "91-Early:Addresses",
- },
- {
- address: "0x1216bc366cfd938d24f89e2a079539f4d66062fb",
- name: "phoebepoon",
- source: "Gitcoin Website",
- tags: "90-Individuals:Gitcoin Grants",
- },
- {
- address: "0x1217627fe41a00f0b828317f43e6d58f47dbfc43",
- name: "Miner_0028_253",
- source: "OnChain",
- tags: "91-Early:Miners",
- },
- {
- address: "0x121851911b1d17b133c77801ab26fccd7e7c5053",
- name: "tammieseo",
- source: "Gitcoin Website",
- tags: "90-Individuals:Gitcoin Grants",
- },
- {
- address: "0x12209a3ba95363ff28969cc88beeabf609521dbc",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Curve.fi Factory Crypto Pool: CVX_LOOKS_Pair",
- source: "Rotki",
- symbol: "looksCVX-f",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x1222d0ded67a533b3163397fd917bc8ac6f96b7a",
- name: "Grant 0655 Alternative Income for Poor Families in Brazil!",
- source: "https://gitcoin.co/grants/655/alternative-income-for-poor-families-in-brazil",
- tags: "31-Gitcoin:Grants",
- },
- {
- address: "0x1229e2a0711660be162521f5626c68e85ec99c7f",
- isContract: true,
- name: "Bancor: Converter 103",
- source: "EtherScan.io",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x122a86b5dff2d085afb49600b4cd7375d0d94a5f",
- decimals: 8,
- isContract: true,
- isErc20: true,
- name: "ITL (Italian Lira)",
- source: "On chain",
- symbol: "ITL",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x122bcc526c7a9cd0ea0565e5f6122c4ff2e84fd2",
- name: "Freedom Community Center",
- source: "Tokenomics",
- tags: "31-Giveth:Project",
- },
- {
- address: "0x1234567461d3f8db7496581774bd869c83d51c93",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "BitClave",
- source: "On chain",
- symbol: "CAT",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x1236203510b93409ae6a0f26d0f97798c9398e1b",
- name: "anaandria",
- source: "Gitcoin Website",
- tags: "90-Individuals:Gitcoin Grants",
- },
- {
- address: "0x123843545fb525c8e134c9a5f15ada6865cc3848",
- name: "Miner_0033_208",
- source: "OnChain",
- tags: "91-Early:Miners",
- },
- {
- address: "0x12392f67bdf24fae0af363c24ac620a2f67dad86",
- decimals: 8,
- isContract: true,
- isErc20: true,
- name: "Compound TrueUSD",
- source: "Rotki",
- symbol: "cTUSD",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x123964ebe096a920dae00fb795ffbfa0c9ff4675",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "yearn Curve.fi pBTC/sbtcCRV",
- source: "SmolAssets",
- symbol: "yvpBTC/sbtcCRV",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12399e1bcd24cdf49adba6fdb69c0b53c73fd078",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "WhiteKishu",
- source: "On chain",
- symbol: "Wishu",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x123ab195dd38b1b40510d467a6a359b201af056f",
- decimals: 8,
- isContract: true,
- isErc20: true,
- name: "LGO Token",
- source: "On chain",
- symbol: "LGO",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x123ee16791967fdcb8bb3c1a14f1b06397ed1b32",
- name: "godfrey",
- source: "https://kickback.events/",
- tags: "90-Individuals:Kickback",
- },
- {
- address: "0x12425de8085ced64ede179d96ed8efc4a5d25047",
- name: "scobes97208",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12459c951127e0c374ff9105dda097662a027093",
- isContract: true,
- name: "0x: Exchange v1",
- tags: "30-Contracts",
- },
- {
- address: "0x1245ef80f4d9e02ed9425375e8f649b9221b31d8",
- decimals: 8,
- isContract: true,
- isErc20: true,
- name: "ArbitrageCT",
- source: "On chain",
- symbol: "ARCT",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12480e24eb5bec1a9d4369cab6a80cad3c0a377a",
- decimals: 2,
- isContract: true,
- isErc20: true,
- name: "Substratum",
- source: "On chain",
- symbol: "SUB",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x1248d79bdebd516156930a5c8ee232d4ed80ead4",
- name: "Possibly Malicious 0x124",
- source: "TrueBlocks.io",
- tags: "80-Malicious:Shanghai",
- },
- {
- address: "0x124938998071c505eb1a23e55e484b683eaae03b",
- name: "zayn_llywelyn",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x124f58b41fd43a498fe7041bc2d9d5813c4f80d7",
- name: "HammerBot14",
- source: "https://blog.blocknative.com/blog/mempool-forensics",
- tags: "80-Malicious",
- },
- {
- address: "0x1251a94b6d800979d2d933b8bd5914b892772ac6",
- name: "Commons Stack Community Fund - Panvala League",
- source: "Tokenomics",
- tags: "31-Giveth:Project",
- },
- {
- address: "0x1253594843798ff0fcd7fa221b820c2d3ca58fd5",
- name: "Grant 3429 - Physical \u003c\u003c\u003e\u003e Digital",
- source: "https://gitcoin.co/grants/3429/physical-digital",
- tags: "31-Gitcoin:Grants",
- },
- {
- address: "0x1254e59712e6e727dc71e0e3121ae952b2c4c3b6",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Marginless Token",
- source: "Rotki",
- symbol: "MRS",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12565fd1436926beb0fff522d63be551240a4594",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "GOLD",
- source: "On chain",
- symbol: "GOLD",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x1256e7992564ab22e332532472c916bd8d1e1ca7",
- name: "vandigital",
- source: "Gitcoin Website",
- tags: "90-Individuals:Gitcoin Grants",
- },
- {
- address: "0x1259e79286a36da3d9aad8200ece45bffd122912",
- name: "brashZhang",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x125ca0e61b8fe9e85ef1f52fd382cc8d547153f7",
- name: "NRv_gg",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x125f9d5daa039bdb79d36baff667e9e0bbcea998",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Fire Token",
- source: "On chain",
- symbol: "FIRE",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x1260d31a672170d963e9f328ebf13fadbfa74d6c",
- name: "251262871Com",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x1263111614a6471300220251dcef2d166ae5fe54",
- name: "deucesofweb3",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x1266c0576feb0bf1131b63024661f1a63faca523",
- name: "rudinosaurs",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x1266f928b7964173434d3feb6da2554b141920b8",
- name: "Grant 0723 EtherDNA",
- source: "https://gitcoin.co/grants/723/etherdna",
- tags: "31-Gitcoin:Grants",
- },
- {
- address: "0x1267895780369b48a02781eb08d353e426e5f256",
- name: "nagydani",
- source: "DevCon2 Token Contract",
- tags: "90-Individuals:DevCon2",
- },
- {
- address: "0x126b2b0aa3d7ef32b634044c40526048e5977aba",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "AnotherFuckingToken.com",
- source: "On chain",
- symbol: "AFT",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x126c121f99e1e211df2e5f8de2d96fa36647c855",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "DEGEN Index",
- source: "Rotki",
- symbol: "DEGEN",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x127091ede112aed7bae281747771b3150bb047bb",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Curve.fi Factory Crypto Pool: ibJPY/USDC",
- source: "SmolAssets",
- symbol: "ibJPYUSDC-f",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12724f96a09bf2e4b12f2caa5a6e261862d8b124",
- isContract: true,
- name: "Grant 1002 - Moved, please go to the updated grant: https://gitcoin.co/grants/1003/cent-token-2",
- source: "https://gitcoin.co/grants/1002/moved-please-go-to-the-updated-grant-httpsgitcoin",
- tags: "31-Gitcoin:Grants",
- },
- {
- address: "0x12759512d326303b45f1cec8f7b6fd96f387778e",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "TrakInvest Token",
- source: "On chain",
- symbol: "TRAK",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x127ac03acfad15f7a49dd037e52d5507260e1425",
- name: "Vlad Zamfir",
- source: "DAO_Curator",
- tags: "90-Individuals:DAO Curators",
- },
- {
- address: "0x127c6839dee7c737767c9f62d13996e27854505d",
- name: "Grant 0419 Project Maple. | Cryptographic Currency Redefined.",
- source: "https://gitcoin.co/grants/419/project-maple-cryptographic-currency-redefined",
- tags: "31-Gitcoin:Grants",
- },
- {
- address: "0x127cae460d6e8d039f1371f54548190efe73e756",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "ShiftCashExtraBonus",
- source: "On chain",
- symbol: "SCB",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12833d6fadd206ded2fce84936d8d78326ab8efa",
- name: "StefanBemelmans",
- source: "https://www.humanitydao.org/humans",
- tags: "90-Individuals:Humanity DAO",
- },
- {
- address: "0x12843dbadc2f61f8e70c5fa549fc545d3ecd8e68",
- name: "KOREANYEEZY",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x1285b3c8af833d018d20f844dd574266431d08bc",
- name: "MoonUp21622227",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x128b8a297a5d506eed359b1193667977fbc583dc",
- name: "Mercy for Animals",
- source: "Tokenomics",
- tags: "31-Giveth:Project",
- },
- {
- address: "0x1292f80072e0825afa162b24b27e0d206ea656fb",
- name: "GWF Giving Tuesday",
- source: "Tokenomics",
- tags: "31-Giveth:Project",
- },
- {
- address: "0x129300d1565b296a54985f77f720699386b36417",
- name: "Fenerimo1907",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12951b9eaa200237f9080c95ad93cc74c9d9bd45",
- isContract: true,
- name: "Zero Ex Exchange Wrapper",
- source: "https://github.com/SetProtocol/set-protocol-contracts",
- tags: "30-Contracts:Set Protocol",
- },
- {
- address: "0x1295d19e84f1f36472e0286eac20349d5dd6a469",
- name: "FafCrypto",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12960beba2dce20367f7a284a0c34a9e9209df87",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "SHIBASWAP",
- source: "On chain",
- symbol: "SHIBASWAP",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x1296a923cd4f39116e0297d921fe25fe228552c6",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "STONER DOGE",
- source: "On chain",
- symbol: "STOGE",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x1296d3bb6dc0efbae431a12939fc15b2823db79b",
- isContract: true,
- name: "KittenRegistry",
- source: "Ether Camp",
- tags: "91-Early:Addresses",
- },
- {
- address: "0x12970e6868f88f6557b76120662c1b3e50a646bf",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Milady",
- source: "Rotki",
- symbol: "LADYS",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12976ac92061ddc252060bc84c09b48dc785263c",
- decimals: 18,
- isContract: true,
- isErc20: true,
- isErc721: true,
- name: "Event Pass",
- source: "On chain",
- symbol: "EPA",
- tags: "50-Tokens:ERC721",
- },
- {
- address: "0x1299a206ec0618dd3bd4eab6840e6bf0d29fdeaa",
- name: "L0SS0L_",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12a0e25e62c1dbd32e505446062b26aecb65f028",
- name: "Grant 0473 Bbft Podcast Show",
- source: "https://gitcoin.co/grants/473/bbft-podcast-show",
- tags: "31-Gitcoin:Grants",
- },
- {
- address: "0x12a101830c0405a21285094c4c690b312d6d7875",
- name: "Virtual_Reset",
- source: "Tokenomics",
- tags: "31-Giveth:Project",
- },
- {
- address: "0x12a13b132be353f8dc33fc6cab12d1407b60f9ce",
- name: "izeeyahmon",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12a1ed5c19a925d5a5e9d51f6ab16fdb1978f0c7",
- name: "Nandemo68795288",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12a74da2537a2147cc8a412cf5c7cecd78559423",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "PUPPYMOON",
- source: "On chain",
- symbol: "PUPPY",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12a9cc33a980daa74e00cc2d1a0e74c57a93d12c",
- decimals: 8,
- isContract: true,
- isErc20: true,
- name: "Iron Bank Synthetix Network Token",
- source: "SmolAssets",
- symbol: "iSNX",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12add8f3b37fe5fbecdb1208233c0e56dfecf200",
- name: "Stefan George",
- source: "DevCon2 Token Contract",
- tags: "90-Individuals:DevCon2",
- },
- {
- address: "0x12aef5c60c2c86c8ecd3079f22f285f326371340",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "hiSAND33",
- source: "Rotki",
- symbol: "hiSAND33",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12aef9585197d02106045de55f01c9c30301d70a",
- name: "Jirat",
- source: "DevCon2 Token Contract",
- tags: "90-Individuals:DevCon2",
- },
- {
- address: "0x12b19d3e2ccc14da04fae33e63652ce469b3f2fd",
- decimals: 12,
- isContract: true,
- isErc20: true,
- name: "GRID Token",
- source: "On chain",
- symbol: "GRID",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12b24678ee0de5fe3ada683b6356d9dae4a3d2a2",
- name: "rovertochivale",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12b306fa98f4cbb8d4457fdff3a0a0a56f07ccdf",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Spectre.ai D-Token",
- source: "On chain",
- symbol: "SXDT",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12b394034e855baec320a0efc8b8301c631a49c3",
- name: "BrittH888",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12b6893ce26ea6341919fe289212ef77e51688c8",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Tamadoge",
- source: "Rotki",
- symbol: "TAMA",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12bb890508c125661e03b09ec06e404bc9289040",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Radio Caca V2",
- source: "Rotki",
- symbol: "RACA",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12bcca9632cf7479236456eeb0446c89422d437e",
- name: "maybeawhile",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12bff8e316e627a364915e89558a18fa6a1a4dae",
- name: "alphaK3Y",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12c0e1fe9521c0535f7d5b5f6d52fe29a5e090c6",
- name: "Project Transitions",
- source: "Tokenomics",
- tags: "31-Giveth:Project",
- },
- {
- address: "0x12c3ad898e8eb1c0ec0bb74f9748f36c46593f68",
- decimals: 18,
- name: "AaveV3WMATICLender",
- source: "SmolAssets",
- symbol: "ysWMATIC",
- tags: "60-SmolAssets",
- },
- {
- address: "0x12c3d85008badb2f49ebd3a4cef07a78b72becd2",
- name: "RODOLFOTHEBASED",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12c43d5148b2eeb15d263b697a3f59d155d74c23",
- name: "tomhaverford24",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12c765e05146414fa948b9dcf934277247a59ef1",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "baseprotocol.org",
- source: "On chain",
- symbol: "BASE",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12c9b2e7b3dabcf81507f01a60bb7599e3ec4ad4",
- name: "blueyonder10k",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12cec80a801a060a50acc137d11556188ad912de",
- name: "joyce007wy",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12d062b19a2df1920eb9fc28bd6e9a7e936de4c2",
- name: "vince0656",
- source: "Gitcoin Website",
- tags: "90-Individuals:Gitcoin Grants",
- },
- {
- address: "0x12d21ffbec92bb37668191d73794eb0c4f70d96b",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Akita Cookies",
- source: "On chain",
- symbol: "AOOKIES🍪",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12d4444f96c644385d8ab355f6ddf801315b6254",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Uniswap V2",
- source: "On chain",
- symbol: "UNI-V2",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12d66f87a04a9e220743712ce6d9bb1b5616b8fc",
- isContract: true,
- name: "Tornado Cash ETH 29",
- source: "Ofac website",
- tags: "66-Ofac:Sanctioned",
- },
- {
- address: "0x12dbe9e7bbb34fe0e41d866414dc19ef432d3311",
- decimals: 6,
- isContract: true,
- isErc20: true,
- name: "Elon Musk Rocket Balls",
- source: "On chain",
- symbol: "BALLS",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12dfc577544d002c57fbb02c389511a37bc4490c",
- isContract: true,
- name: "Set Kyber Wrapper",
- source: "0xTracker",
- tags: "30-Contracts",
- },
- {
- address: "0x12e3187d6b7a0ba98a427ef9ef287bd9960764d1",
- decimals: 18,
- name: "AerodromeDEUS-WETHFactoryyVault",
- source: "SmolAssets",
- symbol: "yvAero-DEUS-WETH-f",
- tags: "60-SmolAssets",
- },
- {
- address: "0x12e41855befd2fafe1b3fb15381fdf2c89f726a2",
- name: "papa6669",
- source: "Gitcoin Website",
- tags: "90-Individuals:Gitcoin Grants",
- },
- {
- address: "0x12e429b68cc9920f45a44a752e79557f46663ee9",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Tokyo Shiba",
- source: "On chain",
- symbol: "TSHIB",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12e51e77daaa58aa0e9247db7510ea4b46f9bead",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Aave Interest bearing YFI",
- source: "Rotki",
- symbol: "aYFI",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12e59c59d282d2c00f3166915bed6dc2f5e2b5c7",
- decimals: 6,
- isContract: true,
- name: "Tether USD Hop Token",
- source: "Rotki",
- symbol: "hUSDT",
- tags: "60-Rotki",
- },
- {
- address: "0x12e6066bd554acbea755cf6fc584ffaf7be1634b",
- name: "0xJojoland",
- source: "banteg on twitter",
- tags: "90-Individuals:Twitter",
- },
- {
- address: "0x12e626b0eebfe86a56d633b9864e389b45dcb260",
- isContract: true,
- name: "DAO Drain 078",
- source: "GethSource",
- tags: "80-Malicious:DaoDrain",
- },
- {
- address: "0x12f649a9e821f90bb143089a6e56846945892ffb",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "uDOO",
- source: "Rotki",
- symbol: "uDOO",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12fcd6463e66974cf7bbc24ffc4d40d6be458283",
- decimals: 8,
- isContract: true,
- isErc20: true,
- name: "Globitex Token",
- source: "Rotki",
- symbol: "GBX",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12fef5e57bf45873cd9b62e9dbd7bfb99e32d73e",
- decimals: 18,
- isContract: true,
- isErc20: true,
- name: "Cofoundit",
- source: "On chain",
- symbol: "CFI",
- tags: "50-Tokens:ERC20",
- },
- {
- address: "0x12ff4a259e14d4dcd239c447d23c9b00f7781d8f",
- decimals: 18,
- name: "PEPEOptimism",
- source: "SmolAssets",
- symbol: "PEPE",
- tags: "60-SmolAssets",
- },
- {
- address: "0x32be343b94f860124dc4fee278fdcbd38c102d88",
- name: "Poliniex Exchange, DAO Whale 4 Vlad Zamphir 0x127 Sender 1 Sept_DDOS_ACCOUNT_1",
- source: "TrueBlocks.io CarbonVote WhaleWatch.io SEPT_DDOS http://www.reddit.com/r/ethereum/",
- tags: "90-Individuals",
- },
-];
+const columnHelper = createColumnHelper();
-const columnHelper = createColumnHelper();
-
-export const columns = [
+export const namesColumns = [
columnHelper.accessor("address", {
+ header: () => "Address",
cell: (info) => info.getValue(),
- footer: (info) => info.column.id,
+ size: 100,
}),
- columnHelper.accessor("decimals", {
- header: () => "Decimals",
+ columnHelper.accessor("tags", {
+ header: () => "Tags",
cell: (info) => info.renderValue(),
- footer: (info) => info.column,
+ size: 100,
}),
columnHelper.accessor("name", {
header: () => "Name",
cell: (info) => info.renderValue(),
- footer: (info) => info.column.id,
+ size: 100,
}),
columnHelper.accessor("symbol", {
header: () => "Symbol",
cell: (info) => info.renderValue(),
- footer: (info) => info.column.id,
+ size: 100,
}),
- columnHelper.accessor("tags", {
- header: () => "Tags",
- cell: (info) => info.renderValue(),
- footer: (info) => info.column.id,
- }),
- columnHelper.accessor("source", {
- header: () => "Source",
+ columnHelper.accessor("decimals", {
+ header: () => "Decimals",
cell: (info) => info.renderValue(),
- footer: (info) => info.column.id,
+ size: 100,
}),
columnHelper.accessor("isContract", {
header: () => "isContract",
- cell: (info) => info.renderValue(),
- footer: (info) => info.column.id,
+ cell: (info) => (info.getValue() ? : ""),
+ size: 100,
}),
columnHelper.accessor("isErc20", {
header: () => "isErc20",
- cell: (info) => info.renderValue(),
- footer: (info) => info.column.id,
+ cell: (info) => (info.getValue() ? : ""),
+ size: 100,
+ }),
+ columnHelper.accessor("isErc721", {
+ header: () => "isErc721",
+ cell: (info) => (info.getValue() ? : ""),
+ size: 100,
}),
];
diff --git a/frontend/src/views/Names/NamesView.tsx b/frontend/src/views/Names/NamesView.tsx
index e0fe5ce..d73c283 100644
--- a/frontend/src/views/Names/NamesView.tsx
+++ b/frontend/src/views/Names/NamesView.tsx
@@ -5,17 +5,16 @@ import { GetNames, GetNamesCnt } from "@gocode/app/App";
import { createColumnHelper, flexRender, getCoreRowModel, useReactTable } from "@tanstack/react-table";
import { useHotkeys } from "react-hotkeys-hook";
import { Stack, Table, Title } from "@mantine/core";
-import { type Name, defaultData, columns, createRowModel } from "./Names";
+import { namesColumns, createRowModel } from "./Names";
import { View, ViewStatus } from "@/components/view";
-import { VAlignedTd } from "./VAlignedTd";
-const columnHelper = createColumnHelper();
+const columnHelper = createColumnHelper();
export function NamesView() {
- const [data, _setData] = React.useState(() => [...defaultData]);
- const [names, setName] = useState();
+ const [names, _setData] = React.useState(() => []);
const [nNames, setNamesCount] = useState(0);
const [curName, setCurName] = useState(-1);
+ const [perPage, setPerPage] = useState(20);
useHotkeys("left", (event) => {
setCurName(curName - 1 < 0 ? 0 : curName - 1);
@@ -43,9 +42,8 @@ export function NamesView() {
});
useEffect(() => {
- GetNames(curName, 20).then((names: types.Name[]) => {
- _setData(names?.map((name) => createRowModel(name)) ?? []);
- setName(names);
+ GetNames(curName, perPage).then((names: types.Name[]) => {
+ _setData(names);
GetNamesCnt().then((cnt) => {
setNamesCount(cnt);
});
@@ -57,8 +55,8 @@ export function NamesView() {
}, []);
const table = useReactTable({
- data,
- columns,
+ data: names,
+ columns: namesColumns,
getCoreRowModel: getCoreRowModel(),
});
@@ -82,22 +80,13 @@ export function NamesView() {
{table.getRowModel().rows.map((row) => (
{row.getVisibleCells().map((cell) => (
- {flexRender(cell.column.columnDef.cell, cell.getContext())}
+
+ {flexRender(cell.column.columnDef.cell, cell.getContext())}
+
))}
))}
- {/*
- {table.getFooterGroups().map((footerGroup) => (
-
- {footerGroup.headers.map((header) => (
-
- {header.isPlaceholder ? null : flexRender(header.column.columnDef.footer, header.getContext())}
-
- ))}
-
- ))}
- */}
Status / Progress
diff --git a/frontend/src/views/Names/VAlignedTd.tsx b/frontend/src/views/Names/VAlignedTd.tsx
deleted file mode 100644
index 1e0e7eb..0000000
--- a/frontend/src/views/Names/VAlignedTd.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-import React from "react";
-import { Table } from "@mantine/core";
-
-export function VAlignedTd({ children, key }: { children: React.ReactNode; key: string }) {
- return {children};
-}
diff --git a/frontend/src/views/Series/SeriesView.tsx b/frontend/src/views/Series/SeriesView.tsx
index c9e6276..9e77e7f 100644
--- a/frontend/src/views/Series/SeriesView.tsx
+++ b/frontend/src/views/Series/SeriesView.tsx
@@ -9,7 +9,12 @@ export function SeriesView() {
const [fileList, setFileList] = useState([]);
useEffect(() => {
- GetFilelist().then((fileList: string[]) => setFileList(fileList));
+ GetFilelist("./output/series").then((fileList: string[]) => {
+ fileList = fileList.map((file) => file.replace("output/series/", ""));
+ fileList = fileList.filter((file) => file.includes(".json") && file !== ".json");
+ fileList = fileList.map((file) => file.replace(".json", ""));
+ setFileList(fileList);
+ });
}, []);
const dataItems = fileList.map((file, index) => ({ id: index, value: file }));
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
index 839cbd6..d5deb1f 100644
--- a/frontend/tsconfig.json
+++ b/frontend/tsconfig.json
@@ -32,7 +32,7 @@
],
"@gocode/*": [
"../wailsjs/go/*"
- ]
+ ],
}
},
"include": [
diff --git a/frontend/wailsjs/go/app/App.d.ts b/frontend/wailsjs/go/app/App.d.ts
index 2ed5321..f20c20f 100755
--- a/frontend/wailsjs/go/app/App.d.ts
+++ b/frontend/wailsjs/go/app/App.d.ts
@@ -14,19 +14,13 @@ export function GetEnhanced(arg1:string):Promise;
export function GetExistingAddrs():Promise>;
-export function GetFilelist():Promise>;
+export function GetFilelist(arg1:string):Promise>;
export function GetFilename(arg1:string):Promise;
export function GetJson(arg1:string):Promise;
-export function GetLastAddress():Promise;
-
-export function GetLastRoute():Promise;
-
-export function GetLastSeries():Promise;
-
-export function GetLastTab():Promise;
+export function GetLast(arg1:string):Promise;
export function GetNames(arg1:number,arg2:number):Promise>;
@@ -48,14 +42,10 @@ export function LoadSeries():Promise;
export function MakeDalleDress(arg1:string):Promise;
-export function Save(arg1:string):Promise;
+export function ReloadDatabases():Promise;
-export function SetLastAddress(arg1:string):Promise;
-
-export function SetLastRoute(arg1:string):Promise;
-
-export function SetLastSeries(arg1:string):Promise;
+export function Save(arg1:string):Promise;
-export function SetLastTab(arg1:string):Promise;
+export function SetLast(arg1:string,arg2:string):Promise;
export function String():Promise;
diff --git a/frontend/wailsjs/go/app/App.js b/frontend/wailsjs/go/app/App.js
index 08a31bf..ba773b4 100755
--- a/frontend/wailsjs/go/app/App.js
+++ b/frontend/wailsjs/go/app/App.js
@@ -22,8 +22,8 @@ export function GetExistingAddrs() {
return window['go']['app']['App']['GetExistingAddrs']();
}
-export function GetFilelist() {
- return window['go']['app']['App']['GetFilelist']();
+export function GetFilelist(arg1) {
+ return window['go']['app']['App']['GetFilelist'](arg1);
}
export function GetFilename(arg1) {
@@ -34,20 +34,8 @@ export function GetJson(arg1) {
return window['go']['app']['App']['GetJson'](arg1);
}
-export function GetLastAddress() {
- return window['go']['app']['App']['GetLastAddress']();
-}
-
-export function GetLastRoute() {
- return window['go']['app']['App']['GetLastRoute']();
-}
-
-export function GetLastSeries() {
- return window['go']['app']['App']['GetLastSeries']();
-}
-
-export function GetLastTab() {
- return window['go']['app']['App']['GetLastTab']();
+export function GetLast(arg1) {
+ return window['go']['app']['App']['GetLast'](arg1);
}
export function GetNames(arg1, arg2) {
@@ -90,24 +78,16 @@ export function MakeDalleDress(arg1) {
return window['go']['app']['App']['MakeDalleDress'](arg1);
}
-export function Save(arg1) {
- return window['go']['app']['App']['Save'](arg1);
-}
-
-export function SetLastAddress(arg1) {
- return window['go']['app']['App']['SetLastAddress'](arg1);
+export function ReloadDatabases() {
+ return window['go']['app']['App']['ReloadDatabases']();
}
-export function SetLastRoute(arg1) {
- return window['go']['app']['App']['SetLastRoute'](arg1);
-}
-
-export function SetLastSeries(arg1) {
- return window['go']['app']['App']['SetLastSeries'](arg1);
+export function Save(arg1) {
+ return window['go']['app']['App']['Save'](arg1);
}
-export function SetLastTab(arg1) {
- return window['go']['app']['App']['SetLastTab'](arg1);
+export function SetLast(arg1, arg2) {
+ return window['go']['app']['App']['SetLast'](arg1, arg2);
}
export function String() {
diff --git a/go.mod b/go.mod
index 7c7aa0a..4a2685a 100644
--- a/go.mod
+++ b/go.mod
@@ -42,7 +42,8 @@ require (
github.com/gocarina/gocsv v0.0.0-20230123225133-763e25b40669 // indirect
github.com/godbus/dbus/v5 v5.1.0 // indirect
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
- github.com/google/uuid v1.3.0 // indirect
+ github.com/golang/protobuf v1.5.4 // indirect
+ github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/mux v1.8.0 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
@@ -93,6 +94,7 @@ require (
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.9.0 // indirect
+ github.com/stretchr/testify v1.9.0 // indirect
github.com/subosito/gotenv v1.2.0 // indirect
github.com/supranational/blst v0.3.11 // indirect
github.com/tklauser/go-sysconf v0.3.12 // indirect
@@ -114,9 +116,9 @@ require (
golang.org/x/sys v0.20.0 // indirect
golang.org/x/term v0.20.0 // indirect
golang.org/x/text v0.16.0 // indirect
- golang.org/x/time v0.3.0 // indirect
+ golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
- google.golang.org/protobuf v1.33.0 // indirect
+ google.golang.org/protobuf v1.34.1 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
lukechampine.com/blake3 v1.1.7 // indirect
diff --git a/go.sum b/go.sum
index 5fd5967..317886f 100644
--- a/go.sum
+++ b/go.sum
@@ -315,8 +315,8 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
-github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
+github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
@@ -367,8 +367,9 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4
github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
@@ -732,8 +733,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
-github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
+github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/supranational/blst v0.3.11 h1:LyU6FolezeWAhvQk0k6O/d49jqgO52MSDDfYgbeoEm4=
@@ -1062,8 +1063,8 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
-golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
+golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1262,8 +1263,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
+google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/inputs/addresses.txt b/inputs/addresses.txt
index ede36d8..b5214e7 100644
--- a/inputs/addresses.txt
+++ b/inputs/addresses.txt
@@ -1 +1,20 @@
-0xf503017d7baf7fbc0fff7492b751025c6a78179b
+gitcoin.eth
+giveth.eth
+chase.wright.eth
+cnn.eth
+dawid.eth
+dragonstone.eth
+eats.eth
+ens.eth
+gameofthrones.eth
+jen.eth
+makingprogress.eth
+meriam.eth
+nate.eth
+poap.eth
+revenge.eth
+rotki.eth
+trueblocks.eth
+unchainedindex.eth
+vitalik.eth
+when.eth
diff --git a/inputs/series.json b/inputs/series.json
index ab717d1..42b5b6b 100644
--- a/inputs/series.json
+++ b/inputs/series.json
@@ -1,32 +1,18 @@
{
- "suffix": "colorful-punk-postal-dogs",
+ "last": 19,
+ "suffix": "other-styles",
"adverbs": [],
"adjectives": [],
- "nouns": [
- "canidae"
- ],
- "emotions": [
- "bitterness",
- "cheesed off",
- "ferocity",
- "fury",
- "hatred",
- "hostility",
- "loathing",
- "outrage",
- "rage",
- "revenge",
- "spite",
- "wrath"
- ],
+ "nouns": [],
+ "emotions": [],
"occupations": [],
- "actions": [],
+ "actions": null,
"artstyles": [
- "punk"
+ "other styles"
],
"litstyles": [],
"colors": [],
- "orientations": [],
- "gazes": [],
- "backstyles": []
-}
+ "orientations": null,
+ "gazes": null,
+ "backstyles": null
+}
\ No newline at end of file