diff --git a/tools/obscuroscan_v2/backend/Dockerfile b/tools/obscuroscan_v2/backend/Dockerfile
deleted file mode 100644
index 4d5424bc08..0000000000
--- a/tools/obscuroscan_v2/backend/Dockerfile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Build stage for downloading dependencies based on the core defined system
-FROM golang:1.20-buster as get-dependencies
-
-# setup container data structure
-RUN mkdir -p /home/obscuro/go-obscuro
-
-# Ensures container layer caching when dependencies are not changed
-WORKDIR /home/obscuro/go-obscuro
-COPY go.mod .
-COPY go.sum .
-RUN go mod download
-
-FROM get-dependencies as build
-
-COPY . /home/obscuro/go-obscuro
-
-# build exec
-WORKDIR /home/obscuro/go-obscuro/tools/obscuroscan_v2/backend/cmd
-RUN --mount=type=cache,target=/root/.cache/go-build \
- go build -o backend
-
-WORKDIR /home/obscuro/go-obscuro/tools/obscuroscan_v2/backend
-EXPOSE 80
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/backend/cmd/cli.go b/tools/obscuroscan_v2/backend/cmd/cli.go
index cf1c3a8ac9..863876ff31 100644
--- a/tools/obscuroscan_v2/backend/cmd/cli.go
+++ b/tools/obscuroscan_v2/backend/cmd/cli.go
@@ -8,8 +8,8 @@ import (
func parseCLIArgs() *config.Config {
defaultConfig := &config.Config{
- NodeHostAddress: "http://127.0.0.1:37801",
- ServerAddress: "0.0.0.0:43910",
+ NodeHostAddress: "http://erpc.dev-testnet.obscu.ro:80",
+ ServerAddress: "0.0.0.0:80",
LogPath: "obscuroscan_logs.txt",
}
diff --git a/tools/obscuroscan_v2/backend/cmd/main.go b/tools/obscuroscan_v2/backend/cmd/main.go
deleted file mode 100644
index bdcda2eb8c..0000000000
--- a/tools/obscuroscan_v2/backend/cmd/main.go
+++ /dev/null
@@ -1,54 +0,0 @@
-package main
-
-import (
- "context"
- "fmt"
- "log"
- "os"
- "os/signal"
- "time"
-
- "github.com/obscuronet/go-obscuro/tools/obscuroscan_v2/backend/container"
-)
-
-func main() {
- cliConfig := parseCLIArgs()
- obsScanContainer, err := container.NewObscuroScanContainer(cliConfig)
- if err != nil {
- panic(err)
- }
-
- err = obsScanContainer.Start()
- if err != nil {
- panic(err)
- }
-
- sigCh := make(chan os.Signal, 1)
- signal.Notify(sigCh, os.Interrupt)
-
- ctx, cancel := context.WithCancel(context.Background())
-
- go func() {
- oscall := <-sigCh
- log.Printf("OS interrupt:%+v\n", oscall)
- cancel()
- }()
-
- <-ctx.Done()
-
- fmt.Println("Stopping server...")
- go func() {
- time.Sleep(5 * time.Second)
- fmt.Println("Failed to stop after 5 seconds. Exiting.")
- os.Exit(1)
- }()
-
- err = obsScanContainer.Stop()
- if err != nil {
- fmt.Printf("failed to stop gracefully - %s\n", err)
- os.Exit(1)
- }
-
- // Graceful shutdown complete
- os.Exit(0)
-}
diff --git a/tools/obscuroscan_v2/backend/config/config.go b/tools/obscuroscan_v2/backend/config/config.go
deleted file mode 100644
index d169b15c89..0000000000
--- a/tools/obscuroscan_v2/backend/config/config.go
+++ /dev/null
@@ -1,7 +0,0 @@
-package config
-
-type Config struct {
- NodeHostAddress string
- ServerAddress string
- LogPath string
-}
diff --git a/tools/obscuroscan_v2/backend/container/container.go b/tools/obscuroscan_v2/backend/container/container.go
deleted file mode 100644
index 46bad11516..0000000000
--- a/tools/obscuroscan_v2/backend/container/container.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package container
-
-import (
- "fmt"
-
- "github.com/obscuronet/go-obscuro/go/common/log"
- "github.com/obscuronet/go-obscuro/go/obsclient"
- "github.com/obscuronet/go-obscuro/go/rpc"
- "github.com/obscuronet/go-obscuro/tools/obscuroscan_v2/backend"
- "github.com/obscuronet/go-obscuro/tools/obscuroscan_v2/backend/config"
- "github.com/obscuronet/go-obscuro/tools/obscuroscan_v2/backend/webserver"
-
- gethlog "github.com/ethereum/go-ethereum/log"
-)
-
-type ObscuroScanContainer struct {
- backend *backend.Backend
- webServer *webserver.WebServer
-}
-
-func NewObscuroScanContainer(config *config.Config) (*ObscuroScanContainer, error) {
- client, err := rpc.NewNetworkClient(config.NodeHostAddress)
- if err != nil {
- return nil, fmt.Errorf("unable to connect to the obscuro node - %w", err)
- }
-
- obsClient := obsclient.NewObsClient(client)
-
- scanBackend := backend.NewBackend(obsClient)
- logger := log.New(log.ObscuroscanCmp, int(gethlog.LvlInfo), config.LogPath)
- webServer := webserver.New(scanBackend, config.ServerAddress, logger)
-
- logger.Info("Created Obscuro Scan with the following: ", "args", config)
- return &ObscuroScanContainer{
- backend: backend.NewBackend(obsClient),
- webServer: webServer,
- }, nil
-}
-
-func (c *ObscuroScanContainer) Start() error {
- return c.webServer.Start()
-}
-
-func (c *ObscuroScanContainer) Stop() error {
- return c.webServer.Stop()
-}
diff --git a/tools/obscuroscan_v2/backend/obscuroscan_backend.go b/tools/obscuroscan_v2/backend/obscuroscan_backend.go
deleted file mode 100644
index d2df5cb46d..0000000000
--- a/tools/obscuroscan_v2/backend/obscuroscan_backend.go
+++ /dev/null
@@ -1,128 +0,0 @@
-package backend
-
-import (
- "crypto/aes"
- "crypto/cipher"
- "encoding/base64"
- "fmt"
-
- "github.com/ethereum/go-ethereum/rlp"
- "github.com/obscuronet/go-obscuro/go/common/compression"
- "github.com/obscuronet/go-obscuro/go/enclave/crypto"
-
- "github.com/obscuronet/go-obscuro/go/common"
- "github.com/obscuronet/go-obscuro/go/obsclient"
-
- gethcommon "github.com/ethereum/go-ethereum/common"
-)
-
-type Backend struct {
- obsClient *obsclient.ObsClient
-}
-
-func NewBackend(obsClient *obsclient.ObsClient) *Backend {
- return &Backend{
- obsClient: obsClient,
- }
-}
-
-func (b *Backend) GetLatestBatch() (*common.BatchHeader, error) {
- return b.obsClient.BatchHeaderByNumber(nil)
-}
-
-func (b *Backend) GetLatestRollup() (*common.RollupHeader, error) {
- return &common.RollupHeader{}, nil
-}
-
-func (b *Backend) GetNodeCount() (int, error) {
- // return b.obsClient.ActiveNodeCount()
- return 0, nil
-}
-
-func (b *Backend) GetTotalContractCount() (int, error) {
- return b.obsClient.GetTotalContractCount()
-}
-
-func (b *Backend) GetTotalTransactionCount() (int, error) {
- return b.obsClient.GetTotalTransactionCount()
-}
-
-func (b *Backend) GetLatestRollupHeader() (*common.RollupHeader, error) {
- return b.obsClient.GetLatestRollupHeader()
-}
-
-func (b *Backend) GetBatchByHash(hash gethcommon.Hash) (*common.ExtBatch, error) {
- return b.obsClient.BatchByHash(hash)
-}
-
-func (b *Backend) GetBatchHeader(hash gethcommon.Hash) (*common.BatchHeader, error) {
- return b.obsClient.BatchHeaderByHash(hash)
-}
-
-func (b *Backend) GetTransaction(_ gethcommon.Hash) (*common.L2Tx, error) {
- return nil, fmt.Errorf("unable to get encrypted Tx")
-}
-
-func (b *Backend) GetPublicTransactions(offset uint64, size uint64) (*common.TransactionListingResponse, error) {
- return b.obsClient.GetPublicTxListing(&common.QueryPagination{
- Offset: offset,
- Size: uint(size),
- })
-}
-
-func (b *Backend) GetBatchesListing(offset uint64, size uint64) (*common.BatchListingResponse, error) {
- return b.obsClient.GetBatchesListing(&common.QueryPagination{
- Offset: offset,
- Size: uint(size),
- })
-}
-
-func (b *Backend) GetBlockListing(offset uint64, size uint64) (*common.BlockListingResponse, error) {
- return b.obsClient.GetBlockListing(&common.QueryPagination{
- Offset: offset,
- Size: uint(size),
- })
-}
-
-func (b *Backend) DecryptTxBlob(payload string) ([]*common.L2Tx, error) {
- encryptedTxBytes, err := base64.StdEncoding.DecodeString(payload)
- if err != nil {
- return nil, fmt.Errorf("could not decode encrypted transaction blob from Base64. Cause: %w", err)
- }
-
- key := gethcommon.Hex2Bytes(crypto.RollupEncryptionKeyHex)
- block, err := aes.NewCipher(key)
- if err != nil {
- return nil, fmt.Errorf("could not initialise AES cipher for enclave rollup key. Cause: %w", err)
- }
- transactionCipher, err := cipher.NewGCM(block)
- if err != nil {
- return nil, fmt.Errorf("could not initialise wrapper for AES cipher for enclave rollup key. Cause: %w", err)
- }
-
- // The nonce is prepended to the ciphertext.
- nonce := encryptedTxBytes[0:crypto.NonceLength]
- ciphertext := encryptedTxBytes[crypto.NonceLength:]
- compressedTxs, err := transactionCipher.Open(nil, nonce, ciphertext, nil)
- if err != nil {
- return nil, fmt.Errorf("could not decrypt encrypted L2 transactions. Cause: %w", err)
- }
-
- compressionService := compression.NewBrotliDataCompressionService()
-
- encodedTxs, err := compressionService.Decompress(compressedTxs)
- if err != nil {
- return nil, fmt.Errorf("could not decompress L2 transactions. Cause: %w", err)
- }
-
- var cleartextTxs []*common.L2Tx
- if err = rlp.DecodeBytes(encodedTxs, &cleartextTxs); err != nil {
- return nil, fmt.Errorf("could not decode encoded L2 transactions. Cause: %w", err)
- }
-
- return cleartextTxs, nil
-}
-
-func (b *Backend) GetConfig() (*common.ObscuroNetworkInfo, error) {
- return b.obsClient.GetConfig()
-}
diff --git a/tools/obscuroscan_v2/backend/webserver/webserver.go b/tools/obscuroscan_v2/backend/webserver/webserver.go
deleted file mode 100644
index b4e437e734..0000000000
--- a/tools/obscuroscan_v2/backend/webserver/webserver.go
+++ /dev/null
@@ -1,123 +0,0 @@
-package webserver
-
-import (
- "context"
- "encoding/json"
- "fmt"
- "net/http"
- "time"
-
- "github.com/ethereum/go-ethereum/log"
- "github.com/gin-contrib/cors"
- "github.com/gin-gonic/gin"
- "github.com/obscuronet/go-obscuro/tools/obscuroscan_v2/backend"
-)
-
-type WebServer struct {
- engine *gin.Engine
- backend *backend.Backend
- bindAddress string
- logger log.Logger
- server *http.Server
-}
-
-func New(backend *backend.Backend, bindAddress string, logger log.Logger) *WebServer {
- r := gin.New()
- r.RedirectTrailingSlash = false
- gin.SetMode(gin.ReleaseMode)
-
- // todo this should be reviewed as anyone can access the api right now
- config := cors.DefaultConfig()
- config.AllowOrigins = []string{"*"}
- config.AllowMethods = []string{"GET", "POST", "PUT", "DELETE"}
- config.AllowHeaders = []string{"Origin", "Authorization", "Content-Type"}
- r.Use(cors.New(config))
-
- server := &WebServer{
- engine: r,
- backend: backend,
- bindAddress: bindAddress,
- logger: logger,
- }
-
- // routes
- routeItems(r, server)
- routeCounts(r, server)
-
- // todo group/format these into items, counts, actions
- r.GET("/health/", server.health)
- r.GET("/batchHeader/:hash", server.getBatchHeader)
- r.GET("/tx/:hash", server.getTransaction)
- r.POST("/actions/decryptTxBlob/", server.decryptTxBlob)
-
- return server
-}
-
-func (w *WebServer) Start() error {
- w.server = &http.Server{
- Addr: w.bindAddress,
- Handler: w.engine,
- ReadHeaderTimeout: 5 * time.Second,
- }
-
- // Initializing the server in a goroutine so that
- // it won't block the graceful shutdown handling
- go func() {
- w.logger.Info("Starting server on " + w.bindAddress)
- println("Starting server on " + w.bindAddress)
- if err := w.server.ListenAndServe(); err != nil && err != http.ErrServerClosed {
- // todo don't panic
- panic(err)
- }
- }()
-
- return nil
-}
-
-func (w *WebServer) Stop() error {
- // The context is used to inform the server it has 5 seconds to finish
- // the request it is currently handling
- ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
- defer cancel()
-
- return w.server.Shutdown(ctx)
-}
-
-func (w *WebServer) health(c *gin.Context) {
- c.JSON(http.StatusOK, gin.H{"healthy": true})
-}
-
-func (w *WebServer) decryptTxBlob(c *gin.Context) {
- // Read the payload as a string
- payloadBytes, err := c.GetRawData()
- if err != nil {
- c.JSON(400, gin.H{"error": "Failed to read payload"})
- return
- }
-
- payload := PostData{}
- err = json.Unmarshal(payloadBytes, &payload)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- result, err := w.backend.DecryptTxBlob(payload.StrData)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"result": result})
-}
-
-type PostData struct {
- StrData string `json:"strData"`
-}
-
-func errorHandler(c *gin.Context, err error, logger log.Logger) {
- c.AbortWithStatusJSON(http.StatusInternalServerError, map[string]string{
- "error": err.Error(),
- })
- logger.Error(err.Error())
-}
diff --git a/tools/obscuroscan_v2/backend/webserver/webserver_routes_counts.go b/tools/obscuroscan_v2/backend/webserver/webserver_routes_counts.go
deleted file mode 100644
index 21429fe950..0000000000
--- a/tools/obscuroscan_v2/backend/webserver/webserver_routes_counts.go
+++ /dev/null
@@ -1,33 +0,0 @@
-package webserver
-
-import (
- "fmt"
- "net/http"
-
- "github.com/gin-gonic/gin"
-)
-
-func routeCounts(r *gin.Engine, server *WebServer) {
- r.GET("/count/contracts/", server.getTotalContractCount)
- r.GET("/count/transactions/", server.getTotalTransactionCount)
-}
-
-func (w *WebServer) getTotalContractCount(c *gin.Context) {
- count, err := w.backend.GetTotalContractCount()
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"count": count})
-}
-
-func (w *WebServer) getTotalTransactionCount(c *gin.Context) {
- count, err := w.backend.GetTotalTransactionCount()
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"count": count})
-}
diff --git a/tools/obscuroscan_v2/backend/webserver/webserver_routes_items.go b/tools/obscuroscan_v2/backend/webserver/webserver_routes_items.go
deleted file mode 100644
index 352d435a67..0000000000
--- a/tools/obscuroscan_v2/backend/webserver/webserver_routes_items.go
+++ /dev/null
@@ -1,161 +0,0 @@
-package webserver
-
-import (
- "fmt"
- "net/http"
- "strconv"
-
- gethcommon "github.com/ethereum/go-ethereum/common"
- "github.com/gin-gonic/gin"
-)
-
-func routeItems(r *gin.Engine, server *WebServer) {
- r.GET("/items/batch/latest/", server.getLatestBatch)
- r.GET("/items/rollup/latest/", server.getLatestRollupHeader)
- r.GET("/items/batch/:hash", server.getBatch)
- r.GET("/items/transactions/", server.getPublicTransactions)
- r.GET("/items/batches/", server.getBatchListing)
- r.GET("/items/blocks/", server.getBlockListing)
- r.GET("/info/obscuro/", server.getConfig)
-}
-
-func (w *WebServer) getLatestBatch(c *gin.Context) {
- batch, err := w.backend.GetLatestBatch()
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"item": batch})
-}
-
-func (w *WebServer) getLatestRollupHeader(c *gin.Context) {
- block, err := w.backend.GetLatestRollupHeader()
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"item": block})
-}
-
-func (w *WebServer) getBatch(c *gin.Context) {
- hash := c.Param("hash")
- parsedHash := gethcommon.HexToHash(hash)
- batch, err := w.backend.GetBatchByHash(parsedHash)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"item": batch})
-}
-
-func (w *WebServer) getBatchHeader(c *gin.Context) {
- hash := c.Param("hash")
- parsedHash := gethcommon.HexToHash(hash)
- batch, err := w.backend.GetBatchHeader(parsedHash)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"item": batch})
-}
-
-func (w *WebServer) getTransaction(c *gin.Context) {
- hash := c.Param("hash")
- parsedHash := gethcommon.HexToHash(hash)
- batch, err := w.backend.GetTransaction(parsedHash)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"item": batch})
-}
-
-func (w *WebServer) getPublicTransactions(c *gin.Context) {
- offsetStr := c.DefaultQuery("offset", "0")
- sizeStr := c.DefaultQuery("size", "10")
-
- offset, err := strconv.ParseUint(offsetStr, 10, 32)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- parseUint, err := strconv.ParseUint(sizeStr, 10, 64)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- publicTxs, err := w.backend.GetPublicTransactions(offset, parseUint)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"result": publicTxs})
-}
-
-func (w *WebServer) getBatchListing(c *gin.Context) {
- offsetStr := c.DefaultQuery("offset", "0")
- sizeStr := c.DefaultQuery("size", "10")
-
- offset, err := strconv.ParseUint(offsetStr, 10, 32)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- parseUint, err := strconv.ParseUint(sizeStr, 10, 64)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- batchesListing, err := w.backend.GetBatchesListing(offset, parseUint)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"result": batchesListing})
-}
-
-func (w *WebServer) getBlockListing(c *gin.Context) {
- offsetStr := c.DefaultQuery("offset", "0")
- sizeStr := c.DefaultQuery("size", "10")
-
- offset, err := strconv.ParseUint(offsetStr, 10, 32)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- parseUint, err := strconv.ParseUint(sizeStr, 10, 64)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- batchesListing, err := w.backend.GetBlockListing(offset, parseUint)
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"result": batchesListing})
-}
-
-func (w *WebServer) getConfig(c *gin.Context) {
- config, err := w.backend.GetConfig()
- if err != nil {
- errorHandler(c, fmt.Errorf("unable to execute request %w", err), w.logger)
- return
- }
-
- c.JSON(http.StatusOK, gin.H{"item": config})
-}
diff --git a/tools/obscuroscan_v2/frontend/.eslintrc.cjs b/tools/obscuroscan_v2/frontend/.eslintrc.cjs
deleted file mode 100644
index b64731a0fe..0000000000
--- a/tools/obscuroscan_v2/frontend/.eslintrc.cjs
+++ /dev/null
@@ -1,14 +0,0 @@
-/* eslint-env node */
-require('@rushstack/eslint-patch/modern-module-resolution')
-
-module.exports = {
- root: true,
- 'extends': [
- 'plugin:vue/vue3-essential',
- 'eslint:recommended',
- '@vue/eslint-config-prettier/skip-formatting'
- ],
- parserOptions: {
- ecmaVersion: 'latest'
- }
-}
diff --git a/tools/obscuroscan_v2/frontend/.gitignore b/tools/obscuroscan_v2/frontend/.gitignore
deleted file mode 100644
index 38adffa64e..0000000000
--- a/tools/obscuroscan_v2/frontend/.gitignore
+++ /dev/null
@@ -1,28 +0,0 @@
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-lerna-debug.log*
-
-node_modules
-.DS_Store
-dist
-dist-ssr
-coverage
-*.local
-
-/cypress/videos/
-/cypress/screenshots/
-
-# Editor directories and files
-.vscode/*
-!.vscode/extensions.json
-.idea
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
diff --git a/tools/obscuroscan_v2/frontend/.prettierrc.json b/tools/obscuroscan_v2/frontend/.prettierrc.json
deleted file mode 100644
index 66e23359c3..0000000000
--- a/tools/obscuroscan_v2/frontend/.prettierrc.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "$schema": "https://json.schemastore.org/prettierrc",
- "semi": false,
- "tabWidth": 2,
- "singleQuote": true,
- "printWidth": 100,
- "trailingComma": "none"
-}
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/Dockerfile b/tools/obscuroscan_v2/frontend/Dockerfile
deleted file mode 100644
index e37630ff7c..0000000000
--- a/tools/obscuroscan_v2/frontend/Dockerfile
+++ /dev/null
@@ -1,9 +0,0 @@
-FROM node:18-buster as runner
-# setup container data structure
-RUN mkdir -p /home/obscuro/go-obscuro/tools/obscuroscan_v2/
-COPY ./tools/obscuroscan_v2/frontend /home/obscuro/go-obscuro/tools/obscuroscan_v2/frontend
-
-WORKDIR /home/obscuro/go-obscuro/tools/obscuroscan_v2/frontend
-RUN npm install && npm install http-server -g
-
-EXPOSE 80
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/README.md b/tools/obscuroscan_v2/frontend/README.md
deleted file mode 100644
index 31d6e8e9c2..0000000000
--- a/tools/obscuroscan_v2/frontend/README.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# frontend
-
-This template should help get you started developing with Vue 3 in Vite.
-
-## Customize configuration
-
-See [Vite Configuration Reference](https://vitejs.dev/config/).
-
-## Project Setup
-
-```sh
-npm install
-```
-
-### Compile and Hot-Reload for Development
-
-```sh
-npm run dev
-```
-
-### Compile and Minify for Production
-
-```sh
-npm run build
-```
-
-### Lint with [ESLint](https://eslint.org/)
-
-```sh
-npm run lint
-```
diff --git a/tools/obscuroscan_v2/frontend/index.html b/tools/obscuroscan_v2/frontend/index.html
deleted file mode 100644
index da8420a917..0000000000
--- a/tools/obscuroscan_v2/frontend/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
- ObscuroScan
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tools/obscuroscan_v2/frontend/package-lock.json b/tools/obscuroscan_v2/frontend/package-lock.json
index 9666556207..b5178d45c3 100644
--- a/tools/obscuroscan_v2/frontend/package-lock.json
+++ b/tools/obscuroscan_v2/frontend/package-lock.json
@@ -15,8 +15,7 @@
"pinia": "^2.1.4",
"vue": "^3.3.4",
"vue-json-pretty": "^2.2.4",
- "vue-router": "^4.2.2",
- "vue-timeago3": "^2.3.2"
+ "vue-router": "^4.2.2"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.2.0",
@@ -43,9 +42,9 @@
"integrity": "sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg=="
},
"node_modules/@babel/parser": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
- "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
+ "version": "7.22.7",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz",
+ "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -53,17 +52,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/@babel/runtime": {
- "version": "7.23.2",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz",
- "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@ctrl/tinycolor": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz",
@@ -657,49 +645,49 @@
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.7.tgz",
- "integrity": "sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
+ "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
"dependencies": {
- "@babel/parser": "^7.23.0",
- "@vue/shared": "3.3.7",
+ "@babel/parser": "^7.21.3",
+ "@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
"source-map-js": "^1.0.2"
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz",
- "integrity": "sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
+ "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
"dependencies": {
- "@vue/compiler-core": "3.3.7",
- "@vue/shared": "3.3.7"
+ "@vue/compiler-core": "3.3.4",
+ "@vue/shared": "3.3.4"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz",
- "integrity": "sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
+ "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
"dependencies": {
- "@babel/parser": "^7.23.0",
- "@vue/compiler-core": "3.3.7",
- "@vue/compiler-dom": "3.3.7",
- "@vue/compiler-ssr": "3.3.7",
- "@vue/reactivity-transform": "3.3.7",
- "@vue/shared": "3.3.7",
+ "@babel/parser": "^7.20.15",
+ "@vue/compiler-core": "3.3.4",
+ "@vue/compiler-dom": "3.3.4",
+ "@vue/compiler-ssr": "3.3.4",
+ "@vue/reactivity-transform": "3.3.4",
+ "@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
- "magic-string": "^0.30.5",
- "postcss": "^8.4.31",
+ "magic-string": "^0.30.0",
+ "postcss": "^8.1.10",
"source-map-js": "^1.0.2"
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz",
- "integrity": "sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
+ "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
"dependencies": {
- "@vue/compiler-dom": "3.3.7",
- "@vue/shared": "3.3.7"
+ "@vue/compiler-dom": "3.3.4",
+ "@vue/shared": "3.3.4"
}
},
"node_modules/@vue/devtools-api": {
@@ -722,60 +710,60 @@
}
},
"node_modules/@vue/reactivity": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.7.tgz",
- "integrity": "sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
+ "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
"dependencies": {
- "@vue/shared": "3.3.7"
+ "@vue/shared": "3.3.4"
}
},
"node_modules/@vue/reactivity-transform": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz",
- "integrity": "sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
+ "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
"dependencies": {
- "@babel/parser": "^7.23.0",
- "@vue/compiler-core": "3.3.7",
- "@vue/shared": "3.3.7",
+ "@babel/parser": "^7.20.15",
+ "@vue/compiler-core": "3.3.4",
+ "@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
- "magic-string": "^0.30.5"
+ "magic-string": "^0.30.0"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.7.tgz",
- "integrity": "sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
+ "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
"dependencies": {
- "@vue/reactivity": "3.3.7",
- "@vue/shared": "3.3.7"
+ "@vue/reactivity": "3.3.4",
+ "@vue/shared": "3.3.4"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz",
- "integrity": "sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
+ "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
"dependencies": {
- "@vue/runtime-core": "3.3.7",
- "@vue/shared": "3.3.7",
- "csstype": "^3.1.2"
+ "@vue/runtime-core": "3.3.4",
+ "@vue/shared": "3.3.4",
+ "csstype": "^3.1.1"
}
},
"node_modules/@vue/server-renderer": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.7.tgz",
- "integrity": "sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
+ "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
"dependencies": {
- "@vue/compiler-ssr": "3.3.7",
- "@vue/shared": "3.3.7"
+ "@vue/compiler-ssr": "3.3.4",
+ "@vue/shared": "3.3.4"
},
"peerDependencies": {
- "vue": "3.3.7"
+ "vue": "3.3.4"
}
},
"node_modules/@vue/shared": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.7.tgz",
- "integrity": "sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg=="
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
+ "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
},
"node_modules/@vueuse/core": {
"version": "9.13.0",
@@ -1065,21 +1053,6 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
- "node_modules/date-fns": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
- "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
- "dependencies": {
- "@babel/runtime": "^7.21.0"
- },
- "engines": {
- "node": ">=0.11"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/date-fns"
- }
- },
"node_modules/dayjs": {
"version": "1.11.9",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz",
@@ -1805,9 +1778,9 @@
}
},
"node_modules/magic-string": {
- "version": "0.30.5",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
- "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz",
+ "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
},
@@ -2048,9 +2021,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.31",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
- "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
+ "version": "8.4.26",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz",
+ "integrity": "sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==",
"funding": [
{
"type": "opencollective",
@@ -2157,11 +2130,6 @@
}
]
},
- "node_modules/regenerator-runtime": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
- "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
- },
"node_modules/resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -2421,23 +2389,15 @@
}
},
"node_modules/vue": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.7.tgz",
- "integrity": "sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
+ "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
"dependencies": {
- "@vue/compiler-dom": "3.3.7",
- "@vue/compiler-sfc": "3.3.7",
- "@vue/runtime-dom": "3.3.7",
- "@vue/server-renderer": "3.3.7",
- "@vue/shared": "3.3.7"
- },
- "peerDependencies": {
- "typescript": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "@vue/compiler-dom": "3.3.4",
+ "@vue/compiler-sfc": "3.3.4",
+ "@vue/runtime-dom": "3.3.4",
+ "@vue/server-renderer": "3.3.4",
+ "@vue/shared": "3.3.4"
}
},
"node_modules/vue-eslint-parser": {
@@ -2490,17 +2450,6 @@
"vue": "^3.2.0"
}
},
- "node_modules/vue-timeago3": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/vue-timeago3/-/vue-timeago3-2.3.2.tgz",
- "integrity": "sha512-yxb++H9ekLS8bSt3in7fMwIfW1ex9ceMYVCcfLiOppBYpp8hatlOTLqQyCmLXeDYB098uwgfnCewEPKVh/gi6A==",
- "dependencies": {
- "date-fns": "^2.28.0"
- },
- "peerDependencies": {
- "vue": "^3.3.6"
- }
- },
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -2583,17 +2532,9 @@
"integrity": "sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg=="
},
"@babel/parser": {
- "version": "7.23.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
- "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw=="
- },
- "@babel/runtime": {
- "version": "7.23.2",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz",
- "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==",
- "requires": {
- "regenerator-runtime": "^0.14.0"
- }
+ "version": "7.22.7",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz",
+ "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q=="
},
"@ctrl/tinycolor": {
"version": "3.6.0",
@@ -2922,49 +2863,49 @@
"requires": {}
},
"@vue/compiler-core": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.7.tgz",
- "integrity": "sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
+ "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
"requires": {
- "@babel/parser": "^7.23.0",
- "@vue/shared": "3.3.7",
+ "@babel/parser": "^7.21.3",
+ "@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
"source-map-js": "^1.0.2"
}
},
"@vue/compiler-dom": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz",
- "integrity": "sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
+ "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
"requires": {
- "@vue/compiler-core": "3.3.7",
- "@vue/shared": "3.3.7"
+ "@vue/compiler-core": "3.3.4",
+ "@vue/shared": "3.3.4"
}
},
"@vue/compiler-sfc": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz",
- "integrity": "sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
+ "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
"requires": {
- "@babel/parser": "^7.23.0",
- "@vue/compiler-core": "3.3.7",
- "@vue/compiler-dom": "3.3.7",
- "@vue/compiler-ssr": "3.3.7",
- "@vue/reactivity-transform": "3.3.7",
- "@vue/shared": "3.3.7",
+ "@babel/parser": "^7.20.15",
+ "@vue/compiler-core": "3.3.4",
+ "@vue/compiler-dom": "3.3.4",
+ "@vue/compiler-ssr": "3.3.4",
+ "@vue/reactivity-transform": "3.3.4",
+ "@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
- "magic-string": "^0.30.5",
- "postcss": "^8.4.31",
+ "magic-string": "^0.30.0",
+ "postcss": "^8.1.10",
"source-map-js": "^1.0.2"
}
},
"@vue/compiler-ssr": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz",
- "integrity": "sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
+ "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
"requires": {
- "@vue/compiler-dom": "3.3.7",
- "@vue/shared": "3.3.7"
+ "@vue/compiler-dom": "3.3.4",
+ "@vue/shared": "3.3.4"
}
},
"@vue/devtools-api": {
@@ -2983,57 +2924,57 @@
}
},
"@vue/reactivity": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.7.tgz",
- "integrity": "sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
+ "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
"requires": {
- "@vue/shared": "3.3.7"
+ "@vue/shared": "3.3.4"
}
},
"@vue/reactivity-transform": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz",
- "integrity": "sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
+ "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
"requires": {
- "@babel/parser": "^7.23.0",
- "@vue/compiler-core": "3.3.7",
- "@vue/shared": "3.3.7",
+ "@babel/parser": "^7.20.15",
+ "@vue/compiler-core": "3.3.4",
+ "@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
- "magic-string": "^0.30.5"
+ "magic-string": "^0.30.0"
}
},
"@vue/runtime-core": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.7.tgz",
- "integrity": "sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
+ "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
"requires": {
- "@vue/reactivity": "3.3.7",
- "@vue/shared": "3.3.7"
+ "@vue/reactivity": "3.3.4",
+ "@vue/shared": "3.3.4"
}
},
"@vue/runtime-dom": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz",
- "integrity": "sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
+ "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
"requires": {
- "@vue/runtime-core": "3.3.7",
- "@vue/shared": "3.3.7",
- "csstype": "^3.1.2"
+ "@vue/runtime-core": "3.3.4",
+ "@vue/shared": "3.3.4",
+ "csstype": "^3.1.1"
}
},
"@vue/server-renderer": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.7.tgz",
- "integrity": "sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
+ "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
"requires": {
- "@vue/compiler-ssr": "3.3.7",
- "@vue/shared": "3.3.7"
+ "@vue/compiler-ssr": "3.3.4",
+ "@vue/shared": "3.3.4"
}
},
"@vue/shared": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.7.tgz",
- "integrity": "sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg=="
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
+ "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
},
"@vueuse/core": {
"version": "9.13.0",
@@ -3235,14 +3176,6 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
- "date-fns": {
- "version": "2.30.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
- "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
- "requires": {
- "@babel/runtime": "^7.21.0"
- }
- },
"dayjs": {
"version": "1.11.9",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz",
@@ -3769,9 +3702,9 @@
}
},
"magic-string": {
- "version": "0.30.5",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
- "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
+ "version": "0.30.1",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.1.tgz",
+ "integrity": "sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==",
"requires": {
"@jridgewell/sourcemap-codec": "^1.4.15"
}
@@ -3925,9 +3858,9 @@
}
},
"postcss": {
- "version": "8.4.31",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
- "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
+ "version": "8.4.26",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.26.tgz",
+ "integrity": "sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==",
"requires": {
"nanoid": "^3.3.6",
"picocolors": "^1.0.0",
@@ -3982,11 +3915,6 @@
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
"dev": true
},
- "regenerator-runtime": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
- "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
- },
"resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -4133,15 +4061,15 @@
}
},
"vue": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.7.tgz",
- "integrity": "sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
+ "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
"requires": {
- "@vue/compiler-dom": "3.3.7",
- "@vue/compiler-sfc": "3.3.7",
- "@vue/runtime-dom": "3.3.7",
- "@vue/server-renderer": "3.3.7",
- "@vue/shared": "3.3.7"
+ "@vue/compiler-dom": "3.3.4",
+ "@vue/compiler-sfc": "3.3.4",
+ "@vue/runtime-dom": "3.3.4",
+ "@vue/server-renderer": "3.3.4",
+ "@vue/shared": "3.3.4"
}
},
"vue-eslint-parser": {
@@ -4173,14 +4101,6 @@
"@vue/devtools-api": "^6.5.0"
}
},
- "vue-timeago3": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/vue-timeago3/-/vue-timeago3-2.3.2.tgz",
- "integrity": "sha512-yxb++H9ekLS8bSt3in7fMwIfW1ex9ceMYVCcfLiOppBYpp8hatlOTLqQyCmLXeDYB098uwgfnCewEPKVh/gi6A==",
- "requires": {
- "date-fns": "^2.28.0"
- }
- },
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
diff --git a/tools/obscuroscan_v2/frontend/package.json b/tools/obscuroscan_v2/frontend/package.json
index 3b9b41c0c2..0e99f9267b 100644
--- a/tools/obscuroscan_v2/frontend/package.json
+++ b/tools/obscuroscan_v2/frontend/package.json
@@ -19,8 +19,7 @@
"pinia": "^2.1.4",
"vue": "^3.3.4",
"vue-json-pretty": "^2.2.4",
- "vue-router": "^4.2.2",
- "vue-timeago3": "^2.3.2"
+ "vue-router": "^4.2.2"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.2.0",
diff --git a/tools/obscuroscan_v2/frontend/public/favicon-32x32.png b/tools/obscuroscan_v2/frontend/public/favicon-32x32.png
deleted file mode 100644
index ec512be020..0000000000
Binary files a/tools/obscuroscan_v2/frontend/public/favicon-32x32.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/App.vue b/tools/obscuroscan_v2/frontend/src/App.vue
index 6cf70e1449..2466145094 100644
--- a/tools/obscuroscan_v2/frontend/src/App.vue
+++ b/tools/obscuroscan_v2/frontend/src/App.vue
@@ -40,16 +40,4 @@ export default {
.bot-bar {
background:black;
}
-
-.nav-bar-header {
- margin: 0;
- padding: 0;
- filter:drop-shadow(0px 1vh 1vh #E1E1E1);
-}
-
-.main-content {
- display: flex;
- flex-direction: column;
- gap: 12px;
-}
diff --git a/tools/obscuroscan_v2/frontend/src/assets/base.css b/tools/obscuroscan_v2/frontend/src/assets/base.css
new file mode 100644
index 0000000000..d3de42ec96
--- /dev/null
+++ b/tools/obscuroscan_v2/frontend/src/assets/base.css
@@ -0,0 +1,73 @@
+/* color palette from */
+:root {
+ --vt-c-white: #ffffff;
+ --vt-c-white-soft: #f8f8f8;
+ --vt-c-white-mute: #f2f2f2;
+
+ --vt-c-black: #181818;
+ --vt-c-black-soft: #222222;
+ --vt-c-black-mute: #282828;
+
+ --vt-c-indigo: #2c3e50;
+
+ --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
+ --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
+ --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
+ --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
+
+ --vt-c-text-light-1: var(--vt-c-indigo);
+ --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
+ --vt-c-text-dark-1: var(--vt-c-white);
+ --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
+}
+
+/* semantic color variables for this project */
+:root {
+ --color-background: var(--vt-c-white);
+ --color-background-soft: var(--vt-c-white-soft);
+ --color-background-mute: var(--vt-c-white-mute);
+
+ --color-border: var(--vt-c-divider-light-2);
+ --color-border-hover: var(--vt-c-divider-light-1);
+
+ --color-heading: var(--vt-c-text-light-1);
+ --color-text: var(--vt-c-text-light-1);
+
+ --section-gap: 160px;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-background: var(--vt-c-black);
+ --color-background-soft: var(--vt-c-black-soft);
+ --color-background-mute: var(--vt-c-black-mute);
+
+ --color-border: var(--vt-c-divider-dark-2);
+ --color-border-hover: var(--vt-c-divider-dark-1);
+
+ --color-heading: var(--vt-c-text-dark-1);
+ --color-text: var(--vt-c-text-dark-2);
+ }
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+ margin: 0;
+ font-weight: normal;
+}
+
+body {
+ min-height: 100vh;
+ color: var(--color-text);
+ background: var(--color-background);
+ transition: color 0.5s, background-color 0.5s;
+ line-height: 1.6;
+ font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
+ Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
+ font-size: 15px;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/github-mark-white.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/github-mark-white.png
deleted file mode 100644
index 50b8175227..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/github-mark-white.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/github_logo.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/github_logo.png
deleted file mode 100644
index 3a4c6bd02b..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/github_logo.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_contracts.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_contracts.png
deleted file mode 100644
index d22f56f573..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_contracts.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_ethereum.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_ethereum.png
deleted file mode 100644
index c94b2857e9..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_ethereum.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_l1_rollup.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_l1_rollup.png
deleted file mode 100644
index 780575ecdb..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_l1_rollup.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_l2_batch.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_l2_batch.png
deleted file mode 100644
index 780575ecdb..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_l2_batch.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_metamask.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_metamask.png
deleted file mode 100644
index 9696ef127e..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_metamask.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_nodes.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_nodes.png
deleted file mode 100644
index c41d108cfc..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_nodes.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_transactions.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_transactions.png
deleted file mode 100644
index d22f56f573..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/icon_transactions.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/obscuro.svg b/tools/obscuroscan_v2/frontend/src/assets/imgs/obscuro.svg
new file mode 100644
index 0000000000..52e7a3e01e
--- /dev/null
+++ b/tools/obscuroscan_v2/frontend/src/assets/imgs/obscuro.svg
@@ -0,0 +1,18 @@
+
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/obscuro_black.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/obscuro_black.png
deleted file mode 100644
index b9a7143b30..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/obscuro_black.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/obscuro_black_transparent.svg b/tools/obscuroscan_v2/frontend/src/assets/imgs/obscuro_black_transparent.svg
deleted file mode 100644
index 1a254c4f84..0000000000
--- a/tools/obscuroscan_v2/frontend/src/assets/imgs/obscuro_black_transparent.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/assets/imgs/twitter_logo.png b/tools/obscuroscan_v2/frontend/src/assets/imgs/twitter_logo.png
deleted file mode 100644
index 26b539417b..0000000000
Binary files a/tools/obscuroscan_v2/frontend/src/assets/imgs/twitter_logo.png and /dev/null differ
diff --git a/tools/obscuroscan_v2/frontend/src/assets/main.css b/tools/obscuroscan_v2/frontend/src/assets/main.css
index 194ab74543..a2ff76f1c9 100644
--- a/tools/obscuroscan_v2/frontend/src/assets/main.css
+++ b/tools/obscuroscan_v2/frontend/src/assets/main.css
@@ -1,47 +1,7 @@
-:root {
- /* Neutral gray colors */
- --obs-bg-color: #f5f5f5;
- --obs-text-color: #333333;
-
- /* Colors from the Obscuro palette */
- --obs-primary: #96DECD;
- --obs-secondary: #969DDE;
- --obs-color-3: #C896DE;
- --obs-color-4: #96C8DE;
- --obs-tertiary: #5973B8;
- --el-menu-hover-text-color: #5973B8 !important;
- --el-menu-hover-bg-color: #f5f5f5 !important;
-}
-
-body {
- margin: 0;
- padding: 0;
- font-size: 16px;
- line-height: 1.5;
- font-family: Inter,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;
- font-weight: 400;
- color: #333333; /* a dark grey that complements obscuro color pallette */
- background-color: var(--obs-bg-color);
-}
+@import './base.css';
#app {
font-weight: normal;
- background-color: var(--obs-bg-color);
- color: var(--obs-text-color);
- font-family: Inter,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;
}
-.obs-link-button {
- color: var(--obs-text-color);
- background-color: transparent;
-}
-
-.obs-link-button:hover {
- color: var(--obs-tertiary) !important;
- background-color: transparent !important;
- border-color: var(--obs-tertiary) !important;
-}
-.obs-container-card {
- border-radius: 12px;
-}
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/components/BatchDataGrid.vue b/tools/obscuroscan_v2/frontend/src/components/BatchDataGrid.vue
index 17727871ec..608db99a57 100644
--- a/tools/obscuroscan_v2/frontend/src/components/BatchDataGrid.vue
+++ b/tools/obscuroscan_v2/frontend/src/components/BatchDataGrid.vue
@@ -1,52 +1,50 @@
-
-
+
+
-
+
-
-
+
+
diff --git a/tools/obscuroscan_v2/frontend/src/components/BlocksDataGrid.vue b/tools/obscuroscan_v2/frontend/src/components/BlocksDataGrid.vue
index 5f88a6bcc1..591c28675b 100644
--- a/tools/obscuroscan_v2/frontend/src/components/BlocksDataGrid.vue
+++ b/tools/obscuroscan_v2/frontend/src/components/BlocksDataGrid.vue
@@ -1,40 +1,42 @@
-
-
-
- {{ Number(scope.row.blockHeader.number) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ {{ Number(scope.row.blockHeader.number) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
-
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/components/MetaMaskConnectButton.vue b/tools/obscuroscan_v2/frontend/src/components/MetaMaskConnectButton.vue
index 028b88b1a1..4a1bf18ef9 100644
--- a/tools/obscuroscan_v2/frontend/src/components/MetaMaskConnectButton.vue
+++ b/tools/obscuroscan_v2/frontend/src/components/MetaMaskConnectButton.vue
@@ -1,5 +1,5 @@
-
+
Connected!
Connect with MetaMask
@@ -7,47 +7,47 @@
diff --git a/tools/obscuroscan_v2/frontend/src/components/RecentRollupsTable.vue b/tools/obscuroscan_v2/frontend/src/components/RecentRollupsTable.vue
deleted file mode 100644
index aba0680bab..0000000000
--- a/tools/obscuroscan_v2/frontend/src/components/RecentRollupsTable.vue
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/components/RotatingBatchesItem.vue b/tools/obscuroscan_v2/frontend/src/components/RotatingBatchesItem.vue
index a6d2a2bd5e..294cd3355a 100644
--- a/tools/obscuroscan_v2/frontend/src/components/RotatingBatchesItem.vue
+++ b/tools/obscuroscan_v2/frontend/src/components/RotatingBatchesItem.vue
@@ -1,20 +1,16 @@
-
- View older batches
-
-
-
-
- Batch Hash:
-
- L1 Block:
-
- Tx Count:
- {{ batch.txHashes ? batch.txHashes.length : 0}}
- Timestamp:
-
-
-
+
+
+
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/components/RotatingRollupsItem.vue b/tools/obscuroscan_v2/frontend/src/components/RotatingRollupsItem.vue
deleted file mode 100644
index 3ade490d46..0000000000
--- a/tools/obscuroscan_v2/frontend/src/components/RotatingRollupsItem.vue
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
-
-
- Last Batch: {{ card.LastBatchSeqNo }}
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/components/SearchBarItem.vue b/tools/obscuroscan_v2/frontend/src/components/SearchBarItem.vue
deleted file mode 100644
index 16159ba87f..0000000000
--- a/tools/obscuroscan_v2/frontend/src/components/SearchBarItem.vue
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/components/SummaryItem.vue b/tools/obscuroscan_v2/frontend/src/components/SummaryItem.vue
index e19e1a76c5..3ef5d95734 100644
--- a/tools/obscuroscan_v2/frontend/src/components/SummaryItem.vue
+++ b/tools/obscuroscan_v2/frontend/src/components/SummaryItem.vue
@@ -1,49 +1,140 @@
-
-
-
-
+
+
+
+
+
+
+
+
$ {{ ethPriceUSD }}
+
loading...
+
+
+
+
+
+
+ Coming soon
+
+
+
+
+
+
+
+
{{ latestBatch }}
+
loading...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ totalTransactionCount }}
+
loading...
+
+
+
+
+
+
+
+
{{ totalContractCount }}
+
loading...
+
+
+
+
diff --git a/tools/obscuroscan_v2/frontend/src/components/SummaryRollupsListItem.vue b/tools/obscuroscan_v2/frontend/src/components/SummaryRollupsListItem.vue
new file mode 100644
index 0000000000..9f6f4c007b
--- /dev/null
+++ b/tools/obscuroscan_v2/frontend/src/components/SummaryRollupsListItem.vue
@@ -0,0 +1,53 @@
+
+
+ Rollups
+
+
+
+
+ Height
+
+ No of Txs
+ Time
+ Batch Hash
+
+
+
+
+
+
+
+ Height
+
+ No of Txs
+ Time
+ Batch Hash
+
+
+
+
+
+
+
+ Height
+
+ No of Txs
+ Time
+ Batch Hash
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/components/SummaryRow.vue b/tools/obscuroscan_v2/frontend/src/components/SummaryRow.vue
deleted file mode 100644
index 6b107c5cf1..0000000000
--- a/tools/obscuroscan_v2/frontend/src/components/SummaryRow.vue
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
- $ {{ ethPriceUSD }}
-
-
-
-
- {{ latestBatch }}
-
-
-
-
-
-
-
-
-
-
-
- {{ totalTransactionCount }}
-
-
-
-
- {{ totalContractCount }}
-
-
-
-
-
-
-
diff --git a/tools/obscuroscan_v2/frontend/src/components/VerifiedContractsDataGrid.vue b/tools/obscuroscan_v2/frontend/src/components/VerifiedContractsDataGrid.vue
deleted file mode 100644
index e9f03cbafa..0000000000
--- a/tools/obscuroscan_v2/frontend/src/components/VerifiedContractsDataGrid.vue
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
- Verified Sequencer Data
-
-
-
-
-
-
-
-
-
- Verified Contracts
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/components/helper/BatchInfoWindow.vue b/tools/obscuroscan_v2/frontend/src/components/helper/BatchInfoWindow.vue
deleted file mode 100644
index 2589c984f0..0000000000
--- a/tools/obscuroscan_v2/frontend/src/components/helper/BatchInfoWindow.vue
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
- Decrypt Transactions
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/components/helper/CopyButton.vue b/tools/obscuroscan_v2/frontend/src/components/helper/CopyButton.vue
deleted file mode 100644
index f2a0dd6bb2..0000000000
--- a/tools/obscuroscan_v2/frontend/src/components/helper/CopyButton.vue
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
diff --git a/tools/obscuroscan_v2/frontend/src/components/helper/ShortenedHash.vue b/tools/obscuroscan_v2/frontend/src/components/helper/ShortenedHash.vue
index a2eb89805d..87d5092bac 100644
--- a/tools/obscuroscan_v2/frontend/src/components/helper/ShortenedHash.vue
+++ b/tools/obscuroscan_v2/frontend/src/components/helper/ShortenedHash.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/tools/obscuroscan_v2/frontend/src/components/helper/Timestamp.vue b/tools/obscuroscan_v2/frontend/src/components/helper/Timestamp.vue
index b2fa4bca3d..c40b3fb517 100644
--- a/tools/obscuroscan_v2/frontend/src/components/helper/Timestamp.vue
+++ b/tools/obscuroscan_v2/frontend/src/components/helper/Timestamp.vue
@@ -1,7 +1,6 @@
-
- {{ formattedTimestamp }}
-
()
+
+ {{ formattedTimestamp }}
@@ -28,10 +27,4 @@ export default {
}
}
};
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/lib/cachedList.js b/tools/obscuroscan_v2/frontend/src/lib/cachedList.js
deleted file mode 100644
index a6eee42195..0000000000
--- a/tools/obscuroscan_v2/frontend/src/lib/cachedList.js
+++ /dev/null
@@ -1,27 +0,0 @@
-class CachedList {
- constructor() {
- // todo these should just be one storage
- this.items = [];
- this.itemsByHash = {};
- }
-
- add(item) {
- if (!this.items.some(i => i.hash === item.hash)) {
- this.items.push(item);
- }
- }
-
- get() {
- return this.items.slice(-5);
- }
-
- addByHash(item) {
- this.itemsByHash[item.Header.hash] = item
- }
-
- getByHash(hash) {
- return this.itemsByHash[hash]
- }
-}
-
-export default CachedList
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/lib/config.dev.js b/tools/obscuroscan_v2/frontend/src/lib/config.dev.js
deleted file mode 100644
index cf242044b4..0000000000
--- a/tools/obscuroscan_v2/frontend/src/lib/config.dev.js
+++ /dev/null
@@ -1,8 +0,0 @@
-class Config {
- static backendServerAddress = "http://127.0.0.1:43910"
- static pollingInterval = 1000
- static pricePollingInterval = 60*1000 // 1 minute
- static version = "dev"
-}
-
-export default Config
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/lib/config.js b/tools/obscuroscan_v2/frontend/src/lib/config.js
deleted file mode 100644
index cf242044b4..0000000000
--- a/tools/obscuroscan_v2/frontend/src/lib/config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-class Config {
- static backendServerAddress = "http://127.0.0.1:43910"
- static pollingInterval = 1000
- static pricePollingInterval = 60*1000 // 1 minute
- static version = "dev"
-}
-
-export default Config
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/lib/config.prod.js b/tools/obscuroscan_v2/frontend/src/lib/config.prod.js
deleted file mode 100644
index affe11ac2b..0000000000
--- a/tools/obscuroscan_v2/frontend/src/lib/config.prod.js
+++ /dev/null
@@ -1,9 +0,0 @@
-class Config {
- // VITE_APIHOSTADDRESS should be used as an env var at the prod server
- static backendServerAddress = import.meta.env.VITE_APIHOSTADDRESS
- static pollingInterval = 1000
- static pricePollingInterval = 60*1000 // 1 minute
- static version = import.meta.env.VITE_FE_VERSION
-}
-
-export default Config
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/lib/poller.js b/tools/obscuroscan_v2/frontend/src/lib/poller.js
deleted file mode 100644
index 8a758bd94b..0000000000
--- a/tools/obscuroscan_v2/frontend/src/lib/poller.js
+++ /dev/null
@@ -1,25 +0,0 @@
-class Poller {
- constructor(fetchCallback, interval) {
- this.fetchCallback = fetchCallback;
- this.interval = interval;
- this.timer = null;
- }
-
- // Start polling - executes the fetchCallback immediately and every interval thereafter
- start() {
- this.stop(); // Ensure previous intervals are cleared
- this.fetchCallback();
- this.timer = setInterval(async () => {
- await this.fetchCallback();
- }, this.interval);
- }
-
- stop() {
- if (this.timer) {
- clearInterval(this.timer);
- this.timer = null;
- }
- }
-}
-
-export default Poller
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/main.js b/tools/obscuroscan_v2/frontend/src/main.js
index f15e63ea27..26a2f9f48e 100644
--- a/tools/obscuroscan_v2/frontend/src/main.js
+++ b/tools/obscuroscan_v2/frontend/src/main.js
@@ -2,7 +2,6 @@ import './assets/main.css'
import { createApp } from 'vue'
import {createPinia, setActivePinia} from 'pinia'
-import timeago from 'vue-timeago3'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
@@ -20,7 +19,6 @@ for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component)
}
-app.use(timeago) // timeago is a human readable 'time since' library
app.use(ElementPlus)
app.config.globalProperties.RunConfig =new Config()
app.use(router)
diff --git a/tools/obscuroscan_v2/frontend/src/router/index.js b/tools/obscuroscan_v2/frontend/src/router/index.js
deleted file mode 100644
index f9830e81fc..0000000000
--- a/tools/obscuroscan_v2/frontend/src/router/index.js
+++ /dev/null
@@ -1,45 +0,0 @@
-import { createRouter, createWebHistory } from 'vue-router'
-import HomeView from '../views/HomeView.vue'
-
-const router = createRouter({
- history: createWebHistory(import.meta.env.BASE_URL),
- routes: [
- {
- path: '/',
- name: 'home',
- component: HomeView
- },
- {
- path: '/personal',
- name: 'personal',
- component: () => import('../views/PersonalView.vue')
- },
- {
- path: '/transactions',
- name: 'transactions',
- component: () => import('../views/TransactionsView.vue')
- },
- {
- path: '/batches',
- name: 'batches',
- component: () => import('../views/BatchesView.vue')
- },
- {
- path: '/blocks',
- name: 'blocks',
- component: () => import('../views/BlocksView.vue')
- },
- {
- path: '/decrypt',
- name: 'decrypt',
- component: () => import('../views/DecryptView.vue')
- },
- {
- path: '/verified',
- name: 'verifiedData',
- component: () => import('../views/VerifiedData.vue')
- }
- ]
-})
-
-export default router
diff --git a/tools/obscuroscan_v2/frontend/src/stores/batchStore.js b/tools/obscuroscan_v2/frontend/src/stores/batchStore.js
deleted file mode 100644
index bb3535ec46..0000000000
--- a/tools/obscuroscan_v2/frontend/src/stores/batchStore.js
+++ /dev/null
@@ -1,66 +0,0 @@
-import { defineStore } from 'pinia';
-import Config from "@/lib/config";
-import CachedList from "@/lib/cachedList";
-import Poller from "@/lib/poller";
-
-export const useBatchStore = defineStore({
- id: 'batchStore',
- state: () => ({
- latestBatch: null,
- latestL1Proof: null,
-
- batchListing: null,
- batchListingCount: null,
- offset: 0,
- size: 10,
-
- batches: new CachedList(),
- poller: new Poller(() => {
- const store = useBatchStore();
- store.fetch();
- }, Config.pollingInterval)
- }),
- actions: {
- async fetch() {
- try {
- // fetch the latest batch
- const response = await fetch( Config.backendServerAddress+'/items/batch/latest/');
- const data = await response.json();
- this.latestBatch = data.item.number;
- this.latestL1Proof = data.item.l1Proof;
-
- this.batches.add(data.item);
-
- // fetch data listing
- const responseList = await fetch( Config.backendServerAddress+`/items/batches/?offset=${this.offset}&size=${this.size}`);
- const dataList = await responseList.json();
- this.batchListing = dataList.result.BatchesData;
- this.batchListingCount = dataList.result.Total;
-
- } catch (error) {
- console.error("Failed to fetch count:", error);
- }
- },
-
- startPolling() {
- this.poller.start();
- },
-
- stopPolling() {
- this.poller.stop();
- },
-
- async getByHash(hash) {
- let batch = this.batches.getByHash(hash)
- if (batch) {
- return batch
- }
-
- const response = await fetch( Config.backendServerAddress+`/items/batch/${hash}`);
- const data = await response.json();
- this.batches.addByHash(data.item);
-
- return this.batches.getByHash(hash)
- }
- },
-});
diff --git a/tools/obscuroscan_v2/frontend/src/stores/blockStore.js b/tools/obscuroscan_v2/frontend/src/stores/blockStore.js
deleted file mode 100644
index 78f1fae4ca..0000000000
--- a/tools/obscuroscan_v2/frontend/src/stores/blockStore.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import { defineStore } from 'pinia';
-import Config from "@/lib/config";
-import Poller from "@/lib/poller";
-
-
-export const useBlockStore = defineStore({
- id: 'blockStore',
- state: () => ({
- blocksListing: null,
- blocksListingCount: null,
- offset: 0,
- size: 10,
-
- poller: new Poller(() => {
- const store = useBlockStore();
- store.fetch();
- }, Config.pollingInterval)
- }),
- actions: {
- async fetch() {
- this.loading = true;
- try {
- // fetch data listing
- const responseList = await fetch( Config.backendServerAddress+`/items/blocks/?offset=${this.offset}&size=${this.size}`);
- const dataList = await responseList.json();
- this.blocksListing = dataList.result.BlocksData;
- this.blocksListingCount = dataList.result.Total;
- } catch (error) {
- console.error("Failed to fetch count:", error);
- }
- },
-
- startPolling() {
- this.poller.start();
- },
-
- stopPolling() {
- this.poller.stop();
- }
- },
-});
diff --git a/tools/obscuroscan_v2/frontend/src/stores/counterStore.js b/tools/obscuroscan_v2/frontend/src/stores/counterStore.js
deleted file mode 100644
index 3df8057abe..0000000000
--- a/tools/obscuroscan_v2/frontend/src/stores/counterStore.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import { defineStore } from 'pinia';
-import Config from "@/lib/config";
-import Poller from "@/lib/poller";
-
-export const useCounterStore = defineStore({
- id: 'counterStore',
- state: () => ({
- totalContractCount: 0,
- totalTransactionCount:0,
- poller: new Poller(() => {
- const store = useCounterStore();
- store.fetch();
- }, Config.pollingInterval)
- }),
- actions: {
- async fetch() {
- try {
- const totContractResp = await fetch( Config.backendServerAddress+'/count/contracts/');
- const totContractData = await totContractResp.json();
- this.totalContractCount = totContractData.count;
-
- const totTxResp = await fetch( Config.backendServerAddress+'/count/transactions/');
- const totTxData = await totTxResp.json();
- this.totalTransactionCount = totTxData.count;
- } catch (error) {
- console.error("Failed to fetch count:", error);
- }
- },
-
- startPolling() {
- this.poller.start();
- },
-
- stopPolling() {
- this.poller.stop();
- }
- },
-});
diff --git a/tools/obscuroscan_v2/frontend/src/stores/personalDataStore.js b/tools/obscuroscan_v2/frontend/src/stores/personalDataStore.js
deleted file mode 100644
index a380126e64..0000000000
--- a/tools/obscuroscan_v2/frontend/src/stores/personalDataStore.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import { defineStore } from 'pinia';
-import Config from "@/lib/config";
-import {useWalletStore} from "@/stores/walletStore";
-import Poller from "@/lib/poller";
-
-export const usePersonalDataStore = defineStore({
- id: 'personalDataStore',
- state: () => ({
- walletStarted: false,
- personalTransactionList: null,
- personalTransactionCount: null,
- offset: 0,
- size: 10,
- poller: new Poller(() => {
- const store = usePersonalDataStore();
- store.fetch();
- }, Config.pollingInterval)
- }),
- actions: {
- async fetch() {
- try {
- const walletStore = useWalletStore()
- if (walletStore.provider == null) {
- return
- }
-
- console.log(this.address)
- const requestPayload = {
- "address": walletStore.address,
- "pagination": {"offset": this.offset, "size": this.size},
- }
- const personalTxData = await walletStore.provider.send('eth_getStorageAt', ["listPersonalTransactions", requestPayload, null])
- this.personalTransactionList = personalTxData.result.Receipts;
- this.personalTransactionCount = personalTxData.result.Total;
- } catch (error) {
- console.error("Failed to fetch count:", error);
- }
- },
-
- startPolling() {
- this.poller.start();
- },
-
- stopPolling() {
- this.poller.stop();
- }
- },
-});
diff --git a/tools/obscuroscan_v2/frontend/src/stores/priceStore.js b/tools/obscuroscan_v2/frontend/src/stores/priceStore.js
deleted file mode 100644
index 60c07a7dc3..0000000000
--- a/tools/obscuroscan_v2/frontend/src/stores/priceStore.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import { defineStore } from 'pinia';
-import Config from "@/lib/config";
-import Poller from "@/lib/poller";
-
-export const usePriceStore = defineStore({
- id: 'priceStore',
- state: () => ({
- ethPriceUSD: null,
- poller: new Poller(() => {
- const store = usePriceStore();
- store.fetch();
- }, Config.pricePollingInterval)
- }),
- actions: {
- async fetch() {
- try {
- const response = await fetch( 'https://api.coingecko.com/api/v3/simple/price?ids=ethereum&vs_currencies=usd');
- const data = await response.json();
- this.ethPriceUSD = data.ethereum.usd;
-
- console.log("Fetched " + this.ethPriceUSD);
- } catch (error) {
- console.error("Failed to fetch count:", error);
- }
- },
-
- startPolling() {
- this.poller.start();
- },
-
- stopPolling() {
- this.poller.stop();
- }
- },
-});
diff --git a/tools/obscuroscan_v2/frontend/src/stores/publicTxDataStore.js b/tools/obscuroscan_v2/frontend/src/stores/publicTxDataStore.js
deleted file mode 100644
index a9ddb0b9fe..0000000000
--- a/tools/obscuroscan_v2/frontend/src/stores/publicTxDataStore.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import {defineStore} from 'pinia';
-import Config from "@/lib/config";
-import Poller from "@/lib/poller";
-
-export const usePublicDataStore = defineStore({
- id: 'publicDataStore',
- state: () => ({
- publicTransactionsData: null,
- publicTransactionsCount: null,
- offset: 0,
- size: 10,
- poller: new Poller(() => {
- const store = usePublicDataStore();
- store.fetch();
- }, Config.pollingInterval)
- }),
- actions: {
- async fetch() {
- try {
- const response = await fetch( Config.backendServerAddress+`/items/transactions/?offset=${this.offset}&size=${this.size}`);
-
- const data = await response.json();
- this.publicTransactionsData = data.result.TransactionsData;
- this.publicTransactionsCount = data.result.Total;
- } catch (error) {
- console.error("Failed to fetch count:", error);
- }
- },
-
- startPolling() {
- this.poller.start();
- },
-
- stopPolling() {
- this.poller.stop();
- }
- },
-});
diff --git a/tools/obscuroscan_v2/frontend/src/stores/rollupStore.js b/tools/obscuroscan_v2/frontend/src/stores/rollupStore.js
deleted file mode 100644
index 02e9b65928..0000000000
--- a/tools/obscuroscan_v2/frontend/src/stores/rollupStore.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { defineStore } from 'pinia';
-import Config from "@/lib/config";
-import CachedList from "@/lib/cachedList";
-import Poller from "@/lib/poller";
-
-
-export const useRollupStore = defineStore({
- id: 'rollupStore',
- state: () => ({
- rollups: new CachedList(),
- poller: new Poller(() => {
- const store = useRollupStore();
- store.fetch();
- }, Config.pollingInterval)
- }),
- actions: {
- async fetch() {
- this.loading = true;
- try {
- const response = await fetch( Config.backendServerAddress+'/items/rollup/latest/');
- const data = await response.json();
- this.rollups.add(data.item);
- } catch (error) {
- console.error("Failed to fetch count:", error);
- }
- },
-
- startPolling() {
- this.poller.start();
- },
-
- stopPolling() {
- this.poller.stop();
- }
- },
-});
diff --git a/tools/obscuroscan_v2/frontend/src/stores/verifiedContractStore.js b/tools/obscuroscan_v2/frontend/src/stores/verifiedContractStore.js
deleted file mode 100644
index 5a32ca02b4..0000000000
--- a/tools/obscuroscan_v2/frontend/src/stores/verifiedContractStore.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import {defineStore} from 'pinia';
-import Config from "@/lib/config";
-
-export const useVerifiedContractStore = defineStore({
- id: 'VerifiedContractStore',
- state: () => ({
- contracts: null,
- sequencerData: null
- }),
- actions: {
- async update() {
- try {
- const response = await fetch( Config.backendServerAddress+`/info/obscuro/`);
-
- const data = await response.json();
- this.contracts =
- [
- {
- "name": "Management Contract",
- "address": data.item.ManagementContractAddress,
- "confirmed": true
- },
- {
- "name": "Message Bus Contract",
- "address": data.item.MessageBusAddress,
- "confirmed": true
- }
- ];
- this.sequencerData = [
- {
- "name": "Sequencer ID",
- "address": data.item.SequencerID,
- "confirmed": true,
- },
- {
- "name": "L1 Start Hash",
- "address": data.item.L1StartHash,
- "confirmed": true,
- }
- ]
- } catch (error) {
- console.error("Failed to fetch item:", error);
- }
- },
- },
-});
diff --git a/tools/obscuroscan_v2/frontend/src/stores/walletStore.js b/tools/obscuroscan_v2/frontend/src/stores/walletStore.js
deleted file mode 100644
index 0d58cbb976..0000000000
--- a/tools/obscuroscan_v2/frontend/src/stores/walletStore.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { defineStore } from 'pinia';
-
-export const useWalletStore = defineStore({
- id: 'wallet',
- state: () => ({
- provider: null,
- address: null
- }),
- actions: {
- setProvider(provider) {
- this.provider = provider;
- },
- setAddress(address) {
- this.address = address;
- }
- }
-});
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/views/AboutView.vue b/tools/obscuroscan_v2/frontend/src/views/AboutView.vue
deleted file mode 100644
index 756ad2a179..0000000000
--- a/tools/obscuroscan_v2/frontend/src/views/AboutView.vue
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
This is an about page
-
-
-
-
diff --git a/tools/obscuroscan_v2/frontend/src/views/BatchesView.vue b/tools/obscuroscan_v2/frontend/src/views/BatchesView.vue
deleted file mode 100644
index 8b2d4764d7..0000000000
--- a/tools/obscuroscan_v2/frontend/src/views/BatchesView.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
- Batches
-
-
-
-
-
-
-
-
-
diff --git a/tools/obscuroscan_v2/frontend/src/views/BlocksView.vue b/tools/obscuroscan_v2/frontend/src/views/BlocksView.vue
deleted file mode 100644
index 021a183d23..0000000000
--- a/tools/obscuroscan_v2/frontend/src/views/BlocksView.vue
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
- Blocks
-
-
-
-
-
-
-
-
-
diff --git a/tools/obscuroscan_v2/frontend/src/views/DecryptView.vue b/tools/obscuroscan_v2/frontend/src/views/DecryptView.vue
deleted file mode 100644
index 6b69249b5c..0000000000
--- a/tools/obscuroscan_v2/frontend/src/views/DecryptView.vue
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
- Static Keys
-
-
- Decrypting transaction blobs is only possible on testnet, where the rollup encryption key is long-lived and well-known.
- On mainnet, rollups will use rotating keys that are not known to anyone - or anything - other than the Obscuro enclaves.
-
-
- Current Static Encryption Key: bddbc0d46a0666ce57a466168d99c1830b0c65e052d77188f2cbfc3f6486588c
-
-
-
-
- Encrypted Rollup
-
-
-
- Decrypt
- {{ error }}
-
- Decrypted Rollup
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tools/obscuroscan_v2/frontend/src/views/HomeView.vue b/tools/obscuroscan_v2/frontend/src/views/HomeView.vue
index 665d1fc640..29f9dc2903 100644
--- a/tools/obscuroscan_v2/frontend/src/views/HomeView.vue
+++ b/tools/obscuroscan_v2/frontend/src/views/HomeView.vue
@@ -1,27 +1,26 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
+
diff --git a/tools/obscuroscan_v2/frontend/src/views/NavbarView.vue b/tools/obscuroscan_v2/frontend/src/views/NavbarView.vue
index 17891ee919..44066ea53a 100644
--- a/tools/obscuroscan_v2/frontend/src/views/NavbarView.vue
+++ b/tools/obscuroscan_v2/frontend/src/views/NavbarView.vue
@@ -1,33 +1,56 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tools/obscuroscan_v2/frontend/src/views/PersonalView.vue b/tools/obscuroscan_v2/frontend/src/views/PersonalView.vue
deleted file mode 100644
index 5a31bfca7e..0000000000
--- a/tools/obscuroscan_v2/frontend/src/views/PersonalView.vue
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- Personal Transactions
-
-
-
-
-
-
-
-
diff --git a/tools/obscuroscan_v2/frontend/src/views/TransactionsView.vue b/tools/obscuroscan_v2/frontend/src/views/TransactionsView.vue
deleted file mode 100644
index efd7042198..0000000000
--- a/tools/obscuroscan_v2/frontend/src/views/TransactionsView.vue
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
- Transactions
-
-
-
-
-
-
-
-
-
diff --git a/tools/obscuroscan_v2/frontend/src/views/VerifiedData.vue b/tools/obscuroscan_v2/frontend/src/views/VerifiedData.vue
deleted file mode 100644
index 9b11d4eacc..0000000000
--- a/tools/obscuroscan_v2/frontend/src/views/VerifiedData.vue
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- Official Verified Data
-
-
-
-
-
-
-
-
diff --git a/tools/obscuroscan_v2/frontend/vite.config.js b/tools/obscuroscan_v2/frontend/vite.config.js
deleted file mode 100644
index ed7848aca9..0000000000
--- a/tools/obscuroscan_v2/frontend/vite.config.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { fileURLToPath, URL } from 'node:url'
-
-import { defineConfig } from 'vite'
-import vue from '@vitejs/plugin-vue'
-
-// https://vitejs.dev/config/
-export default defineConfig({
- plugins: [
- vue(),
- ],
- resolve: {
- alias: {
- '@': fileURLToPath(new URL('./src', import.meta.url))
- }
- }
-})
-
-