diff --git a/.github/workflows/README.md b/.github/workflows/README.md
index 3c39df7fbb..9e7a5fe6a5 100644
--- a/.github/workflows/README.md
+++ b/.github/workflows/README.md
@@ -31,10 +31,6 @@ This directory contains the GitHub Actions workflows that automate various proce
**Purpose**: Builds a Docker image and uploads it as an artifact.
**Trigger**: `workflow_dispatch` (manual trigger).
-### [explorer_ci.yml](./explorer_ci.yml)
-**Purpose**: CI for the `explorer`. Lints, tests, typechecks and builds it.
-**Trigger**: `pull_request` events.
-
### [profile_ci.yml](./profile_ci.yml)
**Purpose**: Generates proving keys using `make keys`.
**Trigger**: `workflow_dispatch`.
diff --git a/.github/workflows/explorer_ci.yml b/.github/workflows/explorer_ci.yml
deleted file mode 100644
index 8b6c7052ba..0000000000
--- a/.github/workflows/explorer_ci.yml
+++ /dev/null
@@ -1,74 +0,0 @@
-name: explorer CI
-
-on:
- pull_request:
- types:
- - opened
- - synchronize
- - reopened
- - ready_for_review
-jobs:
- # JOB to run change detection
- changes:
- runs-on: ubuntu-latest
- # Required permissions
- permissions:
- pull-requests: read
- # Set job outputs to values from filter step
- outputs:
- run-ci: ${{ steps.filter.outputs.run-ci }}
- steps:
- # For pull requests it's not necessary to checkout the code
- - uses: dorny/paths-filter@v3
- id: filter
- with:
- filters: |
- run-ci:
- - 'explorer/**'
- - '.github/workflows/explorer_ci.yml'
- lint-test:
- needs: changes
- if: needs.changes.outputs.run-ci == 'true' && (github.event.pull_request.draft == false || github.event_name == 'workflow_dispatch')
- runs-on: ubuntu-latest
-
- name: Validate & build
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Setting up Node from `.nvmrc`
- uses: actions/setup-node@v4
- with:
- node-version-file: "./explorer/.nvmrc"
- cache: "npm"
- cache-dependency-path: "./explorer/package-lock.json"
- scope: "@dusk-network"
-
- - name: Installing dev dependencies
- run: npm ci
- working-directory: ./explorer
-
- - name: Sync SvelteKit config
- run: npx svelte-kit sync
- working-directory: ./explorer
-
- - name: Formatting check
- run: npm run format
- working-directory: ./explorer
-
- - name: Linting
- run: npm run lint
- working-directory: ./explorer
-
- - name: Type checks
- run: npm run typecheck
- working-directory: ./explorer
-
- - name: Run the test suite
- run: npm test
- working-directory: ./explorer
-
- - name: Building the app
- run: npm run build
- working-directory: ./explorer
diff --git a/.github/workflows/rusk_ci.yml b/.github/workflows/rusk_ci.yml
index 3f6ad2e1e3..a957066b34 100644
--- a/.github/workflows/rusk_ci.yml
+++ b/.github/workflows/rusk_ci.yml
@@ -26,7 +26,7 @@ jobs:
with:
filters: |
run-ci:
- - '!(web-wallet/**/*|explorer/**/*|w3sper.js/**/*|.github/workflows/webwallet_ci.yml|.github/workflows/explorer_ci.yml|.github/workflows/w3sperjs_ci.yml)'
+ - '!(web-wallet/**/*|w3sper.js/**/*|.github/workflows/webwallet_ci.yml|.github/workflows/w3sperjs_ci.yml)'
analyze:
needs: changes
diff --git a/CLAUDE.md b/CLAUDE.md
index 937edb356a..af10a17abf 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -21,7 +21,7 @@
| `rusk-wallet/` | CLI wallet |
| `data-drivers/` | RKYV ↔ JS bridge for contract calls |
| `w3sper.js/` | Deno SDK |
-| `explorer/`, `web-wallet/` | Svelte/Vite frontends |
+| `web-wallet/` | Svelte/Vite frontend wallet app |
## Commands
diff --git a/README.md b/README.md
index 9f1218a460..5ca87787bd 100644
--- a/README.md
+++ b/README.md
@@ -11,9 +11,6 @@
-
-
-
@@ -70,7 +67,7 @@ For more information on **running a node for main- or testnet**, see our
| 🧩 [data-drivers](/data-drivers/) | Tools to encode/decode contract arguments between RKYV and JS I/O |
| 🧬 [dusk-core](/core/) | Core types used for interacting with Dusk and writing smart contracts |
| 🌐 [dusk-abi](/core/src/abi.rs) | Dusk application binary interface to develop smart contracts (part of core) |
-| 🧭 [explorer](/explorer/) | Dusk's blockchain explorer |
+| 🧭 [explorer](https://github.com/dusk-network/explorer) | Dusk's blockchain explorer (external repo) |
| 📊 [node-data](/node-data/) | Core datatypes for the blockchain node |
| ⚙️ [dusk-vm](/vm/) | The virtual machine to run Dusk smart contracts |
| 🪪 [rusk-profile](/rusk-profile/) | Utility to generate a genesis state based on a set profile |
diff --git a/agents.md b/agents.md
index d831d8ee13..2de07f79ec 100644
--- a/agents.md
+++ b/agents.md
@@ -67,7 +67,6 @@ When a bug is reported, start by adding a test that reproduces it (it should fai
### Frontend/SDK
```bash
-cd explorer && npm ci && npm run checks
cd web-wallet && npm ci && npm run checks
cd w3sper.js && deno task test
```
diff --git a/explorer/.gitignore b/explorer/.gitignore
deleted file mode 100644
index 06990d1b87..0000000000
--- a/explorer/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-.DS_Store
-node_modules
-/build
-/coverage
-/.svelte-kit
-/package
-.env
-.env.*
-!.env.example
-vite.config.js.timestamp-*
-vite.config.ts.timestamp-*
diff --git a/explorer/.npmrc b/explorer/.npmrc
deleted file mode 100644
index b6f27f1359..0000000000
--- a/explorer/.npmrc
+++ /dev/null
@@ -1 +0,0 @@
-engine-strict=true
diff --git a/explorer/.nvmrc b/explorer/.nvmrc
deleted file mode 100644
index e8416a151f..0000000000
--- a/explorer/.nvmrc
+++ /dev/null
@@ -1 +0,0 @@
-v24.13.0
diff --git a/explorer/.prettierrc.js b/explorer/.prettierrc.js
deleted file mode 100644
index af8c620f9c..0000000000
--- a/explorer/.prettierrc.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import duskJsPrettierConfig from "@dusk-network/prettier-config/js/index.js";
-import duskSveltePrettierConfig from "@dusk-network/prettier-config/svelte/index.js";
-
-export default {
- ...duskJsPrettierConfig,
- ...duskSveltePrettierConfig,
-};
diff --git a/explorer/CHANGELOG.md b/explorer/CHANGELOG.md
deleted file mode 100644
index 5797eaabf3..0000000000
--- a/explorer/CHANGELOG.md
+++ /dev/null
@@ -1,310 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
-and this project adheres to
-[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-
-## Unreleased
-
-### Added
-
-### Changed
-
-### Removed
-
-### Fixed
-
-## [1.5.0] - 2026-02-04
-
-### Added
-
-- Add Tokens page [#3415]
-- Add support for transactions' blob hashes [#3804]
-- Provisioner table now supports sorting across all columns [#3924]
-- Add rank column for provisioners based on active stake [#3924]
-- Display of owner/consensus key separation for each staker [#3925]
-
-### Changed
-
-- Replace "TX last 100 blocks" with total historical transaction count from `/on/stats/tx_count` [#3626]
-- Use supply.dusk.network for circulating supply [#3757]
-- The `from` and `to` fields are now always shown in moonlight transactions regardless of the transaction's type [#3804]
-- Explorer now reads circulating supply from `https://supply.dusk.network/` directly. CORS and cache headers applied via Cloudflare [#3847]
-- No longer rely on Vite dev proxy for `/supply` during development [#3847]
-- Hide provisioners with no active or locked stake from the provisioners list [#3930]
-- Change ranking column to take the full provisioner list into account [#3931]
-- Update dependencies to address potential security issues [#3985]
-
-### Removed
-
-- Deleted API URL plumbing (`makeApiUrl`, `ensureTrailingSlash`) and the `apiGet` helper. Removed `VITE_API_ENDPOINT` environment variable. [#3847]
-
-## [1.4.0] - 2025-05-22
-
-### Added
-
-- Add account address copy button (Account page) [#3698]
-- Add value property to Transaction Details [#3699]
-
-### Changed
-
-- Change transaction details arrangement (Transaction Details page) [#3720]
-- Change transaction list to use a single GraphQL query (Account page) [#3739]
-
-## [1.3.3] - 2025-05-05
-
-### Fixed
-
-- Fix transaction type badges get wrapped [#3692]
-- Fix Transaction and Block entries have different row heights (Home page) [#3694]
-
-## [1.3.2] - 2025-04-29
-
-### Fixed
-
-- Fix truncated provisioners addresses when copied while on mobile view [#3675]
-- Fix line height and letter spacing not being applied to the account balance's container [#3676]
-
-## [1.3.1] - 2025-04-16
-
-### Changed
-
-- Change address to use mono font family (Account page) [#3667]
-
-## [1.3.0] - 2025-04-16
-
-### Added
-
-- Add copy buttons to appropriate fields [#3620]
-
-### Changed
-
-- Change balance appearance (Account overview page) [#3612]
-- Change transaction API requests to execute in parallel [#3655]
-- Change Addresses and IDs to monospaced font [#3640]
-- Change data arrangement for improved information hierarchy (Provisioners page) [#3641]
-
-### Fixed
-
-- Fix overview pane spacing (Account page) [#3639]
-
-## [1.2.0] - 2025-04-07
-
-### Added
-
-- Add "nonce" to transaction details page (Public transactions) [#3578]
-- Add "in/out" indicator for transfer operations (Account page) [#3579]
-
-### Changed
-
-- Change provisioner rewards column to be more readable [#3581]
-
-### Fixed
-
-- Fix current balance showing "Loading..." for empty accounts [#3576]
-- Fix Account page does not reload content on key change [#3591]
-- Fix badge widths to maintain consistent sizing [#3483]
-
-## [1.1.1] - 2025-03-17
-
-- Add current balance (Account page) [#3564]
-
-## [1.1.0] - 2025-03-17
-
-### Added
-
-- Add Account page [#3454]
-
-### Changed
-
-- Replace legacy event system with RUES [#3425]
-
-### Removed
-
-- Remove version number from app title [#3338]
-
-### Fixed
-
-- Fix wrong owner key shown in provisioners table [#3377]
-- Fix current year not displayed in footer [#3545]
-
-## [1.0.1] - 2025-01-07
-
-### Fixed
-
-- Fix Owner key (Provisioners page) [#3305]
-
-## [1.0.0] - 2024-12-22
-
-### Added
-
-- Add stake maturity information (Provisioners page) [#3218]
-- Add "owner" field to provisioners [#3215]
-
-### Changed
-
-- Change Stake details labels [#3218]
-- Change Transaction Type tooltips [#3249]
-
-### Fixed
-
-- Fix inactive stake shown as active on mobile [#3218]
-
-## [0.3.0] - 2024-12-03
-
-### Added
-
-- Add error message for failed transactions [#2220]
-- Add tooltips to current and pending stake to show exact amounts [#2363]
-- Add `memo` and `isDeploy` fields to transactions [#2362]
-- Add `txType` fields in transactions [#2347]
-- Add `json` payload to block details [#2364]
-- Add decode feature for the `memo` field [#2527]
-- Add top node info to StatisticsPanel [#2613]
-- Add Provisioners page [#2649]
-- Add check for transaction existence in mempool [#2877]
-
-### Changed
-
-- Change `raw` payload to `json` in transaction details [#2364]
-- Change average gas price display value to “lux” [#2416]
-- Update blocks table headers – `FEE` to `GAS`, `AVG` to `AVG PRICE`, and
- `TOTAL` to `USED` [#2416]
-- Update block rewards tooltip information [#2166]
-- Hide "Show More" button when error occurs [#2585]
-- Update footer layout [#2640]
-- Change WorldMap location [#2613]
-- Change network info to fetch locally [#2662]
-- Update Moonlight icon for visual consistency [#3038]
-- Update hosted Explorer links [#3064]
-
-### Fixed
-
-- Fix improper computation of transaction fees [#2348]
-- Fix shield icons for transaction types [#2389]
-- Fix Gas Used meter behavior when Gas Limit is zero [#2668]
-- Fix Cluster Location layout [#3034]
-
-## [0.2.0] - 2024-08-26
-
-### Added
-
-- Add DEVNET option to dropdown menu in the navbar [#2159]
-- Add conditional rendering for layout based on screen size [#2061]
-- Add accessible name to gas-used progress bar [#2037]
-- Add accessible name to navbar button on mobile [#2036]
-- Add warning for stale market data [#1892]
-
-### Changed
-
-- Update separator line colors in StatisticsPanel [#2039]
-- Update labels in StatisticsPanel for clarity [#2034]
-- Update font-display to "swap" for custom fonts, improving performance [#2025]
-- Optimize auto re-renders of relative times [#2059]
-
-### Fixed
-
-- Fix “Average Fee Paid” label [#2057]
-- Fix list items alignment on mobile [#2056]
-
-## [0.1.0] - 2024-07-24
-
-### Added
-
-- Add initial release for the Explorer module [#2017]
-
-
-
-[#1892]: https://github.com/dusk-network/rusk/issues/1892
-[#2017]: https://github.com/dusk-network/rusk/issues/2017
-[#2025]: https://github.com/dusk-network/rusk/issues/2025
-[#2034]: https://github.com/dusk-network/rusk/issues/2034
-[#2036]: https://github.com/dusk-network/rusk/issues/2036
-[#2037]: https://github.com/dusk-network/rusk/issues/2037
-[#2039]: https://github.com/dusk-network/rusk/issues/2039
-[#2056]: https://github.com/dusk-network/rusk/issues/2056
-[#2057]: https://github.com/dusk-network/rusk/issues/2057
-[#2059]: https://github.com/dusk-network/rusk/issues/2059
-[#2061]: https://github.com/dusk-network/rusk/issues/2061
-[#2159]: https://github.com/dusk-network/rusk/issues/2159
-[#2166]: https://github.com/dusk-network/rusk/issues/2166
-[#2220]: https://github.com/dusk-network/rusk/issues/2220
-[#2347]: https://github.com/dusk-network/rusk/issues/2347
-[#2348]: https://github.com/dusk-network/rusk/issues/2348
-[#2362]: https://github.com/dusk-network/rusk/issues/2362
-[#2363]: https://github.com/dusk-network/rusk/issues/2363
-[#2364]: https://github.com/dusk-network/rusk/issues/2364
-[#2389]: https://github.com/dusk-network/rusk/issues/2389
-[#2416]: https://github.com/dusk-network/rusk/issues/2416
-[#2527]: https://github.com/dusk-network/rusk/issues/2527
-[#2585]: https://github.com/dusk-network/rusk/issues/2585
-[#2613]: https://github.com/dusk-network/rusk/issues/2613
-[#2640]: https://github.com/dusk-network/rusk/issues/2640
-[#2649]: https://github.com/dusk-network/rusk/issues/2649
-[#2662]: https://github.com/dusk-network/rusk/issues/2662
-[#2668]: https://github.com/dusk-network/rusk/issues/2668
-[#2877]: https://github.com/dusk-network/rusk/issues/2877
-[#3034]: https://github.com/dusk-network/rusk/issues/3034
-[#3038]: https://github.com/dusk-network/rusk/issues/3038
-[#3064]: https://github.com/dusk-network/rusk/issues/3064
-[#3215]: https://github.com/dusk-network/rusk/issues/3215
-[#3218]: https://github.com/dusk-network/rusk/issues/3218
-[#3249]: https://github.com/dusk-network/rusk/issues/3249
-[#3305]: https://github.com/dusk-network/rusk/issues/3305
-[#3338]: https://github.com/dusk-network/rusk/issues/3338
-[#3377]: https://github.com/dusk-network/rusk/issues/3377
-[#3425]: https://github.com/dusk-network/rusk/issues/3425
-[#3415]: https://github.com/dusk-network/rusk/issues/3415
-[#3454]: https://github.com/dusk-network/rusk/issues/3454
-[#3483]: https://github.com/dusk-network/rusk/issues/3483
-[#3545]: https://github.com/dusk-network/rusk/issues/3454
-[#3564]: https://github.com/dusk-network/rusk/issues/3564
-[#3564]: https://github.com/dusk-network/rusk/issues/3576
-[#3578]: https://github.com/dusk-network/rusk/issues/3578
-[#3579]: https://github.com/dusk-network/rusk/issues/3579
-[#3581]: https://github.com/dusk-network/rusk/pull/3581
-[#3591]: https://github.com/dusk-network/rusk/issues/3591
-[#3612]: https://github.com/dusk-network/rusk/issues/3612
-[#3620]: https://github.com/dusk-network/rusk/issues/3620
-[#3626]: https://github.com/dusk-network/rusk/issues/3626
-[#3639]: https://github.com/dusk-network/rusk/issues/3639
-[#3640]: https://github.com/dusk-network/rusk/issues/3640
-[#3641]: https://github.com/dusk-network/rusk/issues/3641
-[#3655]: https://github.com/dusk-network/rusk/issues/3655
-[#3667]: https://github.com/dusk-network/rusk/issues/3667
-[#3675]: https://github.com/dusk-network/rusk/issues/3675
-[#3676]: https://github.com/dusk-network/rusk/issues/3676
-[#3692]: https://github.com/dusk-network/rusk/issues/3692
-[#3694]: https://github.com/dusk-network/rusk/issues/3694
-[#3698]: https://github.com/dusk-network/rusk/issues/3698
-[#3699]: https://github.com/dusk-network/rusk/issues/3699
-[#3720]: https://github.com/dusk-network/rusk/issues/3720
-[#3739]: https://github.com/dusk-network/rusk/issues/3739
-[#3757]: https://github.com/dusk-network/rusk/issues/3757
-[#3804]: https://github.com/dusk-network/rusk/issues/3804
-[#3847]: https://github.com/dusk-network/rusk/issues/3847
-[#3924]: https://github.com/dusk-network/rusk/issues/3924
-[#3925]: https://github.com/dusk-network/rusk/issues/3925
-[#3930]: https://github.com/dusk-network/rusk/issues/3930
-[#3931]: https://github.com/dusk-network/rusk/issues/3931
-[#3985]: https://github.com/dusk-network/rusk/issues/3985
-
-
-
-[Unreleased]: https://github.com/dusk-network/rusk/tree/master/explorer
-[1.5.0]: https://github.com/dusk-network/rusk/tree/explorer-v1.5.0
-[1.4.0]: https://github.com/dusk-network/rusk/tree/explorer-v1.4.0
-[1.3.3]: https://github.com/dusk-network/rusk/tree/explorer-v1.3.3
-[1.3.2]: https://github.com/dusk-network/rusk/tree/explorer-v1.3.2
-[1.3.1]: https://github.com/dusk-network/rusk/tree/explorer-v1.3.1
-[1.3.0]: https://github.com/dusk-network/rusk/tree/explorer-v1.3.0
-[1.2.0]: https://github.com/dusk-network/rusk/tree/explorer-v1.2.0
-[1.1.1]: https://github.com/dusk-network/rusk/tree/explorer-v1.1.1
-[1.1.0]: https://github.com/dusk-network/rusk/tree/explorer-v1.1.0
-[1.0.1]: https://github.com/dusk-network/rusk/tree/explorer-v1.0.1
-[1.0.0]: https://github.com/dusk-network/rusk/tree/explorer-v1.0.0
-[0.3.0]: https://github.com/dusk-network/rusk/tree/explorer-0.3.0
-[0.2.0]: https://github.com/dusk-network/rusk/tree/explorer-0.2.0
-[0.1.0]: https://github.com/dusk-network/rusk/tree/explorer-0.1.0
diff --git a/explorer/LICENSE b/explorer/LICENSE
deleted file mode 100644
index a612ad9813..0000000000
--- a/explorer/LICENSE
+++ /dev/null
@@ -1,373 +0,0 @@
-Mozilla Public License Version 2.0
-==================================
-
-1. Definitions
---------------
-
-1.1. "Contributor"
- means each individual or legal entity that creates, contributes to
- the creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
- means the combination of the Contributions of others (if any) used
- by a Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
- means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
- means Source Code Form to which the initial Contributor has attached
- the notice in Exhibit A, the Executable Form of such Source Code
- Form, and Modifications of such Source Code Form, in each case
- including portions thereof.
-
-1.5. "Incompatible With Secondary Licenses"
- means
-
- (a) that the initial Contributor has attached the notice described
- in Exhibit B to the Covered Software; or
-
- (b) that the Covered Software was made available under the terms of
- version 1.1 or earlier of the License, but not also under the
- terms of a Secondary License.
-
-1.6. "Executable Form"
- means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
- means a work that combines Covered Software with other material, in
- a separate file or files, that is not Covered Software.
-
-1.8. "License"
- means this document.
-
-1.9. "Licensable"
- means having the right to grant, to the maximum extent possible,
- whether at the time of the initial grant or subsequently, any and
- all of the rights conveyed by this License.
-
-1.10. "Modifications"
- means any of the following:
-
- (a) any file in Source Code Form that results from an addition to,
- deletion from, or modification of the contents of Covered
- Software; or
-
- (b) any new file in Source Code Form that contains any Covered
- Software.
-
-1.11. "Patent Claims" of a Contributor
- means any patent claim(s), including without limitation, method,
- process, and apparatus claims, in any patent Licensable by such
- Contributor that would be infringed, but for the grant of the
- License, by the making, using, selling, offering for sale, having
- made, import, or transfer of either its Contributions or its
- Contributor Version.
-
-1.12. "Secondary License"
- means either the GNU General Public License, Version 2.0, the GNU
- Lesser General Public License, Version 2.1, the GNU Affero General
- Public License, Version 3.0, or any later versions of those
- licenses.
-
-1.13. "Source Code Form"
- means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
- means an individual or a legal entity exercising rights under this
- License. For legal entities, "You" includes any entity that
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
-
-2. License Grants and Conditions
---------------------------------
-
-2.1. Grants
-
-Each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-
-(a) under intellectual property rights (other than patent or trademark)
- Licensable by such Contributor to use, reproduce, make available,
- modify, display, perform, distribute, and otherwise exploit its
- Contributions, either on an unmodified basis, with Modifications, or
- as part of a Larger Work; and
-
-(b) under Patent Claims of such Contributor to make, use, sell, offer
- for sale, have made, import, and otherwise transfer either its
- Contributions or its Contributor Version.
-
-2.2. Effective Date
-
-The licenses granted in Section 2.1 with respect to any Contribution
-become effective for each Contribution on the date the Contributor first
-distributes such Contribution.
-
-2.3. Limitations on Grant Scope
-
-The licenses granted in this Section 2 are the only rights granted under
-this License. No additional rights or licenses will be implied from the
-distribution or licensing of Covered Software under this License.
-Notwithstanding Section 2.1(b) above, no patent license is granted by a
-Contributor:
-
-(a) for any code that a Contributor has removed from Covered Software;
- or
-
-(b) for infringements caused by: (i) Your and any other third party's
- modifications of Covered Software, or (ii) the combination of its
- Contributions with other software (except as part of its Contributor
- Version); or
-
-(c) under Patent Claims infringed by Covered Software in the absence of
- its Contributions.
-
-This License does not grant any rights in the trademarks, service marks,
-or logos of any Contributor (except as may be necessary to comply with
-the notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
-No Contributor makes additional grants as a result of Your choice to
-distribute the Covered Software under a subsequent version of this
-License (see Section 10.2) or under the terms of a Secondary License (if
-permitted under the terms of Section 3.3).
-
-2.5. Representation
-
-Each Contributor represents that the Contributor believes its
-Contributions are its original creation(s) or it has sufficient rights
-to grant the rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
-This License is not intended to limit any rights You have under
-applicable copyright doctrines of fair use, fair dealing, or other
-equivalents.
-
-2.7. Conditions
-
-Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
-in Section 2.1.
-
-3. Responsibilities
--------------------
-
-3.1. Distribution of Source Form
-
-All distribution of Covered Software in Source Code Form, including any
-Modifications that You create or to which You contribute, must be under
-the terms of this License. You must inform recipients that the Source
-Code Form of the Covered Software is governed by the terms of this
-License, and how they can obtain a copy of this License. You may not
-attempt to alter or restrict the recipients' rights in the Source Code
-Form.
-
-3.2. Distribution of Executable Form
-
-If You distribute Covered Software in Executable Form then:
-
-(a) such Covered Software must also be made available in Source Code
- Form, as described in Section 3.1, and You must inform recipients of
- the Executable Form how they can obtain a copy of such Source Code
- Form by reasonable means in a timely manner, at a charge no more
- than the cost of distribution to the recipient; and
-
-(b) You may distribute such Executable Form under the terms of this
- License, or sublicense it under different terms, provided that the
- license for the Executable Form does not attempt to limit or alter
- the recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-You may create and distribute a Larger Work under terms of Your choice,
-provided that You also comply with the requirements of this License for
-the Covered Software. If the Larger Work is a combination of Covered
-Software with a work governed by one or more Secondary Licenses, and the
-Covered Software is not Incompatible With Secondary Licenses, this
-License permits You to additionally distribute such Covered Software
-under the terms of such Secondary License(s), so that the recipient of
-the Larger Work may, at their option, further distribute the Covered
-Software under the terms of either this License or such Secondary
-License(s).
-
-3.4. Notices
-
-You may not remove or alter the substance of any license notices
-(including copyright notices, patent notices, disclaimers of warranty,
-or limitations of liability) contained within the Source Code Form of
-the Covered Software, except that You may alter any license notices to
-the extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Software. However, You may do so only on Your own behalf, and not on
-behalf of any Contributor. You must make it absolutely clear that any
-such warranty, support, indemnity, or liability obligation is offered by
-You alone, and You hereby agree to indemnify every Contributor for any
-liability incurred by such Contributor as a result of warranty, support,
-indemnity or liability terms You offer. You may include additional
-disclaimers of warranty and limitations of liability specific to any
-jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
----------------------------------------------------
-
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Software due to
-statute, judicial order, or regulation then You must: (a) comply with
-the terms of this License to the maximum extent possible; and (b)
-describe the limitations and the code they affect. Such description must
-be placed in a text file included with all distributions of the Covered
-Software under this License. Except to the extent prohibited by statute
-or regulation, such description must be sufficiently detailed for a
-recipient of ordinary skill to be able to understand it.
-
-5. Termination
---------------
-
-5.1. The rights granted under this License will terminate automatically
-if You fail to comply with any of its terms. However, if You become
-compliant, then the rights granted under this License from a particular
-Contributor are reinstated (a) provisionally, unless and until such
-Contributor explicitly and finally terminates Your grants, and (b) on an
-ongoing basis, if such Contributor fails to notify You of the
-non-compliance by some reasonable means prior to 60 days after You have
-come back into compliance. Moreover, Your grants from a particular
-Contributor are reinstated on an ongoing basis if such Contributor
-notifies You of the non-compliance by some reasonable means, this is the
-first time You have received notice of non-compliance with this License
-from such Contributor, and You become compliant prior to 30 days after
-Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-infringement claim (excluding declaratory judgment actions,
-counter-claims, and cross-claims) alleging that a Contributor Version
-directly or indirectly infringes any patent, then the rights granted to
-You by any and all Contributors for the Covered Software under Section
-2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all
-end user license agreements (excluding distributors and resellers) which
-have been validly granted by You or Your distributors under this License
-prior to termination shall survive termination.
-
-************************************************************************
-* *
-* 6. Disclaimer of Warranty *
-* ------------------------- *
-* *
-* Covered Software is provided under this License on an "as is" *
-* basis, without warranty of any kind, either expressed, implied, or *
-* statutory, including, without limitation, warranties that the *
-* Covered Software is free of defects, merchantable, fit for a *
-* particular purpose or non-infringing. The entire risk as to the *
-* quality and performance of the Covered Software is with You. *
-* Should any Covered Software prove defective in any respect, You *
-* (not any Contributor) assume the cost of any necessary servicing, *
-* repair, or correction. This disclaimer of warranty constitutes an *
-* essential part of this License. No use of any Covered Software is *
-* authorized under this License except under this disclaimer. *
-* *
-************************************************************************
-
-************************************************************************
-* *
-* 7. Limitation of Liability *
-* -------------------------- *
-* *
-* Under no circumstances and under no legal theory, whether tort *
-* (including negligence), contract, or otherwise, shall any *
-* Contributor, or anyone who distributes Covered Software as *
-* permitted above, be liable to You for any direct, indirect, *
-* special, incidental, or consequential damages of any character *
-* including, without limitation, damages for lost profits, loss of *
-* goodwill, work stoppage, computer failure or malfunction, or any *
-* and all other commercial damages or losses, even if such party *
-* shall have been informed of the possibility of such damages. This *
-* limitation of liability shall not apply to liability for death or *
-* personal injury resulting from such party's negligence to the *
-* extent applicable law prohibits such limitation. Some *
-* jurisdictions do not allow the exclusion or limitation of *
-* incidental or consequential damages, so this exclusion and *
-* limitation may not apply to You. *
-* *
-************************************************************************
-
-8. Litigation
--------------
-
-Any litigation relating to this License may be brought only in the
-courts of a jurisdiction where the defendant maintains its principal
-place of business and such litigation shall be governed by laws of that
-jurisdiction, without reference to its conflict-of-law provisions.
-Nothing in this Section shall prevent a party's ability to bring
-cross-claims or counter-claims.
-
-9. Miscellaneous
-----------------
-
-This License represents the complete agreement concerning the subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-shall not be used to construe this License against a Contributor.
-
-10. Versions of the License
----------------------------
-
-10.1. New Versions
-
-Mozilla Foundation is the license steward. Except as provided in Section
-10.3, no one other than the license steward has the right to modify or
-publish new versions of this License. Each version will be given a
-distinguishing version number.
-
-10.2. Effect of New Versions
-
-You may distribute the Covered Software under the terms of the version
-of the License under which You originally received the Covered Software,
-or under the terms of any subsequent version published by the license
-steward.
-
-10.3. Modified Versions
-
-If you create software not governed by this License, and you want to
-create a new license for such software, you may create and use a
-modified version of this License if you rename the license and remove
-any references to the name of the license steward (except to note that
-such modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary
-Licenses
-
-If You choose to distribute Source Code Form that is Incompatible With
-Secondary Licenses under the terms of this version of the License, the
-notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
--------------------------------------------
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular
-file, then You may include the notice in a location (such as a LICENSE
-file in a relevant directory) where a recipient would be likely to look
-for such a notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - "Incompatible With Secondary Licenses" Notice
----------------------------------------------------------
-
- This Source Code Form is "Incompatible With Secondary Licenses", as
- defined by the Mozilla Public License, v. 2.0.
diff --git a/explorer/Makefile b/explorer/Makefile
deleted file mode 100644
index 93b6999789..0000000000
--- a/explorer/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-all: ## Build the explorer
- npm install
- npm run build
-
-help: ## Display this help screen
- @grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'
-
-.PHONY: all help
diff --git a/explorer/README.md b/explorer/README.md
deleted file mode 100644
index c3e2332f81..0000000000
--- a/explorer/README.md
+++ /dev/null
@@ -1,60 +0,0 @@
-# Explorer
-
-Explorer website.
-
-## TOC
-
-- [Explorer](#explorer)
- - [TOC](#toc)
- - [Build system and dev environment](#build-system-and-dev-environment)
- - [Environment variables](#environment-variables)
- - [NPM scripts](#npm-scripts)
-
-## Build system and dev environment
-
-The build system assumes that you have at least Node.js v24.x installed. The LTS version is 24.13.0 at the time of writing.
-
-All terminal commands assume that you are positioned in root folder of the repository.
-Run `npm install` from the root folder to get the necessary dependencies.
-
-## Environment variables
-
-The application defines these variables by reading a local `.env`
-
-```
-# *_PATH variables can be empty string, must start with a slash otherwise, must not end with a slash
-
-VITE_BASE_PATH="" # Optional, set to '/explorer' when deploying to an 'apps.*' subdomain
-VITE_BLOCKS_LIST_ENTRIES=100
-VITE_CHAIN_INFO_ENTRIES=15
-VITE_MARKET_DATA_REFETCH_INTERVAL=120000
-VITE_NODE_URL="" # Optional, set to (e.g. 'https://nodes.dusk.network' to) override default
-VITE_PROVISIONERS_REFETCH_INTERVAL=30000
-VITE_REFETCH_INTERVAL=10000
-VITE_RUSK_PATH="" # Optional, set to '/rusk' for dev mode
-VITE_STATS_REFETCH_INTERVAL=1000
-VITE_TRANSACTIONS_LIST_ENTRIES=100
-VITE_FEATURE_TOKENS=true
-VITE_FEATURE_BLOB_HASHES=true # requires node version >= 1.3.1-alpha.1
-```
-
-## Environment variables and dev mode
-
-The application defaults to setting the node URL to `/`. In dev mode, requests made on `/rusk` are passed through a proxy to `localhost:8080`. When the app is running in dev mode, set `VITE_RUSK_PATH` to "/rusk".
-
-The application will determine which network it is connected to by the subdomain it is hosted under, to override this and connect to any node set `VITE_NODE_URL`. Note that only `https://` protocol URLs are valid.
-
-## NPM scripts
-
-- `npm run build` generates the production build
-- `npm run checks` runs all checks (lint, typecheck and test)
-- `npm run dev` generates the development build and starts the dev server
-- `npm run dev:host` generates the development build, starts the dev server and exposes it to the local network
-- `npm run lint`: performs the linting checks
-- `npm run lint:fix`: runs ESLint with the `--fix` flag to fix formatting errors
-- `npm run preview` previews the production build
-- `npm test` runs the test suite
-- `npm run test:coverage` runs the test suite and generates the code coverage report in the `coverage` folder
-- `npm run test:watch` runs the test suite in watch mode
-- `npm run typecheck` runs the type checker
-- `npm run typecheck:watch` runs the type checker in watch mode
diff --git a/explorer/RELEASE.md b/explorer/RELEASE.md
deleted file mode 100644
index 4517c46265..0000000000
--- a/explorer/RELEASE.md
+++ /dev/null
@@ -1,194 +0,0 @@
-# Web Apps Release Instructions
-
-This document outlines the standard process for releasing updates to web applications following semantic versioning principles.
-
-## Example: Explorer v1.1.0 Release
-
-### 1. Create a Release Issue
-
-- Create a new issue in the project repository
-- Title: `Release Explorer v1.1.0` or `explorer: Release v1.1.0`, if using prefix to the issue title
-- Add appropriate labels (e.g. module: `explorer`, type: `task`)
-
-### 2. Create a Release Branch
-
-- Create a branch from the latest `main`
-- Name the branch using the issue number (e.g., `feature-ABC-123`)
-- **Note:** Do not use version numbers for branch names to avoid conflicts with tags
-
-```bash
-git checkout main
-git pull
-git checkout -b feature-ABC-123
-```
-
-### 3. Update Version Number
-
-- Use npm version commands to bump version according to semantic versioning:
- - `npm version patch` (for bug fixes and minor changes)
- - `npm version minor` (for new features, backward compatible)
- - `npm version major` (for breaking changes)
-- For this example: `npm version minor`
-
-```bash
-npm version minor
-```
-
-### 4. Update the CHANGELOG.md
-
-- Add a new section for the version being released
-- Copy relevant changes from "Unreleased" section to the new version section
-- Keep the "Unreleased" section with any features that remain hidden to users
-- Ensure the format follows the project's changelog conventions
-- Add the version to the bottom of the changelog under "Versions"
-
-Example CHANGELOG.md format:
-
-```markdown
-# Changelog
-
-All notable changes to Explorer will be documented in this file.
-
-## [Unreleased]
-
-- New analytics dashboard layout (in progress)
-- Experimental dark mode theme
-
-## [1.1.0] - 2025-04-22
-
-### Added
-
-- Multi-account support
-- Export functionality for transaction history
-- Enhanced filtering options
-
-### Changed
-
-- Improved loading performance by 35%
-- Updated UI components for better mobile experience
-
-### Fixed
-
-- Transaction history pagination issue
-- Search functionality in asset explorer
-
-## [1.0.1] - 2025-03-15
-
-...
-
-
-
-[1.1.0]: https://github.com/dusk-network/rusk/tree/explorer-v1.1.0
-[1.0.0]: https://github.com/dusk-network/rusk/tree/explorer-v1.0.0
-```
-
-### 5. Create and Review Pull Request
-
-- Commit and push the changes
-- Open a PR targeting `main`
-- Copy the changelog section for the new version into the PR description
-- Request code review from team members
-
-```bash
-git add CHANGELOG.md package.json package-lock.json
-git commit -m "explorer: Release v1.1.0"
-git push origin feature-ABC-123
-```
-
-### 6. Create Annotated Tag
-
-**Option A: Tag from branch (after approval)**
-
-```bash
-git tag -a explorer-v1.1.0 -m "Explorer: Release v1.1.0"
-```
-
-**Option B: Merge to main then tag (recommended)**
-
-```bash
-git checkout main
-git pull
-git tag -a explorer-v1.1.0 -m "Explorer: Release v1.1.0"
-```
-
-**Important note:** Ensure the tag name (`explorer-v1.1.0`) matches exactly with the entry added to the CHANGELOG.md in step 4.
-
-### 7. Push the Tag
-
-```bash
-git push origin explorer-v1.1.0
-```
-
-### 8. Verify Staging Environments
-
-- Wait for staging environments to rebuild automatically
-- Verify the application works as expected on all staging environments
-- Check that the version number displayed matches the released version
-- Test all features mentioned in the changelog
-
-### 9. Progressive Deployment on Production
-
-Deploy the new version progressively through each environment:
-
-1. **Devnet**
- - Deploy to development network
- - Verify functionality
- - Address any issues before proceeding
-
-2. **Testnet**
- - Deploy to test network after devnet validation
- - Run comprehensive tests
- - Verify integrations with other systems
-
-3. **Mainnet**
- - Deploy to production after successful testnet validation
- - Monitor deployment closely
-
-### 10. Troubleshooting Deployment
-
-If errors occur during deployment:
-
-- Try rebuilding with the "clear cache" option enabled
-- Check build logs for specific errors
-- Verify environment variables are correctly set
-- Confirm that all dependencies are properly resolved
-
-### 11. Final Validation
-
-- Confirm the application works correctly across all production environments
-- Verify the product version displayed in the UI matches the released version
-- Test all key user flows and features on different devices and browsers
-- Monitor error logs and performance metrics
-
-### 12. Announce the Release
-
-- Notify marketing team to prepare community announcement
-- Directly inform stakeholders whose requested features or fixes are included
-- Provide specific details to team members about changes that affect their work
-- Consider posting in relevant Discord channels, email lists, or other communication platforms
-- For major releases, coordinate with marketing on blog posts or social media announcements
-
-## Rollback Procedure (If Needed)
-
-If critical issues are discovered after deployment:
-
-1. Identify the last stable tag/version
-2. Deploy the previous stable version to affected environments
-3. Create a hotfix branch from the stable tag
-4. Fix the issue and follow an expedited version of the release process
-5. Communicate transparently about the issue and resolution
-
-## Release Checklist
-
-- [ ] Create issue for release
-- [ ] Create feature branch with issue number
-- [ ] Update version with npm version command
-- [ ] Update CHANGELOG.md
-- [ ] Open and get approval on PR
-- [ ] Create and push annotated tag
-- [ ] Verify staging deployment
-- [ ] Deploy to devnet and verify
-- [ ] Deploy to testnet and verify
-- [ ] Deploy to mainnet and verify
-- [ ] Final validation across environments
-- [ ] Announce release to stakeholders
diff --git a/explorer/eslint.config.js b/explorer/eslint.config.js
deleted file mode 100644
index 73b3da497c..0000000000
--- a/explorer/eslint.config.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import { defineConfig, globalIgnores } from "@eslint/config-helpers";
-import globals from "globals";
-import jsEsLintConfig from "@dusk-network/eslint-config";
-import svelteEsLintConfig from "@dusk-network/eslint-config/svelte";
-import vitestEsLintConfig from "@dusk-network/eslint-config/vitest";
-
-import svelteConfig from "./svelte.config.js";
-
-/** @type {import("eslint").Linter.Config[]} */
-export default defineConfig([
- {
- files: ["**/*.{js,mjs,cjs,svelte}"],
- languageOptions: {
- ecmaVersion: "latest",
- globals: {
- ...globals.browser,
- ...globals.node,
- },
- sourceType: "module",
- },
- settings: {
- "import/resolver": {
- node: {},
- typescript: {
- alwaysTryTypes: true,
- project: "./jsconfig.json",
- },
- },
- },
- },
- {
- extends: [jsEsLintConfig],
- files: ["src/**/*.{js,mjs,cjs}"],
- },
- {
- extends: [svelteEsLintConfig],
- files: ["**/*.svelte"],
- languageOptions: {
- parserOptions: {
- svelteConfig,
- },
- },
- rules: {
- /**
- * This rule was added in `eslint-plugin-svelte` v3.12.0.
- * We disable it temporarily for links, as we have our own
- * path resolution in place.
- *
- * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-navigation-without-resolve/
- */
- "svelte/no-navigation-without-resolve": [
- "error",
- {
- ignoreGoto: false,
- ignoreLinks: true,
- ignorePushState: false,
- ignoreReplaceState: false,
- },
- ],
- },
- },
- {
- extends: [vitestEsLintConfig],
- files: ["*.js", "**/*.spec.js", "src/lib/dusk/mocks/**/*.js"],
- },
- globalIgnores([".svelte-kit/", "build/", "coverage/"]),
-]);
diff --git a/explorer/jsconfig.json b/explorer/jsconfig.json
deleted file mode 100644
index d264c7ac26..0000000000
--- a/explorer/jsconfig.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "extends": "./.svelte-kit/tsconfig.json",
- "compilerOptions": {
- "allowJs": true,
- "baseUrl": ".",
- "checkJs": true,
- "esModuleInterop": true,
- "forceConsistentCasingInFileNames": true,
- "noImplicitAny": true,
- "paths": {
- "$app": ["./node_modules/@sveltejs/kit/src/runtime/app"],
- "$app/*": ["./node_modules/@sveltejs/kit/src/runtime/app/*"],
- "$lib": ["./src/lib"],
- "$lib/*": ["./src/lib/*"],
- "svelte/motion": ["node_modules/svelte/src/runtime/motion/index.js"],
- "svelte/store": ["./node_modules/svelte/src/runtime/store/index.js"],
- "svelte/transition": [
- "node_modules/svelte/src/runtime/transition/index.js"
- ]
- },
- "resolveJsonModule": true,
- "skipLibCheck": true,
- "sourceMap": true,
- "strict": true,
- "types": [
- "./node_modules/@testing-library/jest-dom/types/vitest.d.ts",
- "lamb-types",
- "@types/d3-geo"
- ]
- }
-}
diff --git a/explorer/package-lock.json b/explorer/package-lock.json
deleted file mode 100644
index b4cb5f7bdc..0000000000
--- a/explorer/package-lock.json
+++ /dev/null
@@ -1,9139 +0,0 @@
-{
- "name": "explorer",
- "version": "1.5.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "explorer",
- "version": "1.5.0",
- "license": "MPL-2.0",
- "dependencies": {
- "@floating-ui/dom": "1.7.5",
- "@mdi/js": "7.4.47",
- "d3-geo": "3.1.1",
- "d3-scale": "4.0.2",
- "lamb": "0.61.1"
- },
- "devDependencies": {
- "@dusk-network/eslint-config": "4.0.1",
- "@dusk-network/prettier-config": "1.1.0",
- "@eslint/js": "9.39.2",
- "@juggle/resize-observer": "3.4.0",
- "@sveltejs/adapter-static": "3.0.10",
- "@sveltejs/kit": "2.50.2",
- "@sveltejs/vite-plugin-svelte": "3.1.2",
- "@testing-library/jest-dom": "6.9.1",
- "@testing-library/svelte": "5.3.1",
- "@types/d3-geo": "3.1.0",
- "@types/node": "25.2.0",
- "@vitest/browser": "4.0.18",
- "@vitest/coverage-istanbul": "4.0.18",
- "autoprefixer": "10.4.24",
- "eslint": "9.39.2",
- "eslint-config-prettier": "10.1.8",
- "eslint-import-resolver-typescript": "4.4.4",
- "eslint-plugin-svelte": "3.14.0",
- "globals": "17.3.0",
- "jsdom": "28.0.0",
- "jsdom-worker": "0.3.0",
- "lamb-types": "0.61.16",
- "postcss-nested": "7.0.2",
- "prettier": "3.8.1",
- "prettier-plugin-svelte": "3.4.1",
- "svelte": "4.2.20",
- "svelte-check": "4.3.6",
- "svelte-preprocess": "6.0.3",
- "typescript": "5.9.3",
- "vite": "5.4.21",
- "vite-tsconfig-paths": "6.0.5",
- "vitest": "4.0.18"
- },
- "engines": {
- "node": "^24.0.0"
- }
- },
- "node_modules/@acemir/cssom": {
- "version": "0.9.31",
- "resolved": "https://registry.npmjs.org/@acemir/cssom/-/cssom-0.9.31.tgz",
- "integrity": "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@adobe/css-tools": {
- "version": "4.4.4",
- "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz",
- "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@asamuzakjp/css-color": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-4.1.1.tgz",
- "integrity": "sha512-B0Hv6G3gWGMn0xKJ0txEi/jM5iFpT3MfDxmhZFb4W047GvytCf1DHQ1D69W3zHI4yWe2aTZAA0JnbMZ7Xc8DuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@csstools/css-calc": "^2.1.4",
- "@csstools/css-color-parser": "^3.1.0",
- "@csstools/css-parser-algorithms": "^3.0.5",
- "@csstools/css-tokenizer": "^3.0.4",
- "lru-cache": "^11.2.4"
- }
- },
- "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": {
- "version": "11.2.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
- "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@asamuzakjp/dom-selector": {
- "version": "6.7.7",
- "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-6.7.7.tgz",
- "integrity": "sha512-8CO/UQ4tzDd7ula+/CVimJIVWez99UJlbMyIgk8xOnhAVPKLnBZmUFYVgugS441v2ZqUq5EnSh6B0Ua0liSFAA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@asamuzakjp/nwsapi": "^2.3.9",
- "bidi-js": "^1.0.3",
- "css-tree": "^3.1.0",
- "is-potential-custom-element-name": "^1.0.1",
- "lru-cache": "^11.2.5"
- }
- },
- "node_modules/@asamuzakjp/dom-selector/node_modules/lru-cache": {
- "version": "11.2.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
- "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/@asamuzakjp/nwsapi": {
- "version": "2.3.9",
- "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz",
- "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/code-frame": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
- "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.28.5",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.1.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
- "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
- "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.29.0",
- "@babel/generator": "^7.29.0",
- "@babel/helper-compilation-targets": "^7.28.6",
- "@babel/helper-module-transforms": "^7.28.6",
- "@babel/helpers": "^7.28.6",
- "@babel/parser": "^7.29.0",
- "@babel/template": "^7.28.6",
- "@babel/traverse": "^7.29.0",
- "@babel/types": "^7.29.0",
- "@jridgewell/remapping": "^2.3.5",
- "convert-source-map": "^2.0.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.3",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.0.tgz",
- "integrity": "sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.29.0",
- "@babel/types": "^7.29.0",
- "@jridgewell/gen-mapping": "^0.3.12",
- "@jridgewell/trace-mapping": "^0.3.28",
- "jsesc": "^3.0.2"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
- "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.28.6",
- "@babel/helper-validator-option": "^7.27.1",
- "browserslist": "^4.24.0",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-globals": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
- "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
- "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.28.6",
- "@babel/types": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
- "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.28.6",
- "@babel/helper-validator-identifier": "^7.28.5",
- "@babel/traverse": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
- "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
- "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
- "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz",
- "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.28.6",
- "@babel/types": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz",
- "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.29.0"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/runtime": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz",
- "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.28.6",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
- "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.28.6",
- "@babel/parser": "^7.28.6",
- "@babel/types": "^7.28.6"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
- "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.29.0",
- "@babel/generator": "^7.29.0",
- "@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.29.0",
- "@babel/template": "^7.28.6",
- "@babel/types": "^7.29.0",
- "debug": "^4.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.29.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
- "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@csstools/color-helpers": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
- "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT-0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@csstools/css-calc": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz",
- "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@csstools/css-parser-algorithms": "^3.0.5",
- "@csstools/css-tokenizer": "^3.0.4"
- }
- },
- "node_modules/@csstools/css-color-parser": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz",
- "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "@csstools/color-helpers": "^5.1.0",
- "@csstools/css-calc": "^2.1.4"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@csstools/css-parser-algorithms": "^3.0.5",
- "@csstools/css-tokenizer": "^3.0.4"
- }
- },
- "node_modules/@csstools/css-parser-algorithms": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
- "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@csstools/css-tokenizer": "^3.0.4"
- }
- },
- "node_modules/@csstools/css-syntax-patches-for-csstree": {
- "version": "1.0.26",
- "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.0.26.tgz",
- "integrity": "sha512-6boXK0KkzT5u5xOgF6TKB+CLq9SOpEGmkZw0g5n9/7yg85wab3UzSxB8TxhLJ31L4SGJ6BCFRw/iftTha1CJXA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT-0"
- },
- "node_modules/@csstools/css-tokenizer": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz",
- "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@dusk-network/eslint-config": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@dusk-network/eslint-config/-/eslint-config-4.0.1.tgz",
- "integrity": "sha512-E9q4sKPT/s9o8kgSySXLUB4jcRy+a0N/vn5psZ49iU4tHI93SXZkqzfF22CtVR+9nW3PNEqkN2kJwPVdjEK0sg==",
- "dev": true,
- "license": "MPL-2.0",
- "dependencies": {
- "eslint-plugin-import": "2.31.0"
- },
- "engines": {
- "node": ">=20.18.0"
- },
- "optionalDependencies": {
- "@vitest/eslint-plugin": ">=1.1.43",
- "eslint-plugin-svelte": ">=3.5.1"
- },
- "peerDependencies": {
- "@eslint/js": ">=9.26.0",
- "eslint": ">=9.26.0",
- "eslint-config-prettier": ">=10.1.2"
- }
- },
- "node_modules/@dusk-network/prettier-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@dusk-network/prettier-config/-/prettier-config-1.1.0.tgz",
- "integrity": "sha512-Zr618i5OUAOCHFMKwVzYT0MfI7nI1af0Zd4XFc0dOkSfKaJLQM/YJrTY5HRiBvymtf7TsQD8TPx+R25RAyTXUA==",
- "dev": true,
- "license": "MPL-2.0",
- "engines": {
- "node": ">=16.0.0"
- },
- "optionalDependencies": {
- "prettier-plugin-svelte": ">=3.2.1"
- }
- },
- "node_modules/@emnapi/core": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz",
- "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/wasi-threads": "1.1.0",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@emnapi/runtime": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz",
- "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@emnapi/wasi-threads": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
- "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/netbsd-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz",
- "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openbsd-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz",
- "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openharmony-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz",
- "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.9.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
- "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eslint-visitor-keys": "^3.4.3"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
- }
- },
- "node_modules/@eslint-community/regexpp": {
- "version": "4.12.2",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
- "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/config-array": {
- "version": "0.21.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
- "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/object-schema": "^2.1.7",
- "debug": "^4.3.1",
- "minimatch": "^3.1.2"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/config-array/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/@eslint/config-array/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@eslint/config-helpers": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
- "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/core": "^0.17.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/core": {
- "version": "0.17.0",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
- "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@types/json-schema": "^7.0.15"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz",
- "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^10.0.1",
- "globals": "^14.0.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.1",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@eslint/js": {
- "version": "9.39.2",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz",
- "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://eslint.org/donate"
- }
- },
- "node_modules/@eslint/object-schema": {
- "version": "2.1.7",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
- "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/plugin-kit": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
- "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/core": "^0.17.0",
- "levn": "^0.4.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@exodus/bytes": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.11.0.tgz",
- "integrity": "sha512-wO3vd8nsEHdumsXrjGO/v4p6irbg7hy9kvIeR6i2AwylZSk4HJdWgL0FNaVquW1+AweJcdvU1IEpuIWk/WaPnA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@noble/hashes": "^1.8.0 || ^2.0.0"
- },
- "peerDependenciesMeta": {
- "@noble/hashes": {
- "optional": true
- }
- }
- },
- "node_modules/@floating-ui/core": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz",
- "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==",
- "license": "MIT",
- "dependencies": {
- "@floating-ui/utils": "^0.2.10"
- }
- },
- "node_modules/@floating-ui/dom": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz",
- "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==",
- "license": "MIT",
- "dependencies": {
- "@floating-ui/core": "^1.7.4",
- "@floating-ui/utils": "^0.2.10"
- }
- },
- "node_modules/@floating-ui/utils": {
- "version": "0.2.10",
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz",
- "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==",
- "license": "MIT"
- },
- "node_modules/@humanfs/core": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
- "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18.0"
- }
- },
- "node_modules/@humanfs/node": {
- "version": "0.16.7",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
- "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@humanfs/core": "^0.19.1",
- "@humanwhocodes/retry": "^0.4.0"
- },
- "engines": {
- "node": ">=18.18.0"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/retry": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
- "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
- "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
- "node_modules/@jridgewell/remapping": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
- "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
- "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.31",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
- "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@juggle/resize-observer": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz",
- "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==",
- "dev": true,
- "license": "Apache-2.0"
- },
- "node_modules/@mdi/js": {
- "version": "7.4.47",
- "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz",
- "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==",
- "license": "Apache-2.0"
- },
- "node_modules/@napi-rs/wasm-runtime": {
- "version": "0.2.12",
- "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
- "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/core": "^1.4.3",
- "@emnapi/runtime": "^1.4.3",
- "@tybys/wasm-util": "^0.10.0"
- }
- },
- "node_modules/@polka/url": {
- "version": "1.0.0-next.29",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
- "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz",
- "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz",
- "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz",
- "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz",
- "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz",
- "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz",
- "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz",
- "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz",
- "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz",
- "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz",
- "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-loong64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz",
- "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-loong64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz",
- "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-ppc64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz",
- "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-ppc64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz",
- "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz",
- "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz",
- "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz",
- "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz",
- "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz",
- "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-openbsd-x64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz",
- "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ]
- },
- "node_modules/@rollup/rollup-openharmony-arm64": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz",
- "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ]
- },
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz",
- "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz",
- "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-gnu": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz",
- "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz",
- "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rtsao/scc": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz",
- "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@standard-schema/spec": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
- "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@sveltejs/acorn-typescript": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.8.tgz",
- "integrity": "sha512-esgN+54+q0NjB0Y/4BomT9samII7jGwNy/2a3wNZbT2A2RpmXsXwUt24LvLhx6jUq2gVk4cWEvcRO6MFQbOfNA==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^8.9.0"
- }
- },
- "node_modules/@sveltejs/adapter-static": {
- "version": "3.0.10",
- "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.10.tgz",
- "integrity": "sha512-7D9lYFWJmB7zxZyTE/qxjksvMqzMuYrrsyh1f4AlZqeZeACPRySjbC3aFiY55wb1tWUaKOQG9PVbm74JcN2Iew==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "@sveltejs/kit": "^2.0.0"
- }
- },
- "node_modules/@sveltejs/kit": {
- "version": "2.50.2",
- "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.50.2.tgz",
- "integrity": "sha512-875hTUkEbz+MyJIxWbQjfMaekqdmEKUUfR7JyKcpfMRZqcGyrO9Gd+iS1D/Dx8LpE5FEtutWGOtlAh4ReSAiOA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@standard-schema/spec": "^1.0.0",
- "@sveltejs/acorn-typescript": "^1.0.5",
- "@types/cookie": "^0.6.0",
- "acorn": "^8.14.1",
- "cookie": "^0.6.0",
- "devalue": "^5.6.2",
- "esm-env": "^1.2.2",
- "kleur": "^4.1.5",
- "magic-string": "^0.30.5",
- "mrmime": "^2.0.0",
- "sade": "^1.8.1",
- "set-cookie-parser": "^3.0.0",
- "sirv": "^3.0.0"
- },
- "bin": {
- "svelte-kit": "svelte-kit.js"
- },
- "engines": {
- "node": ">=18.13"
- },
- "peerDependencies": {
- "@opentelemetry/api": "^1.0.0",
- "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0",
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "typescript": "^5.3.3",
- "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0"
- },
- "peerDependenciesMeta": {
- "@opentelemetry/api": {
- "optional": true
- },
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@sveltejs/vite-plugin-svelte": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.2.tgz",
- "integrity": "sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0",
- "debug": "^4.3.4",
- "deepmerge": "^4.3.1",
- "kleur": "^4.1.5",
- "magic-string": "^0.30.10",
- "svelte-hmr": "^0.16.0",
- "vitefu": "^0.2.5"
- },
- "engines": {
- "node": "^18.0.0 || >=20"
- },
- "peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "vite": "^5.0.0"
- }
- },
- "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz",
- "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.0.0 || >=20"
- },
- "peerDependencies": {
- "@sveltejs/vite-plugin-svelte": "^3.0.0",
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "vite": "^5.0.0"
- }
- },
- "node_modules/@testing-library/dom": {
- "version": "10.4.1",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz",
- "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.10.4",
- "@babel/runtime": "^7.12.5",
- "@types/aria-query": "^5.0.1",
- "aria-query": "5.3.0",
- "dom-accessibility-api": "^0.5.9",
- "lz-string": "^1.5.0",
- "picocolors": "1.1.1",
- "pretty-format": "^27.0.2"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@testing-library/dom/node_modules/aria-query": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
- "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "dequal": "^2.0.3"
- }
- },
- "node_modules/@testing-library/dom/node_modules/dom-accessibility-api": {
- "version": "0.5.16",
- "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
- "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@testing-library/jest-dom": {
- "version": "6.9.1",
- "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz",
- "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@adobe/css-tools": "^4.4.0",
- "aria-query": "^5.0.0",
- "css.escape": "^1.5.1",
- "dom-accessibility-api": "^0.6.3",
- "picocolors": "^1.1.1",
- "redent": "^3.0.0"
- },
- "engines": {
- "node": ">=14",
- "npm": ">=6",
- "yarn": ">=1"
- }
- },
- "node_modules/@testing-library/svelte": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/@testing-library/svelte/-/svelte-5.3.1.tgz",
- "integrity": "sha512-8Ez7ZOqW5geRf9PF5rkuopODe5RGy3I9XR+kc7zHh26gBiktLaxTfKmhlGaSHYUOTQE7wFsLMN9xCJVCszw47w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@testing-library/dom": "9.x.x || 10.x.x",
- "@testing-library/svelte-core": "1.0.0"
- },
- "engines": {
- "node": ">= 10"
- },
- "peerDependencies": {
- "svelte": "^3 || ^4 || ^5 || ^5.0.0-next.0",
- "vite": "*",
- "vitest": "*"
- },
- "peerDependenciesMeta": {
- "vite": {
- "optional": true
- },
- "vitest": {
- "optional": true
- }
- }
- },
- "node_modules/@testing-library/svelte-core": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@testing-library/svelte-core/-/svelte-core-1.0.0.tgz",
- "integrity": "sha512-VkUePoLV6oOYwSUvX6ShA8KLnJqZiYMIbP2JW2t0GLWLkJxKGvuH5qrrZBV/X7cXFnLGuFQEC7RheYiZOW68KQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=16"
- },
- "peerDependencies": {
- "svelte": "^3 || ^4 || ^5 || ^5.0.0-next.0"
- }
- },
- "node_modules/@tybys/wasm-util": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
- "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@types/aria-query": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
- "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/chai": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz",
- "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/deep-eql": "*",
- "assertion-error": "^2.0.1"
- }
- },
- "node_modules/@types/cookie": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/d3-geo": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz",
- "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/geojson": "*"
- }
- },
- "node_modules/@types/deep-eql": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz",
- "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/estree": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/geojson": {
- "version": "7946.0.16",
- "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz",
- "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/json5": {
- "version": "0.0.29",
- "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "25.2.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz",
- "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "undici-types": "~7.16.0"
- }
- },
- "node_modules/@typescript-eslint/project-service": {
- "version": "8.54.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz",
- "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.54.0",
- "@typescript-eslint/types": "^8.54.0",
- "debug": "^4.4.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "8.54.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz",
- "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@typescript-eslint/types": "8.54.0",
- "@typescript-eslint/visitor-keys": "8.54.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.54.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz",
- "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "8.54.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
- "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.54.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz",
- "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@typescript-eslint/project-service": "8.54.0",
- "@typescript-eslint/tsconfig-utils": "8.54.0",
- "@typescript-eslint/types": "8.54.0",
- "@typescript-eslint/visitor-keys": "8.54.0",
- "debug": "^4.4.3",
- "minimatch": "^9.0.5",
- "semver": "^7.7.3",
- "tinyglobby": "^0.2.15",
- "ts-api-utils": "^2.4.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "8.54.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz",
- "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.9.1",
- "@typescript-eslint/scope-manager": "8.54.0",
- "@typescript-eslint/types": "8.54.0",
- "@typescript-eslint/typescript-estree": "8.54.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <6.0.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.54.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz",
- "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@typescript-eslint/types": "8.54.0",
- "eslint-visitor-keys": "^4.2.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@unrs/resolver-binding-android-arm-eabi": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz",
- "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@unrs/resolver-binding-android-arm64": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz",
- "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@unrs/resolver-binding-darwin-arm64": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz",
- "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@unrs/resolver-binding-darwin-x64": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz",
- "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@unrs/resolver-binding-freebsd-x64": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz",
- "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz",
- "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz",
- "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-arm64-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz",
- "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-arm64-musl": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz",
- "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz",
- "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz",
- "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-riscv64-musl": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz",
- "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-s390x-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz",
- "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-x64-gnu": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz",
- "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-linux-x64-musl": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz",
- "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@unrs/resolver-binding-wasm32-wasi": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz",
- "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==",
- "cpu": [
- "wasm32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@napi-rs/wasm-runtime": "^0.2.11"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@unrs/resolver-binding-win32-arm64-msvc": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz",
- "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@unrs/resolver-binding-win32-ia32-msvc": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz",
- "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@unrs/resolver-binding-win32-x64-msvc": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz",
- "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@vitest/browser": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-4.0.18.tgz",
- "integrity": "sha512-gVQqh7paBz3gC+ZdcCmNSWJMk70IUjDeVqi+5m5vYpEHsIwRgw3Y545jljtajhkekIpIp5Gg8oK7bctgY0E2Ng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/mocker": "4.0.18",
- "@vitest/utils": "4.0.18",
- "magic-string": "^0.30.21",
- "pixelmatch": "7.1.0",
- "pngjs": "^7.0.0",
- "sirv": "^3.0.2",
- "tinyrainbow": "^3.0.3",
- "ws": "^8.18.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "vitest": "4.0.18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/aix-ppc64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
- "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/android-arm": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz",
- "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/android-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz",
- "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/android-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz",
- "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/darwin-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
- "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/darwin-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz",
- "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/freebsd-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz",
- "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/freebsd-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz",
- "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/linux-arm": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz",
- "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/linux-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz",
- "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/linux-ia32": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz",
- "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/linux-loong64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz",
- "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/linux-mips64el": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz",
- "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/linux-ppc64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz",
- "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/linux-riscv64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz",
- "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/linux-s390x": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz",
- "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/linux-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz",
- "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/netbsd-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz",
- "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/openbsd-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz",
- "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/sunos-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz",
- "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/win32-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz",
- "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/win32-ia32": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz",
- "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@esbuild/win32-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
- "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@vitest/browser/node_modules/@vitest/mocker": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz",
- "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/spy": "4.0.18",
- "estree-walker": "^3.0.3",
- "magic-string": "^0.30.21"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "msw": "^2.4.9",
- "vite": "^6.0.0 || ^7.0.0-0"
- },
- "peerDependenciesMeta": {
- "msw": {
- "optional": true
- },
- "vite": {
- "optional": true
- }
- }
- },
- "node_modules/@vitest/browser/node_modules/esbuild": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz",
- "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=18"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.27.2",
- "@esbuild/android-arm": "0.27.2",
- "@esbuild/android-arm64": "0.27.2",
- "@esbuild/android-x64": "0.27.2",
- "@esbuild/darwin-arm64": "0.27.2",
- "@esbuild/darwin-x64": "0.27.2",
- "@esbuild/freebsd-arm64": "0.27.2",
- "@esbuild/freebsd-x64": "0.27.2",
- "@esbuild/linux-arm": "0.27.2",
- "@esbuild/linux-arm64": "0.27.2",
- "@esbuild/linux-ia32": "0.27.2",
- "@esbuild/linux-loong64": "0.27.2",
- "@esbuild/linux-mips64el": "0.27.2",
- "@esbuild/linux-ppc64": "0.27.2",
- "@esbuild/linux-riscv64": "0.27.2",
- "@esbuild/linux-s390x": "0.27.2",
- "@esbuild/linux-x64": "0.27.2",
- "@esbuild/netbsd-arm64": "0.27.2",
- "@esbuild/netbsd-x64": "0.27.2",
- "@esbuild/openbsd-arm64": "0.27.2",
- "@esbuild/openbsd-x64": "0.27.2",
- "@esbuild/openharmony-arm64": "0.27.2",
- "@esbuild/sunos-x64": "0.27.2",
- "@esbuild/win32-arm64": "0.27.2",
- "@esbuild/win32-ia32": "0.27.2",
- "@esbuild/win32-x64": "0.27.2"
- }
- },
- "node_modules/@vitest/browser/node_modules/vite": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",
- "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "esbuild": "^0.27.0",
- "fdir": "^6.5.0",
- "picomatch": "^4.0.3",
- "postcss": "^8.5.6",
- "rollup": "^4.43.0",
- "tinyglobby": "^0.2.15"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.3"
- },
- "peerDependencies": {
- "@types/node": "^20.19.0 || >=22.12.0",
- "jiti": ">=1.21.0",
- "less": "^4.0.0",
- "lightningcss": "^1.21.0",
- "sass": "^1.70.0",
- "sass-embedded": "^1.70.0",
- "stylus": ">=0.54.8",
- "sugarss": "^5.0.0",
- "terser": "^5.16.0",
- "tsx": "^4.8.1",
- "yaml": "^2.4.2"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "jiti": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- },
- "tsx": {
- "optional": true
- },
- "yaml": {
- "optional": true
- }
- }
- },
- "node_modules/@vitest/browser/node_modules/yaml": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
- "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true,
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/eemeli"
- }
- },
- "node_modules/@vitest/coverage-istanbul": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-4.0.18.tgz",
- "integrity": "sha512-0OhjP30owEDihYTZGWuq20rNtV1RjjJs1Mv4MaZIKcFBmiLUXX7HJLX4fU7wE+Mrc3lQxI2HKq6WrSXi5FGuCQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@istanbuljs/schema": "^0.1.3",
- "@jridgewell/gen-mapping": "^0.3.13",
- "@jridgewell/trace-mapping": "0.3.31",
- "istanbul-lib-coverage": "^3.2.2",
- "istanbul-lib-instrument": "^6.0.3",
- "istanbul-lib-report": "^3.0.1",
- "istanbul-reports": "^3.2.0",
- "magicast": "^0.5.1",
- "obug": "^2.1.1",
- "tinyrainbow": "^3.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "vitest": "4.0.18"
- }
- },
- "node_modules/@vitest/eslint-plugin": {
- "version": "1.6.6",
- "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.6.6.tgz",
- "integrity": "sha512-bwgQxQWRtnTVzsUHK824tBmHzjV0iTx3tZaiQIYDjX3SA7TsQS8CuDVqxXrRY3FaOUMgbGavesCxI9MOfFLm7Q==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@typescript-eslint/scope-manager": "^8.51.0",
- "@typescript-eslint/utils": "^8.51.0"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "eslint": ">=8.57.0",
- "typescript": ">=5.0.0",
- "vitest": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- },
- "vitest": {
- "optional": true
- }
- }
- },
- "node_modules/@vitest/expect": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz",
- "integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@standard-schema/spec": "^1.0.0",
- "@types/chai": "^5.2.2",
- "@vitest/spy": "4.0.18",
- "@vitest/utils": "4.0.18",
- "chai": "^6.2.1",
- "tinyrainbow": "^3.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/pretty-format": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz",
- "integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tinyrainbow": "^3.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/runner": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz",
- "integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/utils": "4.0.18",
- "pathe": "^2.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/snapshot": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz",
- "integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/pretty-format": "4.0.18",
- "magic-string": "^0.30.21",
- "pathe": "^2.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/spy": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz",
- "integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/utils": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz",
- "integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/pretty-format": "4.0.18",
- "tinyrainbow": "^3.0.3"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/acorn": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
- "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/agent-base": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
- "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "license": "Python-2.0"
- },
- "node_modules/aria-query": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
- "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/array-buffer-byte-length": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
- "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "is-array-buffer": "^3.0.5"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array-includes": {
- "version": "3.1.9",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz",
- "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.24.0",
- "es-object-atoms": "^1.1.1",
- "get-intrinsic": "^1.3.0",
- "is-string": "^1.1.1",
- "math-intrinsics": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.findlastindex": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz",
- "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.9",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "es-shim-unscopables": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.flat": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz",
- "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-shim-unscopables": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/array.prototype.flatmap": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz",
- "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-shim-unscopables": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
- "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.1",
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6",
- "is-array-buffer": "^3.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/assertion-error": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
- "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/async-function": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz",
- "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/autoprefixer": {
- "version": "10.4.24",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.24.tgz",
- "integrity": "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.28.1",
- "caniuse-lite": "^1.0.30001766",
- "fraction.js": "^5.3.4",
- "picocolors": "^1.1.1",
- "postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/available-typed-arrays": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
- "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "possible-typed-array-names": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/axobject-query": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
- "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/baseline-browser-mapping": {
- "version": "2.9.19",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz",
- "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "baseline-browser-mapping": "dist/cli.js"
- }
- },
- "node_modules/bidi-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
- "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "require-from-string": "^2.0.2"
- }
- },
- "node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/browserslist": {
- "version": "4.28.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
- "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "baseline-browser-mapping": "^2.9.0",
- "caniuse-lite": "^1.0.30001759",
- "electron-to-chromium": "^1.5.263",
- "node-releases": "^2.0.27",
- "update-browserslist-db": "^1.2.0"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
- "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.0",
- "es-define-property": "^1.0.0",
- "get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/call-bind-apply-helpers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
- "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/call-bound": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
- "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "get-intrinsic": "^1.3.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001767",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz",
- "integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "CC-BY-4.0"
- },
- "node_modules/chai": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz",
- "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chokidar": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
- "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "readdirp": "^4.0.1"
- },
- "engines": {
- "node": ">= 14.16.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/code-red": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
- "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15",
- "@types/estree": "^1.0.1",
- "acorn": "^8.10.0",
- "estree-walker": "^3.0.3",
- "periscopic": "^3.1.0"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/convert-source-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cookie": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cross-spawn": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/css-tree": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
- "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mdn-data": "2.12.2",
- "source-map-js": "^1.0.1"
- },
- "engines": {
- "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
- }
- },
- "node_modules/css.escape": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
- "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/cssstyle": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-5.3.7.tgz",
- "integrity": "sha512-7D2EPVltRrsTkhpQmksIu+LxeWAIEk6wRDMJ1qljlv+CKHJM+cJLlfhWIzNA44eAsHXSNe3+vO6DW1yCYx8SuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@asamuzakjp/css-color": "^4.1.1",
- "@csstools/css-syntax-patches-for-csstree": "^1.0.21",
- "css-tree": "^3.1.0",
- "lru-cache": "^11.2.4"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/cssstyle/node_modules/lru-cache": {
- "version": "11.2.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
- "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": "20 || >=22"
- }
- },
- "node_modules/d3-array": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
- "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
- "license": "ISC",
- "dependencies": {
- "internmap": "1 - 2"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-color": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
- "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-format": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz",
- "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==",
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-geo": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
- "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
- "license": "ISC",
- "dependencies": {
- "d3-array": "2.5.0 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-interpolate": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
- "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
- "license": "ISC",
- "dependencies": {
- "d3-color": "1 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-scale": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
- "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
- "license": "ISC",
- "dependencies": {
- "d3-array": "2.10.0 - 3",
- "d3-format": "1 - 3",
- "d3-interpolate": "1.2.0 - 3",
- "d3-time": "2.1.1 - 3",
- "d3-time-format": "2 - 4"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-time": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
- "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
- "license": "ISC",
- "dependencies": {
- "d3-array": "2 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-time-format": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
- "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
- "license": "ISC",
- "dependencies": {
- "d3-time": "1 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/data-uri-to-buffer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
- "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/data-urls": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz",
- "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-mimetype": "^5.0.0",
- "whatwg-url": "^16.0.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- }
- },
- "node_modules/data-view-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
- "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/data-view-byte-length": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
- "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/inspect-js"
- }
- },
- "node_modules/data-view-byte-offset": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
- "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/debug": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
- "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decimal.js": {
- "version": "10.6.0",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
- "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/deepmerge": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/define-data-property": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
- "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "gopd": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/define-properties": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
- "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/dequal": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/devalue": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.2.tgz",
- "integrity": "sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/dom-accessibility-api": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz",
- "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/dunder-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
- "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "es-errors": "^1.3.0",
- "gopd": "^1.2.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/electron-to-chromium": {
- "version": "1.5.283",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.283.tgz",
- "integrity": "sha512-3vifjt1HgrGW/h76UEeny+adYApveS9dH2h3p57JYzBSXJIKUJAvtmIytDKjcSCt9xHfrNCFJ7gts6vkhuq++w==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/entities": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
- "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.12"
- },
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/es-abstract": {
- "version": "1.24.1",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz",
- "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.2",
- "arraybuffer.prototype.slice": "^1.0.4",
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "data-view-buffer": "^1.0.2",
- "data-view-byte-length": "^1.0.2",
- "data-view-byte-offset": "^1.0.1",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "es-set-tostringtag": "^2.1.0",
- "es-to-primitive": "^1.3.0",
- "function.prototype.name": "^1.1.8",
- "get-intrinsic": "^1.3.0",
- "get-proto": "^1.0.1",
- "get-symbol-description": "^1.1.0",
- "globalthis": "^1.0.4",
- "gopd": "^1.2.0",
- "has-property-descriptors": "^1.0.2",
- "has-proto": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "internal-slot": "^1.1.0",
- "is-array-buffer": "^3.0.5",
- "is-callable": "^1.2.7",
- "is-data-view": "^1.0.2",
- "is-negative-zero": "^2.0.3",
- "is-regex": "^1.2.1",
- "is-set": "^2.0.3",
- "is-shared-array-buffer": "^1.0.4",
- "is-string": "^1.1.1",
- "is-typed-array": "^1.1.15",
- "is-weakref": "^1.1.1",
- "math-intrinsics": "^1.1.0",
- "object-inspect": "^1.13.4",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.7",
- "own-keys": "^1.0.1",
- "regexp.prototype.flags": "^1.5.4",
- "safe-array-concat": "^1.1.3",
- "safe-push-apply": "^1.0.0",
- "safe-regex-test": "^1.1.0",
- "set-proto": "^1.0.0",
- "stop-iteration-iterator": "^1.1.0",
- "string.prototype.trim": "^1.2.10",
- "string.prototype.trimend": "^1.0.9",
- "string.prototype.trimstart": "^1.0.8",
- "typed-array-buffer": "^1.0.3",
- "typed-array-byte-length": "^1.0.3",
- "typed-array-byte-offset": "^1.0.4",
- "typed-array-length": "^1.0.7",
- "unbox-primitive": "^1.1.0",
- "which-typed-array": "^1.1.19"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
- "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-errors": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
- "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-module-lexer": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz",
- "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/es-object-atoms": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
- "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-set-tostringtag": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
- "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6",
- "has-tostringtag": "^1.0.2",
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-shim-unscopables": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz",
- "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
- "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-callable": "^1.2.7",
- "is-date-object": "^1.0.5",
- "is-symbol": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/esbuild": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
- "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.21.5",
- "@esbuild/android-arm": "0.21.5",
- "@esbuild/android-arm64": "0.21.5",
- "@esbuild/android-x64": "0.21.5",
- "@esbuild/darwin-arm64": "0.21.5",
- "@esbuild/darwin-x64": "0.21.5",
- "@esbuild/freebsd-arm64": "0.21.5",
- "@esbuild/freebsd-x64": "0.21.5",
- "@esbuild/linux-arm": "0.21.5",
- "@esbuild/linux-arm64": "0.21.5",
- "@esbuild/linux-ia32": "0.21.5",
- "@esbuild/linux-loong64": "0.21.5",
- "@esbuild/linux-mips64el": "0.21.5",
- "@esbuild/linux-ppc64": "0.21.5",
- "@esbuild/linux-riscv64": "0.21.5",
- "@esbuild/linux-s390x": "0.21.5",
- "@esbuild/linux-x64": "0.21.5",
- "@esbuild/netbsd-x64": "0.21.5",
- "@esbuild/openbsd-x64": "0.21.5",
- "@esbuild/sunos-x64": "0.21.5",
- "@esbuild/win32-arm64": "0.21.5",
- "@esbuild/win32-ia32": "0.21.5",
- "@esbuild/win32-x64": "0.21.5"
- }
- },
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint": {
- "version": "9.39.2",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz",
- "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.8.0",
- "@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.21.1",
- "@eslint/config-helpers": "^0.4.2",
- "@eslint/core": "^0.17.0",
- "@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.39.2",
- "@eslint/plugin-kit": "^0.4.1",
- "@humanfs/node": "^0.16.6",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@humanwhocodes/retry": "^0.4.2",
- "@types/estree": "^1.0.6",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.6",
- "debug": "^4.3.2",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^8.4.0",
- "eslint-visitor-keys": "^4.2.1",
- "espree": "^10.4.0",
- "esquery": "^1.5.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^8.0.0",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://eslint.org/donate"
- },
- "peerDependencies": {
- "jiti": "*"
- },
- "peerDependenciesMeta": {
- "jiti": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-config-prettier": {
- "version": "10.1.8",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz",
- "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "eslint-config-prettier": "bin/cli.js"
- },
- "funding": {
- "url": "https://opencollective.com/eslint-config-prettier"
- },
- "peerDependencies": {
- "eslint": ">=7.0.0"
- }
- },
- "node_modules/eslint-import-context": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/eslint-import-context/-/eslint-import-context-0.1.9.tgz",
- "integrity": "sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-tsconfig": "^4.10.1",
- "stable-hash-x": "^0.2.0"
- },
- "engines": {
- "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint-import-context"
- },
- "peerDependencies": {
- "unrs-resolver": "^1.0.0"
- },
- "peerDependenciesMeta": {
- "unrs-resolver": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-import-resolver-node": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
- "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^3.2.7",
- "is-core-module": "^2.13.0",
- "resolve": "^1.22.4"
- }
- },
- "node_modules/eslint-import-resolver-node/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-import-resolver-typescript": {
- "version": "4.4.4",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.4.4.tgz",
- "integrity": "sha512-1iM2zeBvrYmUNTj2vSC/90JTHDth+dfOfiNKkxApWRsTJYNrc8rOdxxIf5vazX+BiAXTeOT0UvWpGI/7qIWQOw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "debug": "^4.4.1",
- "eslint-import-context": "^0.1.8",
- "get-tsconfig": "^4.10.1",
- "is-bun-module": "^2.0.0",
- "stable-hash-x": "^0.2.0",
- "tinyglobby": "^0.2.14",
- "unrs-resolver": "^1.7.11"
- },
- "engines": {
- "node": "^16.17.0 || >=18.6.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint-import-resolver-typescript"
- },
- "peerDependencies": {
- "eslint": "*",
- "eslint-plugin-import": "*",
- "eslint-plugin-import-x": "*"
- },
- "peerDependenciesMeta": {
- "eslint-plugin-import": {
- "optional": true
- },
- "eslint-plugin-import-x": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-module-utils": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz",
- "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^3.2.7"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-module-utils/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import": {
- "version": "2.31.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz",
- "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@rtsao/scc": "^1.1.0",
- "array-includes": "^3.1.8",
- "array.prototype.findlastindex": "^1.2.5",
- "array.prototype.flat": "^1.3.2",
- "array.prototype.flatmap": "^1.3.2",
- "debug": "^3.2.7",
- "doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.9",
- "eslint-module-utils": "^2.12.0",
- "hasown": "^2.0.2",
- "is-core-module": "^2.15.1",
- "is-glob": "^4.0.3",
- "minimatch": "^3.1.2",
- "object.fromentries": "^2.0.8",
- "object.groupby": "^1.0.3",
- "object.values": "^1.2.0",
- "semver": "^6.3.1",
- "string.prototype.trimend": "^1.0.8",
- "tsconfig-paths": "^3.15.0"
- },
- "engines": {
- "node": ">=4"
- },
- "peerDependencies": {
- "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/eslint-plugin-import/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/eslint-plugin-svelte": {
- "version": "3.14.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.14.0.tgz",
- "integrity": "sha512-Isw0GvaMm0yHxAj71edAdGFh28ufYs+6rk2KlbbZphnqZAzrH3Se3t12IFh2H9+1F/jlDhBBL4oiOJmLqmYX0g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.6.1",
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "esutils": "^2.0.3",
- "globals": "^16.0.0",
- "known-css-properties": "^0.37.0",
- "postcss": "^8.4.49",
- "postcss-load-config": "^3.1.4",
- "postcss-safe-parser": "^7.0.0",
- "semver": "^7.6.3",
- "svelte-eslint-parser": "^1.4.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ota-meshi"
- },
- "peerDependencies": {
- "eslint": "^8.57.1 || ^9.0.0",
- "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "svelte": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-plugin-svelte/node_modules/globals": {
- "version": "16.5.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz",
- "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint-scope": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
- "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/esm-env": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz",
- "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/espree": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
- "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "acorn": "^8.15.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^4.2.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/esquery": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
- "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estree-walker": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
- "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/expect-type": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz",
- "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fdir": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
- "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
- }
- },
- "node_modules/fetch-blob": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
- "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/jimmywarting"
- },
- {
- "type": "paypal",
- "url": "https://paypal.me/jimmywarting"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "node-domexception": "^1.0.0",
- "web-streams-polyfill": "^3.0.3"
- },
- "engines": {
- "node": "^12.20 || >= 14.13"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
- "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flat-cache": "^4.0.0"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/flat-cache": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
- "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.4"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/flatted": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
- "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/for-each": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
- "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-callable": "^1.2.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/formdata-polyfill": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
- "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fetch-blob": "^3.1.2"
- },
- "engines": {
- "node": ">=12.20.0"
- }
- },
- "node_modules/fraction.js": {
- "version": "5.3.4",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz",
- "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/rawify"
- }
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/function.prototype.name": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
- "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
- "define-properties": "^1.2.1",
- "functions-have-names": "^1.2.3",
- "hasown": "^2.0.2",
- "is-callable": "^1.2.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/generator-function": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz",
- "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "function-bind": "^1.1.2",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "math-intrinsics": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
- "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dunder-proto": "^1.0.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/get-symbol-description": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
- "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-tsconfig": {
- "version": "4.13.1",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.1.tgz",
- "integrity": "sha512-EoY1N2xCn44xU6750Sx7OjOIT59FkmstNc3X6y5xpz7D5cBtZRe/3pSlTkDJgqsOk3WwZPkWfonhhUJfttQo3w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve-pkg-maps": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/globals": {
- "version": "17.3.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-17.3.0.tgz",
- "integrity": "sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globalthis": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
- "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-properties": "^1.2.1",
- "gopd": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/gopd": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
- "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-bigints": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
- "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
- "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz",
- "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dunder-proto": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-symbols": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/html-encoding-sniffer": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz",
- "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@exodus/bytes": "^1.6.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- }
- },
- "node_modules/html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/http-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
- "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/import-fresh": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
- "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/internal-slot": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
- "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "hasown": "^2.0.2",
- "side-channel": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/internmap": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
- "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/is-array-buffer": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
- "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
- "get-intrinsic": "^1.2.6"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-async-function": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
- "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "async-function": "^1.0.0",
- "call-bound": "^1.0.3",
- "get-proto": "^1.0.1",
- "has-tostringtag": "^1.0.2",
- "safe-regex-test": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-bigint": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz",
- "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-bigints": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-boolean-object": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
- "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-bun-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz",
- "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.7.1"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.16.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
- "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-data-view": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz",
- "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "get-intrinsic": "^1.2.6",
- "is-typed-array": "^1.1.13"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
- "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-finalizationregistry": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
- "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-generator-function": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz",
- "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.4",
- "generator-function": "^2.0.0",
- "get-proto": "^1.0.1",
- "has-tostringtag": "^1.0.2",
- "safe-regex-test": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-map": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
- "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-negative-zero": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
- "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-number-object": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz",
- "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-potential-custom-element-name": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/is-reference": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
- "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.6"
- }
- },
- "node_modules/is-regex": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
- "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "gopd": "^1.2.0",
- "has-tostringtag": "^1.0.2",
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-set": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
- "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
- "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-string": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
- "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz",
- "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "has-symbols": "^1.1.0",
- "safe-regex-test": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typed-array": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
- "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "which-typed-array": "^1.1.16"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakmap": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
- "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakref": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz",
- "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakset": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz",
- "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "get-intrinsic": "^1.2.6"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/isarray": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/istanbul-lib-coverage": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
- "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
- "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/core": "^7.23.9",
- "@babel/parser": "^7.23.9",
- "@istanbuljs/schema": "^0.1.3",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-lib-report": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
- "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^4.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-reports": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
- "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/js-yaml": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
- "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsdom": {
- "version": "28.0.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-28.0.0.tgz",
- "integrity": "sha512-KDYJgZ6T2TKdU8yBfYueq5EPG/EylMsBvCaenWMJb2OXmjgczzwveRCoJ+Hgj1lXPDyasvrgneSn4GBuR1hYyA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@acemir/cssom": "^0.9.31",
- "@asamuzakjp/dom-selector": "^6.7.6",
- "@exodus/bytes": "^1.11.0",
- "cssstyle": "^5.3.7",
- "data-urls": "^7.0.0",
- "decimal.js": "^10.6.0",
- "html-encoding-sniffer": "^6.0.0",
- "http-proxy-agent": "^7.0.2",
- "https-proxy-agent": "^7.0.6",
- "is-potential-custom-element-name": "^1.0.1",
- "parse5": "^8.0.0",
- "saxes": "^6.0.0",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^6.0.0",
- "undici": "^7.20.0",
- "w3c-xmlserializer": "^5.0.0",
- "webidl-conversions": "^8.0.1",
- "whatwg-mimetype": "^5.0.0",
- "whatwg-url": "^16.0.0",
- "xml-name-validator": "^5.0.0"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- },
- "peerDependencies": {
- "canvas": "^3.0.0"
- },
- "peerDependenciesMeta": {
- "canvas": {
- "optional": true
- }
- }
- },
- "node_modules/jsdom-worker": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/jsdom-worker/-/jsdom-worker-0.3.0.tgz",
- "integrity": "sha512-nlPmN0i93+e6vxzov8xqLMR+MBs/TAYeSviehivzqovHH0AgooVx9pQ/otrygASppPvdR+V9Jqx5SMe8+FcADg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mitt": "^3.0.0",
- "uuid-v4": "^0.1.0"
- },
- "peerDependencies": {
- "node-fetch": "*"
- }
- },
- "node_modules/jsesc": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
- "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/keyv": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json-buffer": "3.0.1"
- }
- },
- "node_modules/kleur": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
- "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/known-css-properties": {
- "version": "0.37.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz",
- "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lamb": {
- "version": "0.61.1",
- "resolved": "https://registry.npmjs.org/lamb/-/lamb-0.61.1.tgz",
- "integrity": "sha512-KnJe/9ezIxQjeK5idtlffn9PlA2y4BNW0FslBZK20+EuMmvePfNL4qO2ZGdP187Vd3yWgrEnrBsfMal/Ggzowg==",
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/lamb-types": {
- "version": "0.61.16",
- "resolved": "https://registry.npmjs.org/lamb-types/-/lamb-types-0.61.16.tgz",
- "integrity": "sha512-cuaOYlTiZ+3oIpKuRlHTR1PvPUQ8sM3sh9Su9eytFt/CuX3QvFsnCMUvheWIVxQAdUtH8R+WwHyw9T0zZiflpQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/locate-character": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
- "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/lz-string": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
- "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "lz-string": "bin/bin.js"
- }
- },
- "node_modules/magic-string": {
- "version": "0.30.21",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
- "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.5"
- }
- },
- "node_modules/magicast": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz",
- "integrity": "sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.28.5",
- "@babel/types": "^7.28.5",
- "source-map-js": "^1.2.1"
- }
- },
- "node_modules/make-dir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
- "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.5.3"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/math-intrinsics": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
- "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/mdn-data": {
- "version": "2.12.2",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
- "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
- "dev": true,
- "license": "CC0-1.0"
- },
- "node_modules/min-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/mitt": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
- "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/mri": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
- "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mrmime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
- "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/nanoid": {
- "version": "3.3.11",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/napi-postinstall": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz",
- "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "napi-postinstall": "lib/cli.js"
- },
- "engines": {
- "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/napi-postinstall"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/node-domexception": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
- "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
- "deprecated": "Use your platform's native DOMException instead",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/jimmywarting"
- },
- {
- "type": "github",
- "url": "https://paypal.me/jimmywarting"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=10.5.0"
- }
- },
- "node_modules/node-fetch": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
- "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "data-uri-to-buffer": "^4.0.0",
- "fetch-blob": "^3.1.4",
- "formdata-polyfill": "^4.0.10"
- },
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/node-fetch"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.27",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
- "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/object-inspect": {
- "version": "1.13.4",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
- "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.7",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
- "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0",
- "has-symbols": "^1.1.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.fromentries": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
- "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.2",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object.groupby": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
- "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.values": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz",
- "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.3",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/obug": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz",
- "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/sxzz",
- "https://opencollective.com/debug"
- ],
- "license": "MIT"
- },
- "node_modules/optionator": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.5"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/own-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
- "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.2.6",
- "object-keys": "^1.1.1",
- "safe-push-apply": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parse5": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz",
- "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "entities": "^6.0.0"
- },
- "funding": {
- "url": "https://github.com/inikulin/parse5?sponsor=1"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/pathe": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
- "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/periscopic": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
- "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0",
- "estree-walker": "^3.0.0",
- "is-reference": "^3.0.0"
- }
- },
- "node_modules/picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pixelmatch": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-7.1.0.tgz",
- "integrity": "sha512-1wrVzJ2STrpmONHKBy228LM1b84msXDUoAzVEl0R8Mz4Ce6EPr+IVtxm8+yvrqLYMHswREkjYFaMxnyGnaY3Ng==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "pngjs": "^7.0.0"
- },
- "bin": {
- "pixelmatch": "bin/pixelmatch"
- }
- },
- "node_modules/pngjs": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-7.0.0.tgz",
- "integrity": "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.19.0"
- }
- },
- "node_modules/possible-typed-array-names": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
- "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/postcss": {
- "version": "8.5.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
- "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "nanoid": "^3.3.11",
- "picocolors": "^1.1.1",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
- "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^1.10.2"
- },
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-nested": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-7.0.2.tgz",
- "integrity": "sha512-5osppouFc0VR9/VYzYxO03VaDa3e8F23Kfd6/9qcZTUI8P58GIYlArOET2Wq0ywSl2o2PjELhYOFI4W7l5QHKw==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "postcss-selector-parser": "^7.0.0"
- },
- "engines": {
- "node": ">=18.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
- }
- },
- "node_modules/postcss-safe-parser": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz",
- "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=18.0"
- },
- "peerDependencies": {
- "postcss": "^8.4.31"
- }
- },
- "node_modules/postcss-scss": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz",
- "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss-scss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=12.0"
- },
- "peerDependencies": {
- "postcss": "^8.4.29"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
- "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prettier": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
- "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/prettier-plugin-svelte": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.1.tgz",
- "integrity": "sha512-xL49LCloMoZRvSwa6IEdN2GV6cq2IqpYGstYtMT+5wmml1/dClEoI0MZR78MiVPpu6BdQFfN0/y73yO6+br5Pg==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "prettier": "^3.0.0",
- "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0"
- }
- },
- "node_modules/pretty-format": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
- "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1",
- "ansi-styles": "^5.0.0",
- "react-is": "^17.0.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/pretty-format/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/react-is": {
- "version": "17.0.2",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
- "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/readdirp": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
- "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14.18.0"
- },
- "funding": {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/redent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
- "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "indent-string": "^4.0.0",
- "strip-indent": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/reflect.getprototypeof": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
- "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.9",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
- "get-intrinsic": "^1.2.7",
- "get-proto": "^1.0.1",
- "which-builtin-type": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
- "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "define-properties": "^1.2.1",
- "es-errors": "^1.3.0",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "set-function-name": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.11",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
- "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-core-module": "^2.16.1",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-pkg-maps": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
- }
- },
- "node_modules/rollup": {
- "version": "4.57.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz",
- "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "1.0.8"
- },
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=18.0.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.57.1",
- "@rollup/rollup-android-arm64": "4.57.1",
- "@rollup/rollup-darwin-arm64": "4.57.1",
- "@rollup/rollup-darwin-x64": "4.57.1",
- "@rollup/rollup-freebsd-arm64": "4.57.1",
- "@rollup/rollup-freebsd-x64": "4.57.1",
- "@rollup/rollup-linux-arm-gnueabihf": "4.57.1",
- "@rollup/rollup-linux-arm-musleabihf": "4.57.1",
- "@rollup/rollup-linux-arm64-gnu": "4.57.1",
- "@rollup/rollup-linux-arm64-musl": "4.57.1",
- "@rollup/rollup-linux-loong64-gnu": "4.57.1",
- "@rollup/rollup-linux-loong64-musl": "4.57.1",
- "@rollup/rollup-linux-ppc64-gnu": "4.57.1",
- "@rollup/rollup-linux-ppc64-musl": "4.57.1",
- "@rollup/rollup-linux-riscv64-gnu": "4.57.1",
- "@rollup/rollup-linux-riscv64-musl": "4.57.1",
- "@rollup/rollup-linux-s390x-gnu": "4.57.1",
- "@rollup/rollup-linux-x64-gnu": "4.57.1",
- "@rollup/rollup-linux-x64-musl": "4.57.1",
- "@rollup/rollup-openbsd-x64": "4.57.1",
- "@rollup/rollup-openharmony-arm64": "4.57.1",
- "@rollup/rollup-win32-arm64-msvc": "4.57.1",
- "@rollup/rollup-win32-ia32-msvc": "4.57.1",
- "@rollup/rollup-win32-x64-gnu": "4.57.1",
- "@rollup/rollup-win32-x64-msvc": "4.57.1",
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/sade": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
- "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mri": "^1.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/safe-array-concat": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
- "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "get-intrinsic": "^1.2.6",
- "has-symbols": "^1.1.0",
- "isarray": "^2.0.5"
- },
- "engines": {
- "node": ">=0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safe-push-apply": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
- "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "isarray": "^2.0.5"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safe-regex-test": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
- "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "is-regex": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/saxes": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
- "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "xmlchars": "^2.2.0"
- },
- "engines": {
- "node": ">=v12.22.7"
- }
- },
- "node_modules/semver": {
- "version": "7.7.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
- "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/set-cookie-parser": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-3.0.1.tgz",
- "integrity": "sha512-n7Z7dXZhJbwuAHhNzkTti6Aw9QDDjZtm3JTpTGATIdNzdQz5GuFs22w90BcvF4INfnrL5xrX3oGsuqO5Dx3A1Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/set-function-length": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
- "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/set-function-name": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
- "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/set-proto": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz",
- "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dunder-proto": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/side-channel": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
- "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "object-inspect": "^1.13.3",
- "side-channel-list": "^1.0.0",
- "side-channel-map": "^1.0.1",
- "side-channel-weakmap": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/side-channel-list": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
- "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "object-inspect": "^1.13.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/side-channel-map": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
- "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.5",
- "object-inspect": "^1.13.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/side-channel-weakmap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
- "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.5",
- "object-inspect": "^1.13.3",
- "side-channel-map": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/siginfo": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
- "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/sirv": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz",
- "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@polka/url": "^1.0.0-next.24",
- "mrmime": "^2.0.0",
- "totalist": "^3.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/stable-hash-x": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/stable-hash-x/-/stable-hash-x-0.2.0.tgz",
- "integrity": "sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/stackback": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
- "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/std-env": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
- "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/stop-iteration-iterator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz",
- "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "internal-slot": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/string.prototype.trim": {
- "version": "1.2.10",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
- "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "define-data-property": "^1.1.4",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.5",
- "es-object-atoms": "^1.0.0",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimend": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
- "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.2",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
- "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/strip-indent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
- "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "min-indent": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/svelte": {
- "version": "4.2.20",
- "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.20.tgz",
- "integrity": "sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@ampproject/remapping": "^2.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.15",
- "@jridgewell/trace-mapping": "^0.3.18",
- "@types/estree": "^1.0.1",
- "acorn": "^8.9.0",
- "aria-query": "^5.3.0",
- "axobject-query": "^4.0.0",
- "code-red": "^1.0.3",
- "css-tree": "^2.3.1",
- "estree-walker": "^3.0.3",
- "is-reference": "^3.0.1",
- "locate-character": "^3.0.0",
- "magic-string": "^0.30.4",
- "periscopic": "^3.1.0"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/svelte-check": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.3.6.tgz",
- "integrity": "sha512-uBkz96ElE3G4pt9E1Tw0xvBfIUQkeH794kDQZdAUk795UVMr+NJZpuFSS62vcmO/DuSalK83LyOwhgWq8YGU1Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.25",
- "chokidar": "^4.0.1",
- "fdir": "^6.2.0",
- "picocolors": "^1.0.0",
- "sade": "^1.7.4"
- },
- "bin": {
- "svelte-check": "bin/svelte-check"
- },
- "engines": {
- "node": ">= 18.0.0"
- },
- "peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "typescript": ">=5.0.0"
- }
- },
- "node_modules/svelte-eslint-parser": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.4.1.tgz",
- "integrity": "sha512-1eqkfQ93goAhjAXxZiu1SaKI9+0/sxp4JIWQwUpsz7ybehRE5L8dNuz7Iry7K22R47p5/+s9EM+38nHV2OlgXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eslint-scope": "^8.2.0",
- "eslint-visitor-keys": "^4.0.0",
- "espree": "^10.0.0",
- "postcss": "^8.4.49",
- "postcss-scss": "^4.0.9",
- "postcss-selector-parser": "^7.0.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0",
- "pnpm": "10.24.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ota-meshi"
- },
- "peerDependencies": {
- "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "svelte": {
- "optional": true
- }
- }
- },
- "node_modules/svelte-eslint-parser/node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/svelte-hmr": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz",
- "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^12.20 || ^14.13.1 || >= 16"
- },
- "peerDependencies": {
- "svelte": "^3.19.0 || ^4.0.0"
- }
- },
- "node_modules/svelte-preprocess": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-6.0.3.tgz",
- "integrity": "sha512-PLG2k05qHdhmRG7zR/dyo5qKvakhm8IJ+hD2eFRQmMLHp7X3eJnjeupUtvuRpbNiF31RjVw45W+abDwHEmP5OA==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "engines": {
- "node": ">= 18.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.10.2",
- "coffeescript": "^2.5.1",
- "less": "^3.11.3 || ^4.0.0",
- "postcss": "^7 || ^8",
- "postcss-load-config": ">=3",
- "pug": "^3.0.0",
- "sass": "^1.26.8",
- "stylus": ">=0.55",
- "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0",
- "svelte": "^4.0.0 || ^5.0.0-next.100 || ^5.0.0",
- "typescript": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "coffeescript": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "postcss": {
- "optional": true
- },
- "postcss-load-config": {
- "optional": true
- },
- "pug": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/svelte/node_modules/css-tree": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
- "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mdn-data": "2.0.30",
- "source-map-js": "^1.0.1"
- },
- "engines": {
- "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
- }
- },
- "node_modules/svelte/node_modules/mdn-data": {
- "version": "2.0.30",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
- "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
- "dev": true,
- "license": "CC0-1.0"
- },
- "node_modules/symbol-tree": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tinybench": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
- "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tinyexec": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz",
- "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/tinyglobby": {
- "version": "0.2.15",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
- "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fdir": "^6.5.0",
- "picomatch": "^4.0.3"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/SuperchupuDev"
- }
- },
- "node_modules/tinyrainbow": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.0.3.tgz",
- "integrity": "sha512-PSkbLUoxOFRzJYjjxHJt9xro7D+iilgMX/C9lawzVuYiIdcihh9DXmVibBe8lmcFrRi/VzlPjBxbN7rH24q8/Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/tldts": {
- "version": "7.0.21",
- "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.21.tgz",
- "integrity": "sha512-Plu6V8fF/XU6d2k8jPtlQf5F4Xx2hAin4r2C2ca7wR8NK5MbRTo9huLUWRe28f3Uk8bYZfg74tit/dSjc18xnw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tldts-core": "^7.0.21"
- },
- "bin": {
- "tldts": "bin/cli.js"
- }
- },
- "node_modules/tldts-core": {
- "version": "7.0.21",
- "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.21.tgz",
- "integrity": "sha512-oVOMdHvgjqyzUZH1rOESgJP1uNe2bVrfK0jUHHmiM2rpEiRbf3j4BrsIc6JigJRbHGanQwuZv/R+LTcHsw+bLA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/totalist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
- "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tough-cookie": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz",
- "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "tldts": "^7.0.5"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/tr46": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz",
- "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "punycode": "^2.3.1"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/ts-api-utils": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz",
- "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=18.12"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4"
- }
- },
- "node_modules/tsconfck": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz",
- "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "tsconfck": "bin/tsconfck.js"
- },
- "engines": {
- "node": "^18 || >=20"
- },
- "peerDependencies": {
- "typescript": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/tsconfig-paths": {
- "version": "3.15.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
- "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/json5": "^0.0.29",
- "json5": "^1.0.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- }
- },
- "node_modules/tsconfig-paths/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "dev": true,
- "license": "0BSD",
- "optional": true
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/typed-array-buffer": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
- "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "es-errors": "^1.3.0",
- "is-typed-array": "^1.1.14"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/typed-array-byte-length": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
- "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.8",
- "for-each": "^0.3.3",
- "gopd": "^1.2.0",
- "has-proto": "^1.2.0",
- "is-typed-array": "^1.1.14"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typed-array-byte-offset": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
- "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
- "for-each": "^0.3.3",
- "gopd": "^1.2.0",
- "has-proto": "^1.2.0",
- "is-typed-array": "^1.1.15",
- "reflect.getprototypeof": "^1.0.9"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typed-array-length": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
- "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "is-typed-array": "^1.1.13",
- "possible-typed-array-names": "^1.0.0",
- "reflect.getprototypeof": "^1.0.6"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typescript": {
- "version": "5.9.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
- "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/unbox-primitive": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
- "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.3",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.1.0",
- "which-boxed-primitive": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/undici": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/undici/-/undici-7.20.0.tgz",
- "integrity": "sha512-MJZrkjyd7DeC+uPZh+5/YaMDxFiiEEaDgbUSVMXayofAkDWF1088CDo+2RPg7B1BuS1qf1vgNE7xqwPxE0DuSQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=20.18.1"
- }
- },
- "node_modules/undici-types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
- "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/unrs-resolver": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz",
- "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "napi-postinstall": "^0.3.0"
- },
- "funding": {
- "url": "https://opencollective.com/unrs-resolver"
- },
- "optionalDependencies": {
- "@unrs/resolver-binding-android-arm-eabi": "1.11.1",
- "@unrs/resolver-binding-android-arm64": "1.11.1",
- "@unrs/resolver-binding-darwin-arm64": "1.11.1",
- "@unrs/resolver-binding-darwin-x64": "1.11.1",
- "@unrs/resolver-binding-freebsd-x64": "1.11.1",
- "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1",
- "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1",
- "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-arm64-musl": "1.11.1",
- "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1",
- "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-x64-gnu": "1.11.1",
- "@unrs/resolver-binding-linux-x64-musl": "1.11.1",
- "@unrs/resolver-binding-wasm32-wasi": "1.11.1",
- "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1",
- "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1",
- "@unrs/resolver-binding-win32-x64-msvc": "1.11.1"
- }
- },
- "node_modules/update-browserslist-db": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
- "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "escalade": "^3.2.0",
- "picocolors": "^1.1.1"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/uuid-v4": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/uuid-v4/-/uuid-v4-0.1.0.tgz",
- "integrity": "sha512-m11RYDtowtAIihBXMoGajOEKpAXrKbpKlpmxqyztMYQNGSY5nZAZ/oYch/w2HNS1RMA4WLGcZvuD8/wFMuCEzA==",
- "dev": true,
- "engines": {
- "node": "*"
- }
- },
- "node_modules/vite": {
- "version": "5.4.21",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
- "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "esbuild": "^0.21.3",
- "postcss": "^8.4.43",
- "rollup": "^4.20.0"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.3"
- },
- "peerDependencies": {
- "@types/node": "^18.0.0 || >=20.0.0",
- "less": "*",
- "lightningcss": "^1.21.0",
- "sass": "*",
- "sass-embedded": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
- },
- "node_modules/vite-tsconfig-paths": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-6.0.5.tgz",
- "integrity": "sha512-f/WvY6ekHykUF1rWJUAbCU7iS/5QYDIugwpqJA+ttwKbxSbzNlqlE8vZSrsnxNQciUW+z6lvhlXMaEyZn9MSig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.1.1",
- "globrex": "^0.1.2",
- "tsconfck": "^3.0.3"
- },
- "peerDependencies": {
- "vite": "*"
- }
- },
- "node_modules/vitefu": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz",
- "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "vite": "^3.0.0 || ^4.0.0 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "vite": {
- "optional": true
- }
- }
- },
- "node_modules/vitest": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz",
- "integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@vitest/expect": "4.0.18",
- "@vitest/mocker": "4.0.18",
- "@vitest/pretty-format": "4.0.18",
- "@vitest/runner": "4.0.18",
- "@vitest/snapshot": "4.0.18",
- "@vitest/spy": "4.0.18",
- "@vitest/utils": "4.0.18",
- "es-module-lexer": "^1.7.0",
- "expect-type": "^1.2.2",
- "magic-string": "^0.30.21",
- "obug": "^2.1.1",
- "pathe": "^2.0.3",
- "picomatch": "^4.0.3",
- "std-env": "^3.10.0",
- "tinybench": "^2.9.0",
- "tinyexec": "^1.0.2",
- "tinyglobby": "^0.2.15",
- "tinyrainbow": "^3.0.3",
- "vite": "^6.0.0 || ^7.0.0",
- "why-is-node-running": "^2.3.0"
- },
- "bin": {
- "vitest": "vitest.mjs"
- },
- "engines": {
- "node": "^20.0.0 || ^22.0.0 || >=24.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "@edge-runtime/vm": "*",
- "@opentelemetry/api": "^1.9.0",
- "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
- "@vitest/browser-playwright": "4.0.18",
- "@vitest/browser-preview": "4.0.18",
- "@vitest/browser-webdriverio": "4.0.18",
- "@vitest/ui": "4.0.18",
- "happy-dom": "*",
- "jsdom": "*"
- },
- "peerDependenciesMeta": {
- "@edge-runtime/vm": {
- "optional": true
- },
- "@opentelemetry/api": {
- "optional": true
- },
- "@types/node": {
- "optional": true
- },
- "@vitest/browser-playwright": {
- "optional": true
- },
- "@vitest/browser-preview": {
- "optional": true
- },
- "@vitest/browser-webdriverio": {
- "optional": true
- },
- "@vitest/ui": {
- "optional": true
- },
- "happy-dom": {
- "optional": true
- },
- "jsdom": {
- "optional": true
- }
- }
- },
- "node_modules/vitest/node_modules/@esbuild/aix-ppc64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
- "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/android-arm": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz",
- "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/android-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz",
- "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/android-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz",
- "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/darwin-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
- "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/darwin-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz",
- "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/freebsd-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz",
- "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/freebsd-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz",
- "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/linux-arm": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz",
- "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/linux-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz",
- "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/linux-ia32": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz",
- "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/linux-loong64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz",
- "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/linux-mips64el": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz",
- "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/linux-ppc64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz",
- "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/linux-riscv64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz",
- "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/linux-s390x": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz",
- "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/linux-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz",
- "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/netbsd-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz",
- "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/openbsd-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz",
- "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/sunos-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz",
- "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/win32-arm64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz",
- "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/win32-ia32": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz",
- "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@esbuild/win32-x64": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
- "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vitest/node_modules/@vitest/mocker": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz",
- "integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/spy": "4.0.18",
- "estree-walker": "^3.0.3",
- "magic-string": "^0.30.21"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "msw": "^2.4.9",
- "vite": "^6.0.0 || ^7.0.0-0"
- },
- "peerDependenciesMeta": {
- "msw": {
- "optional": true
- },
- "vite": {
- "optional": true
- }
- }
- },
- "node_modules/vitest/node_modules/esbuild": {
- "version": "0.27.2",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz",
- "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=18"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.27.2",
- "@esbuild/android-arm": "0.27.2",
- "@esbuild/android-arm64": "0.27.2",
- "@esbuild/android-x64": "0.27.2",
- "@esbuild/darwin-arm64": "0.27.2",
- "@esbuild/darwin-x64": "0.27.2",
- "@esbuild/freebsd-arm64": "0.27.2",
- "@esbuild/freebsd-x64": "0.27.2",
- "@esbuild/linux-arm": "0.27.2",
- "@esbuild/linux-arm64": "0.27.2",
- "@esbuild/linux-ia32": "0.27.2",
- "@esbuild/linux-loong64": "0.27.2",
- "@esbuild/linux-mips64el": "0.27.2",
- "@esbuild/linux-ppc64": "0.27.2",
- "@esbuild/linux-riscv64": "0.27.2",
- "@esbuild/linux-s390x": "0.27.2",
- "@esbuild/linux-x64": "0.27.2",
- "@esbuild/netbsd-arm64": "0.27.2",
- "@esbuild/netbsd-x64": "0.27.2",
- "@esbuild/openbsd-arm64": "0.27.2",
- "@esbuild/openbsd-x64": "0.27.2",
- "@esbuild/openharmony-arm64": "0.27.2",
- "@esbuild/sunos-x64": "0.27.2",
- "@esbuild/win32-arm64": "0.27.2",
- "@esbuild/win32-ia32": "0.27.2",
- "@esbuild/win32-x64": "0.27.2"
- }
- },
- "node_modules/vitest/node_modules/vite": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",
- "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "esbuild": "^0.27.0",
- "fdir": "^6.5.0",
- "picomatch": "^4.0.3",
- "postcss": "^8.5.6",
- "rollup": "^4.43.0",
- "tinyglobby": "^0.2.15"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.3"
- },
- "peerDependencies": {
- "@types/node": "^20.19.0 || >=22.12.0",
- "jiti": ">=1.21.0",
- "less": "^4.0.0",
- "lightningcss": "^1.21.0",
- "sass": "^1.70.0",
- "sass-embedded": "^1.70.0",
- "stylus": ">=0.54.8",
- "sugarss": "^5.0.0",
- "terser": "^5.16.0",
- "tsx": "^4.8.1",
- "yaml": "^2.4.2"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "jiti": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- },
- "tsx": {
- "optional": true
- },
- "yaml": {
- "optional": true
- }
- }
- },
- "node_modules/vitest/node_modules/yaml": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
- "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true,
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/eemeli"
- }
- },
- "node_modules/w3c-xmlserializer": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
- "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "xml-name-validator": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/web-streams-polyfill": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
- "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/webidl-conversions": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz",
- "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/whatwg-mimetype": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz",
- "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/whatwg-url": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.0.tgz",
- "integrity": "sha512-9CcxtEKsf53UFwkSUZjG+9vydAsFO4lFHBpJUtjBcoJOCJpKnSJNwCw813zrYJHpCJ7sgfbtOe0V5Ku7Pa1XMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@exodus/bytes": "^1.11.0",
- "tr46": "^6.0.0",
- "webidl-conversions": "^8.0.1"
- },
- "engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/which-boxed-primitive": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
- "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-bigint": "^1.1.0",
- "is-boolean-object": "^1.2.1",
- "is-number-object": "^1.1.1",
- "is-string": "^1.1.1",
- "is-symbol": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-builtin-type": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
- "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bound": "^1.0.2",
- "function.prototype.name": "^1.1.6",
- "has-tostringtag": "^1.0.2",
- "is-async-function": "^2.0.0",
- "is-date-object": "^1.1.0",
- "is-finalizationregistry": "^1.1.0",
- "is-generator-function": "^1.0.10",
- "is-regex": "^1.2.1",
- "is-weakref": "^1.0.2",
- "isarray": "^2.0.5",
- "which-boxed-primitive": "^1.1.0",
- "which-collection": "^1.0.2",
- "which-typed-array": "^1.1.16"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-collection": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
- "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-map": "^2.0.3",
- "is-set": "^2.0.3",
- "is-weakmap": "^2.0.2",
- "is-weakset": "^2.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-typed-array": {
- "version": "1.1.20",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz",
- "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.8",
- "call-bound": "^1.0.4",
- "for-each": "^0.3.5",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/why-is-node-running": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
- "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "siginfo": "^2.0.0",
- "stackback": "0.0.2"
- },
- "bin": {
- "why-is-node-running": "cli.js"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ws": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
- "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/xml-name-validator": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
- "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/xmlchars": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- }
-}
diff --git a/explorer/package.json b/explorer/package.json
deleted file mode 100644
index 71df6b929d..0000000000
--- a/explorer/package.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "author": {
- "name": "Dusk Network B.V.",
- "url": "https://dusk.network/",
- "mail": "info@dusk.network"
- },
- "bugs": "https://github.com/dusk-network/rusk/issues",
- "engines": {
- "node": "^24.0.0"
- },
- "homepage": "https://github.com/dusk-network/rusk/tree/master/explorer",
- "license": "MPL-2.0",
- "name": "explorer",
- "private": true,
- "repository": {
- "type": "git",
- "url": "https://github.com/dusk-network/rusk.git"
- },
- "scripts": {
- "build": "vite build",
- "checks": "npm run format && npm run lint && npm run typecheck && npm test",
- "dev": "vite dev",
- "dev:host": "vite dev --host",
- "format": "prettier . --check",
- "format:fix": "prettier . --write",
- "lint": "eslint .",
- "lint:fix": "eslint . --fix",
- "preview": "vite preview",
- "test": "vitest --run",
- "test:coverage": "vitest --run --coverage.enabled",
- "test:watch": "vitest",
- "typecheck": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --fail-on-warnings",
- "typecheck:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch --fail-on-warnings"
- },
- "type": "module",
- "version": "1.5.0",
- "dependencies": {
- "@floating-ui/dom": "1.7.5",
- "@mdi/js": "7.4.47",
- "d3-geo": "3.1.1",
- "d3-scale": "4.0.2",
- "lamb": "0.61.1"
- },
- "devDependencies": {
- "@dusk-network/eslint-config": "4.0.1",
- "@dusk-network/prettier-config": "1.1.0",
- "@eslint/js": "9.39.2",
- "@juggle/resize-observer": "3.4.0",
- "@sveltejs/adapter-static": "3.0.10",
- "@sveltejs/kit": "2.50.2",
- "@sveltejs/vite-plugin-svelte": "3.1.2",
- "@testing-library/jest-dom": "6.9.1",
- "@testing-library/svelte": "5.3.1",
- "@types/d3-geo": "3.1.0",
- "@types/node": "25.2.0",
- "@vitest/browser": "4.0.18",
- "@vitest/coverage-istanbul": "4.0.18",
- "autoprefixer": "10.4.24",
- "eslint": "9.39.2",
- "eslint-config-prettier": "10.1.8",
- "eslint-import-resolver-typescript": "4.4.4",
- "eslint-plugin-svelte": "3.14.0",
- "globals": "17.3.0",
- "jsdom": "28.0.0",
- "jsdom-worker": "0.3.0",
- "lamb-types": "0.61.16",
- "postcss-nested": "7.0.2",
- "prettier": "3.8.1",
- "prettier-plugin-svelte": "3.4.1",
- "svelte": "4.2.20",
- "svelte-check": "4.3.6",
- "svelte-preprocess": "6.0.3",
- "typescript": "5.9.3",
- "vite": "5.4.21",
- "vite-tsconfig-paths": "6.0.5",
- "vitest": "4.0.18"
- }
-}
diff --git a/explorer/src/app.html b/explorer/src/app.html
deleted file mode 100644
index e379be251d..0000000000
--- a/explorer/src/app.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
- Dusk Explorer
-
-
-
-
-
- %sveltekit.head%
-
-
- %sveltekit.body%
-
-
diff --git a/explorer/src/error.html b/explorer/src/error.html
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/explorer/src/lib/chain-info/__tests__/addCountAndUnique.spec.js b/explorer/src/lib/chain-info/__tests__/addCountAndUnique.spec.js
deleted file mode 100644
index 50b05a8a57..0000000000
--- a/explorer/src/lib/chain-info/__tests__/addCountAndUnique.spec.js
+++ /dev/null
@@ -1,180 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { apiNodeLocations } from "$lib/mock-data";
-import { addCountAndUnique } from "..";
-
-describe("addCountAndUnique", () => {
- it("should return an array of unique objects, sorted by the frequency of their occurrence, with an additional count property representing the number of times that city-country combination appeared", () => {
- const expectedResult = [
- {
- city: "North Bergen",
- count: 15,
- country: "United States",
- countryCode: "US",
- lat: 40.793,
- lon: -74.0247,
- },
- {
- city: "Amsterdam",
- count: 15,
- country: "The Netherlands",
- countryCode: "NL",
- lat: 52.352,
- lon: 4.9392,
- },
- {
- city: "Santa Clara",
- count: 11,
- country: "United States",
- countryCode: "US",
- lat: 37.3931,
- lon: -121.962,
- },
- {
- city: "Frankfurt am Main",
- count: 9,
- country: "Germany",
- countryCode: "DE",
- lat: 50.1169,
- lon: 8.6837,
- },
- {
- city: "Clifton",
- count: 9,
- country: "United States",
- countryCode: "US",
- lat: 40.8364,
- lon: -74.1403,
- },
- {
- city: "Portsmouth",
- count: 6,
- country: "United Kingdom",
- countryCode: "GB",
- lat: 50.8544,
- lon: -1.002,
- },
- {
- city: "Singapore",
- count: 5,
- country: "Singapore",
- countryCode: "SG",
- lat: 1.32123,
- lon: 103.695,
- },
- {
- city: "Nuremberg",
- count: 4,
- country: "Germany",
- countryCode: "DE",
- lat: 49.405,
- lon: 11.1617,
- },
- {
- city: "Helsinki",
- count: 2,
- country: "Finland",
- countryCode: "FI",
- lat: 60.1797,
- lon: 24.9344,
- },
- {
- city: "Alexandria",
- count: 1,
- country: "Australia",
- countryCode: "AU",
- lat: -33.9088,
- lon: 151.196,
- },
- {
- city: "Milan",
- count: 1,
- country: "Italy",
- countryCode: "IT",
- lat: 45.4722,
- lon: 9.1922,
- },
- {
- city: "Sydney",
- count: 1,
- country: "Australia",
- countryCode: "AU",
- lat: -33.808,
- lon: 151.1415,
- },
- {
- city: "Hillsboro",
- count: 1,
- country: "United States",
- countryCode: "US",
- lat: 45.5397,
- lon: -122.9638,
- },
- {
- city: "St Louis",
- count: 1,
- country: "United States",
- countryCode: "US",
- lat: 38.6364,
- lon: -90.1985,
- },
- {
- city: "Slough",
- count: 1,
- country: "United Kingdom",
- countryCode: "GB",
- lat: 51.5368,
- lon: -0.6718,
- },
- {
- city: "Seattle",
- count: 1,
- country: "United States",
- countryCode: "US",
- lat: 47.3066,
- lon: -122.2619,
- },
- {
- city: "Limerick",
- count: 1,
- country: "Ireland",
- countryCode: "IE",
- lat: 52.6669,
- lon: -8.6274,
- },
- {
- city: "Falkenstein",
- count: 1,
- country: "Germany",
- countryCode: "DE",
- lat: 50.4777,
- lon: 12.3649,
- },
- {
- city: "Paris",
- count: 1,
- country: "France",
- countryCode: "FR",
- lat: 48.8323,
- lon: 2.4075,
- },
- {
- city: "Newcastle upon Tyne",
- count: 1,
- country: "United Kingdom",
- countryCode: "GB",
- lat: 54.9958,
- lon: -1.6897,
- },
- {
- city: "Sneek",
- count: 1,
- country: "The Netherlands",
- countryCode: "NL",
- lat: 53.0366,
- lon: 5.6858,
- },
- ];
-
- expect(addCountAndUnique(apiNodeLocations)).toStrictEqual(expectedResult);
- });
-});
diff --git a/explorer/src/lib/chain-info/__tests__/calculateStats.spec.js b/explorer/src/lib/chain-info/__tests__/calculateStats.spec.js
deleted file mode 100644
index a473b41681..0000000000
--- a/explorer/src/lib/chain-info/__tests__/calculateStats.spec.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { hostProvisioners } from "$lib/mock-data";
-
-import { calculateStats } from "..";
-
-describe("calculateStats", () => {
- const lastBlockHeight = 1498332;
-
- it("should calculate the stats with the given parameters", () => {
- const expectedStats = {
- activeProvisioners: 213,
- activeStake: 56732778800000000,
- lastBlock: 1498332,
- waitingProvisioners: 0,
- waitingStake: 0,
- };
- expect(calculateStats(hostProvisioners, lastBlockHeight)).toStrictEqual(
- expectedStats
- );
- });
-
- it("should accept an empty array of provisioners and transactions", () => {
- const expectedStats = {
- activeProvisioners: 0,
- activeStake: 0,
- lastBlock: 1498332,
- waitingProvisioners: 0,
- waitingStake: 0,
- };
-
- expect(calculateStats([], lastBlockHeight)).toStrictEqual(expectedStats);
- });
-});
diff --git a/explorer/src/lib/chain-info/__tests__/transformBlock.spec.js b/explorer/src/lib/chain-info/__tests__/transformBlock.spec.js
deleted file mode 100644
index 3028d7115f..0000000000
--- a/explorer/src/lib/chain-info/__tests__/transformBlock.spec.js
+++ /dev/null
@@ -1,105 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { setPathIn, skip, updateIn } from "lamb";
-
-import { gqlBlock } from "$lib/mock-data";
-
-import { transformBlock } from "..";
-
-describe("transformBlock", () => {
- const blockData = gqlBlock.block;
- const expectedBlock = {
- header: {
- date: new Date(blockData.header.timestamp * 1000),
- feespaid: 580718,
- hash: "bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f",
- height: 495868,
- nextblockhash:
- "6011556208a85e6001bd01ccbf936486b91318a7f6cbcf7ab810adf6fae34204",
- prevblockhash:
- "07b74b35c2c7cf8f41426cd0870bafa1a2c7adee3fdd876643548096186fc4cb",
- reward: 16000000000,
- seed: "af15447e3a004a79d4ae8b084f7b76b78d95880bb63e1cfa79250a310731f52e6d84ee42a5d6fc2cb99c5b1f489761f6",
- statehash:
- "20bb0a677b93f084afadfd34bec3ac3feee33a020b81d9549afa2268e8543acb",
- },
- transactions: {
- data: [
- {
- amount: undefined,
- blobHashes: [],
- blockhash:
- "bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f",
- blockheight: 495868,
- date: new Date(blockData.transactions[0].blockTimestamp * 1000),
- feepaid: 290866,
- from: undefined,
- gaslimit: 500000000,
- gasprice: 1,
- gasspent: 290866,
- memo: blockData.transactions[0].tx.memo,
- method: "transfer",
- nonce: undefined,
- payload: {},
- success: true,
- to: undefined,
- txerror: "",
- txid: "3a3f6f90a1012ae751b4448bcb8e98def0ba2b18170239bd69fcf8e2e37f0602",
- txtype: "Moonlight",
- },
- {
- amount: undefined,
- blobHashes: [],
- blockhash:
- "bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f",
- blockheight: 495868,
- date: new Date(blockData.transactions[1].blockTimestamp * 1000),
- feepaid: 289852,
- from: undefined,
- gaslimit: 500000000,
- gasprice: 1,
- gasspent: 289852,
- memo: blockData.transactions[1].tx.memo,
- method: "transfer",
- nonce: undefined,
- payload: {},
- success: true,
- to: undefined,
- txerror: "",
- txid: "07bfabea1d94c16f2dc3697fa642f6cecea6e81bf76b9644efbb6e2723b76d00",
- txtype: "Phoenix",
- },
- ],
- stats: {
- averageGasPrice: 1,
- gasLimit: 5000000000,
- gasUsed: 580718,
- },
- },
- };
-
- it("should transform a block received from the API into the format used by the Explorer", () => {
- expect(transformBlock(blockData)).toStrictEqual(expectedBlock);
- });
-
- it("should set zero as the average gas price if the gas spent isn't greater than zero", () => {
- expect(transformBlock({ ...blockData, gasSpent: 0 })).toStrictEqual(
- setPathIn(expectedBlock, "transactions.stats", {
- ...expectedBlock.transactions.stats,
- averageGasPrice: 0,
- gasUsed: 0,
- })
- );
- });
-
- it("should set an empty string to the `nextblockhash` if it's missing", () => {
- const blockWithoutNextHash = updateIn(
- blockData,
- "header",
- skip(["nextBlockHash"])
- );
-
- expect(transformBlock(blockWithoutNextHash)).toStrictEqual(
- setPathIn(expectedBlock, "header.nextblockhash", "")
- );
- });
-});
diff --git a/explorer/src/lib/chain-info/__tests__/transformSearchResult.spec.js b/explorer/src/lib/chain-info/__tests__/transformSearchResult.spec.js
deleted file mode 100644
index f0ca4efcb8..0000000000
--- a/explorer/src/lib/chain-info/__tests__/transformSearchResult.spec.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { gqlSearchPossibleResults } from "$lib/mock-data";
-
-import { transformSearchResult } from "..";
-
-describe("transformSearchResult", () => {
- it("should transform an array of search results from the GraphQL API into an array of application search results", () => {
- expect(transformSearchResult(gqlSearchPossibleResults[0])).toStrictEqual({
- id: "fda46b4e06cc78542db9c780adbaee83a27fdf917de653e8ac34294cf924dd63",
- type: "block",
- });
- expect(transformSearchResult(gqlSearchPossibleResults[3])).toStrictEqual({
- id: "38a21c90324dd1ea8a3eb749a520d4f33b2304fe150eb121086fb4cf13777908",
- type: "transaction",
- });
- });
-
- it("should return null if there is no data in the source results", () => {
- expect(
- transformSearchResult({
- account: null,
- block: null,
- tx: null,
- })
- ).toStrictEqual(null);
- });
-});
diff --git a/explorer/src/lib/chain-info/__tests__/transformTransaction.spec.js b/explorer/src/lib/chain-info/__tests__/transformTransaction.spec.js
deleted file mode 100644
index b4ef7c6457..0000000000
--- a/explorer/src/lib/chain-info/__tests__/transformTransaction.spec.js
+++ /dev/null
@@ -1,147 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { gqlTransaction } from "$lib/mock-data";
-
-import { transformTransaction } from "..";
-
-describe("transformTransaction", () => {
- const tx = gqlTransaction.tx;
- const expectedTx = {
- amount: 9812378912731,
- blobHashes: [],
- blockhash:
- "3c6e4018cfa86723e50644e33d3990bc27fc794f6b49fbf6290e4d308e07bd2d",
- blockheight: 487166,
- date: new Date(tx.blockTimestamp * 1000),
- feepaid: 290766,
- from: "kT5BamV2Xq6JpnoCq9ux7EmYRShdg4W1sLzyGFUqicmZTqxeMWLiTGpBWNhpjiPtKqvWFFmdxVBAjts3oEnZgPfuiyTRwDdASJQjTSy7wNhHdCeKtzExREcXZsmmMRLwKbXj",
- gaslimit: 500000000,
- gasprice: 1,
- gasspent: 290766,
- memo: tx.tx.memo,
- method: "transfer",
- nonce: 156,
- payload: {
- call: null,
- deposit: 0,
- fee: {
- // eslint-disable-next-line camelcase
- gas_limit: "2500000",
- // eslint-disable-next-line camelcase
- gas_price: "1",
- // eslint-disable-next-line camelcase
- refund_address:
- "kT5BamV2Xq6JpnoCq9ux7EmYRShdg4W1sLzyGFUqicmZTqxeMWLiTGpBWNhpjiPtKqvWFFmdxVBAjts3oEnZgPfuiyTRwDdASJQjTSy7wNhHdCeKtzExREcXZsmmMRLwKbXj",
- },
- // eslint-disable-next-line camelcase
- is_deploy: false,
- memo: null,
- nonce: 156,
- receiver:
- "mHWZo9qYUhqp2SEmtWN7EuDKFwVrjgdEyzpHdfLB6R9scRAq5EkUQyLB9fBfCGt1wjxfEpFxHq9MBPVVPY3Lk3JKnQLWZzj7UYAR4mGmeGQZwCaeCS8uA63ZPKnGpjiUnj",
- sender:
- "kT5BamV2Xq6JpnoCq9ux7EmYRShdg4W1sLzyGFUqicmZTqxeMWLiTGpBWNhpjiPtKqvWFFmdxVBAjts3oEnZgPfuiyTRwDdASJQjTSy7wNhHdCeKtzExREcXZsmmMRLwKbXj",
- type: "moonlight",
- value: 9812378912731,
- },
-
- success: true,
- to: "mHWZo9qYUhqp2SEmtWN7EuDKFwVrjgdEyzpHdfLB6R9scRAq5EkUQyLB9fBfCGt1wjxfEpFxHq9MBPVVPY3Lk3JKnQLWZzj7UYAR4mGmeGQZwCaeCS8uA63ZPKnGpjiUnj",
- txerror: "",
- txid: "4877687c2dbf154248d3ddee9ba0d81e3431f39056f82a46819da041d4ac0e04",
- txtype: "Moonlight",
- };
-
- it("should transform a transaction received from the GraphQL API into the format used by the Explorer", () => {
- expect(transformTransaction(tx)).toStrictEqual(expectedTx);
- });
-
- it("should use the call data if present to set the method and contract name", () => {
- const data = {
- ...tx,
- tx: {
- ...tx.tx,
- callData: {
- contractId:
- "0200000000000000000000000000000000000000000000000000000000000000",
- fnName: "stake",
- },
- },
- };
- const expected = {
- ...expectedTx,
- method: "stake",
- };
-
- expect(transformTransaction(data)).toStrictEqual(expected);
- });
-
- it('should use "deploy" as method, if the related property is `true`, regardless of the `callData.fnName` value', () => {
- const dataA = {
- ...tx,
- tx: {
- ...tx.tx,
- callData: {
- contractId:
- "0200000000000000000000000000000000000000000000000000000000000000",
- fnName: "stake",
- },
- isDeploy: true,
- },
- };
- const dataB = {
- ...tx,
- tx: {
- ...tx.tx,
- isDeploy: true,
- },
- };
- const expected = {
- ...expectedTx,
- method: "deploy",
- };
-
- expect(transformTransaction(dataA)).toStrictEqual(expected);
- expect(transformTransaction(dataB)).toStrictEqual(expected);
- });
-
- it('should set the method to "blob" if the transaction has blob hashes, regardless of the `isDeploy` or the `callData.fnName` fields', () => {
- const data = {
- ...tx,
- tx: {
- ...tx.tx,
- blobHashes: [
- "3656d71948baff2091090423f3b07701223b00d1a10942e44afe644a30865423",
- "d26d6ebba9bfb0504040eadec111627f9f562c358f40e035ea9011b48ed7b55b",
- ],
- callData: {
- contractId:
- "0200000000000000000000000000000000000000000000000000000000000000",
- fnName: "stake",
- },
- isDeploy: true,
- },
- };
- const expected = {
- ...expectedTx,
- blobHashes: data.tx.blobHashes,
- method: "blob",
- };
-
- expect(transformTransaction(data)).toStrictEqual(expected);
- });
-
- it("should set the success property to `false` if the an error is present and use the message in the `txerror` property", () => {
- const data = {
- ...tx,
- err: "Some error message",
- };
- const expected = {
- ...expectedTx,
- success: false,
- txerror: data.err,
- };
-
- expect(transformTransaction(data)).toStrictEqual(expected);
- });
-});
diff --git a/explorer/src/lib/chain-info/addCountAndUnique.js b/explorer/src/lib/chain-info/addCountAndUnique.js
deleted file mode 100644
index 44796da0b8..0000000000
--- a/explorer/src/lib/chain-info/addCountAndUnique.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * Returns an array of unique objects, sorted by the frequency of their occurrence,
- * with an additional count property representing the number of times
- * that city-country combination appeared in the input data.
- *
- * @param {Omit[]} data
- * @returns {NodeLocation[]}
- */
-function addCountAndUnique(data) {
- const countMap = data.reduce((locationMap, location) => {
- const key = `${location.city},${location.country}`;
-
- if (!locationMap[key]) {
- locationMap[key] = { ...location, count: 0 };
- }
- locationMap[key].count += 1;
- return locationMap;
- }, /** @type {{ [key: string]: NodeLocation }} */ ({}));
-
- // Return only unique city-country combinations
- return Object.values(countMap).sort((a, b) => b.count - a.count);
-}
-
-export default addCountAndUnique;
diff --git a/explorer/src/lib/chain-info/calculateStats.js b/explorer/src/lib/chain-info/calculateStats.js
deleted file mode 100644
index d497cdaed3..0000000000
--- a/explorer/src/lib/chain-info/calculateStats.js
+++ /dev/null
@@ -1,43 +0,0 @@
-import { always, condition, filterWith, partition } from "lamb";
-
-import { arraySumByKey } from "$lib/dusk/array";
-
-/**
- * We take into account only provisioners with
- * the minimum stake amount of 1000 Dusk (1e12 Lux).
- *
- * @type {(provisioners: HostProvisioner[]) => HostProvisioner[]}
- */
-const getValidProvisioners = filterWith((p) => p.amount >= 1e12);
-
-/**
- * Sums the values of the "amount" key in the received array.
- * Returns zero if the array is empty.
- */
-const sumByAmount = condition(
- (provisioners) => provisioners.length > 0,
- arraySumByKey("amount"),
- always(0)
-);
-
-/**
- * @param {HostProvisioner[]} provisioners
- * @param {number} lastHeight
- * @returns {Stats}
- */
-function calculateStats(provisioners, lastHeight) {
- const [activeProvisioners, waitingProvisioners] = partition(
- getValidProvisioners(provisioners),
- (p) => p.eligibility <= lastHeight
- );
-
- return {
- activeProvisioners: activeProvisioners.length,
- activeStake: sumByAmount(activeProvisioners),
- lastBlock: lastHeight,
- waitingProvisioners: waitingProvisioners.length,
- waitingStake: sumByAmount(waitingProvisioners),
- };
-}
-
-export default calculateStats;
diff --git a/explorer/src/lib/chain-info/chain-info.d.ts b/explorer/src/lib/chain-info/chain-info.d.ts
deleted file mode 100644
index 80ce05e403..0000000000
--- a/explorer/src/lib/chain-info/chain-info.d.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-type BlockHeader = {
- date: Date;
- feespaid: number;
- hash: string;
- height: number;
- nextblockhash: string;
- prevblockhash: string;
- reward: number;
- seed: string;
- statehash: string;
-};
-
-type BlockTransactions = {
- data: Transaction[];
- stats: {
- averageGasPrice: number;
- gasLimit: number;
- gasUsed: number;
- };
-};
-
-type Block = {
- header: BlockHeader;
- transactions: BlockTransactions;
-};
-
-type ChainInfo = {
- blocks: Block[];
- transactions: Transaction[];
-};
-
-type SearchResult = {
- id: string;
- type: "account" | "block" | "transaction";
-};
-
-type Transaction = {
- amount: number | undefined;
- blobHashes: string[];
- from: string | undefined;
- to: string | undefined;
- blockhash: string;
- blockheight: number;
- date: Date;
- feepaid: number;
- gaslimit: number;
- gasprice: number;
- gasspent: number;
- memo: string;
- method: string;
- success: boolean;
- txerror: string;
- txid: string;
- txtype: string;
- payload: string;
- nonce: number | undefined;
-};
diff --git a/explorer/src/lib/chain-info/index.js b/explorer/src/lib/chain-info/index.js
deleted file mode 100644
index af6e59ff46..0000000000
--- a/explorer/src/lib/chain-info/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export { default as addCountAndUnique } from "./addCountAndUnique";
-export { default as calculateStats } from "./calculateStats";
-export { default as transformBlock } from "./transformBlock";
-export { default as transformSearchResult } from "./transformSearchResult";
-export { default as transformTransaction } from "./transformTransaction";
diff --git a/explorer/src/lib/chain-info/transformBlock.js b/explorer/src/lib/chain-info/transformBlock.js
deleted file mode 100644
index 61d9fbefce..0000000000
--- a/explorer/src/lib/chain-info/transformBlock.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import { map } from "lamb";
-
-import { unixTsToDate } from "$lib/dusk/date";
-
-import { transformTransaction } from ".";
-
-/** @type {(v: GQLBlock) => Block} */
-const transformBlock = (v) => ({
- header: {
- date: unixTsToDate(v.header.timestamp),
- feespaid: v.fees,
- hash: v.header.hash,
- height: v.header.height,
- nextblockhash: v.header.nextBlockHash ?? "",
- prevblockhash: v.header.prevBlockHash,
- reward: v.reward,
- seed: v.header.seed,
- statehash: v.header.stateHash,
- },
- transactions: {
- data: map(v.transactions, transformTransaction),
- stats: {
- averageGasPrice: v.gasSpent > 0 ? v.fees / v.gasSpent : 0,
- gasLimit: v.header.gasLimit,
- gasUsed: v.gasSpent,
- },
- },
-});
-
-export default transformBlock;
diff --git a/explorer/src/lib/chain-info/transformSearchResult.js b/explorer/src/lib/chain-info/transformSearchResult.js
deleted file mode 100644
index f471c4be6f..0000000000
--- a/explorer/src/lib/chain-info/transformSearchResult.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * Transforms a GQL search result into a standardized search result.
- * @param {GQLSearchResult} entry - The GQL search result to transform
- * @returns {SearchResult | null} The transformed search result
- */
-const transformSearchResult = (entry) => {
- if (entry.block) {
- return {
- id: entry.block.header.hash,
- type: "block",
- };
- } else if (entry.tx) {
- return {
- id: entry.tx.id,
- type: "transaction",
- };
- } else if (entry.account) {
- return {
- id: entry.account.id,
- type: "account",
- };
- }
-
- return null;
-};
-
-export default transformSearchResult;
diff --git a/explorer/src/lib/chain-info/transformTransaction.js b/explorer/src/lib/chain-info/transformTransaction.js
deleted file mode 100644
index ebba38ed52..0000000000
--- a/explorer/src/lib/chain-info/transformTransaction.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import { unixTsToDate } from "$lib/dusk/date";
-
-/** @type {(tx: GQLTransaction["tx"]) => string} */
-const getTransactionMethod = (tx) =>
- tx.blobHashes && tx.blobHashes.length
- ? "blob"
- : tx.isDeploy
- ? "deploy"
- : (tx.callData?.fnName ?? "transfer");
-
-/** @type {(v: GQLTransaction) => Transaction} */
-const transformTransaction = (tx) => {
- const payloadString = tx.tx.json ?? "{}";
- const payload = JSON.parse(payloadString);
-
- return {
- amount: payload.value,
- blobHashes: tx.tx.blobHashes ?? [],
- blockhash: tx.blockHash,
- blockheight: tx.blockHeight,
- date: unixTsToDate(tx.blockTimestamp),
- feepaid: tx.gasSpent * tx.tx.gasPrice,
- from: payload.sender,
- gaslimit: tx.tx.gasLimit,
- gasprice: tx.tx.gasPrice,
- gasspent: tx.gasSpent,
- memo: tx.tx.memo ?? "",
- method: getTransactionMethod(tx.tx),
- nonce: payload.nonce,
- payload,
- success: tx.err === null,
- to: payload.receiver,
- txerror: tx.err ?? "",
- txid: tx.id,
- txtype: tx.tx.txType,
- };
-};
-
-export default transformTransaction;
diff --git a/explorer/src/lib/components/__tests__/AppAnchor.spec.js b/explorer/src/lib/components/__tests__/AppAnchor.spec.js
deleted file mode 100644
index 72c1d1414b..0000000000
--- a/explorer/src/lib/components/__tests__/AppAnchor.spec.js
+++ /dev/null
@@ -1,76 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-import { base } from "$app/paths";
-
-import { renderWithSimpleContent } from "$lib/dusk/test-helpers";
-
-import { AppAnchor } from "..";
-
-describe("AppAnchor", () => {
- const baseProps = {
- className: "foo bar",
- href: "/setup",
- id: "some-id",
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("should render an `Anchor` with the base path prepended to the `href` attribute, if the `href` represents an absolute URL", () => {
- const renderA = renderWithSimpleContent(AppAnchor, baseOptions);
- const anchorA = renderA.getByRole("link");
-
- expect(renderA.container.firstChild).toMatchSnapshot();
- expect(anchorA).toHaveAttribute("href", `${base}${baseProps.href}`);
- expect(anchorA).toHaveClass("foo bar");
- expect(anchorA).toHaveAttribute("id", baseProps.id);
-
- cleanup();
-
- const renderB = renderWithSimpleContent(AppAnchor, {
- ...baseOptions,
- props: { ...baseProps, href: "/" },
- });
- const anchorB = renderB.getByRole("link");
-
- expect(anchorB).toHaveAttribute("href", `${base}/`);
- expect(anchorB).toHaveClass("foo bar");
- expect(anchorB).toHaveAttribute("id", baseProps.id);
- });
-
- it("should leave the `Anchor` as it is if the `href` points to a relative path", () => {
- const { getByRole } = renderWithSimpleContent(AppAnchor, {
- ...baseOptions,
- props: { ...baseProps, href: "foo/bar" },
- });
-
- expect(getByRole("link")).toHaveAttribute("href", "foo/bar");
- });
-
- it("should leave the `Anchor` as it is if the `href` points to an external URL", () => {
- const href = "http://example.com";
- const { getByRole } = renderWithSimpleContent(AppAnchor, {
- ...baseOptions,
- props: { ...baseProps, href },
- });
-
- expect(getByRole("link")).toHaveAttribute("href", href);
- });
-
- it("should forward the `onclick` event to the `Anchor`", async () => {
- const handler = vi.fn();
- const { component, getByRole } = render(AppAnchor, {
- ...baseProps,
- href: "#",
- });
-
- component.$on("click", handler);
-
- await fireEvent.click(getByRole("link"));
-
- expect(handler).toHaveBeenCalledTimes(1);
- });
-});
diff --git a/explorer/src/lib/components/__tests__/AppAnchorButton.spec.js b/explorer/src/lib/components/__tests__/AppAnchorButton.spec.js
deleted file mode 100644
index 53013383a1..0000000000
--- a/explorer/src/lib/components/__tests__/AppAnchorButton.spec.js
+++ /dev/null
@@ -1,66 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-import { base } from "$app/paths";
-
-import { AppAnchorButton } from "..";
-
-describe("AppAnchorButton", () => {
- const baseProps = {
- className: "foo bar",
- href: "/setup",
- id: "some-id",
- };
-
- afterEach(cleanup);
-
- it("should render an `AnchorButton` with the base path prepended to the `href` attribute, if the `href` represents an absolute URL", async () => {
- const { container, getByRole, rerender } = render(
- AppAnchorButton,
- baseProps
- );
- const anchorA = getByRole("link");
-
- expect(container.firstChild).toMatchSnapshot();
- expect(anchorA).toHaveAttribute("href", `${base}${baseProps.href}`);
- expect(anchorA).toHaveClass("foo bar");
- expect(anchorA).toHaveAttribute("id", baseProps.id);
-
- await rerender({ ...baseProps, href: "/" });
-
- const anchorB = getByRole("link");
-
- expect(anchorB).toHaveAttribute("href", `${base}/`);
- expect(anchorB).toHaveClass("foo bar");
- expect(anchorB).toHaveAttribute("id", baseProps.id);
- });
-
- it("should leave the `AnchorButton` as it is if the `href` points to a relative path", () => {
- const { getByRole } = render(AppAnchorButton, {
- ...baseProps,
- href: "foo/bar",
- });
-
- expect(getByRole("link")).toHaveAttribute("href", "foo/bar");
- });
-
- it("should leave the `AnchorButton` as it is if the `href` points to an external URL", () => {
- const href = "http://example.com";
- const { getByRole } = render(AppAnchorButton, { ...baseProps, href });
-
- expect(getByRole("link")).toHaveAttribute("href", href);
- });
-
- it("should forward the `onclick` event to the `AnchorButton`", async () => {
- const handler = vi.fn();
- const { component, getByRole } = render(AppAnchorButton, {
- ...baseProps,
- href: "#",
- });
-
- component.$on("click", handler);
-
- await fireEvent.click(getByRole("link"));
-
- expect(handler).toHaveBeenCalledTimes(1);
- });
-});
diff --git a/explorer/src/lib/components/__tests__/AppImage.spec.js b/explorer/src/lib/components/__tests__/AppImage.spec.js
deleted file mode 100644
index 4adea21827..0000000000
--- a/explorer/src/lib/components/__tests__/AppImage.spec.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { base } from "$app/paths";
-
-import { AppImage } from "..";
-
-describe("AppImage", () => {
- const baseProps = {
- alt: "Some alternative text",
- className: "foo bar",
- height: "600",
- src: "/images/some-image.jpg",
- width: "800",
- };
-
- afterEach(cleanup);
-
- it("should render an HTML image forwarding all attributes but with the base path prepended to the `src` if it's an absolute URL", async () => {
- const { container, getByRole, rerender } = render(AppImage, baseProps);
- const imgA = getByRole("img");
-
- expect(container.firstChild).toMatchSnapshot();
- expect(imgA).toHaveAttribute("alt", baseProps.alt);
- expect(imgA).toHaveClass("foo bar");
- expect(imgA).toHaveAttribute("height", baseProps.height);
- expect(imgA).toHaveAttribute("src", `${base}${baseProps.src}`);
- expect(imgA).toHaveAttribute("width", baseProps.width);
-
- await rerender({ ...baseProps, className: "baz", src: "/" });
-
- const imgB = getByRole("img");
-
- expect(imgB).toHaveAttribute("alt", baseProps.alt);
- expect(imgB).toHaveClass("baz");
- expect(imgB).toHaveAttribute("height", baseProps.height);
- expect(imgB).toHaveAttribute("src", `${base}/`);
- expect(imgB).toHaveAttribute("width", baseProps.width);
- });
-
- it("shouldn't touch the src attribute if it represents a relative path", () => {
- const src = "images/some-image.jpg";
- const { getByRole } = render(AppImage, { ...baseProps, src });
-
- expect(getByRole("img")).toHaveAttribute("src", src);
- });
-
- it("shoudn't touch the `src` attribute if it points to an external URL", () => {
- const src = "http://example.com/some-image.jpg";
- const { getByRole } = render(AppImage, { ...baseProps, src });
-
- expect(getByRole("img")).toHaveAttribute("src", src);
- });
-});
diff --git a/explorer/src/lib/components/__tests__/AppSource.spec.js b/explorer/src/lib/components/__tests__/AppSource.spec.js
deleted file mode 100644
index 3a6004992e..0000000000
--- a/explorer/src/lib/components/__tests__/AppSource.spec.js
+++ /dev/null
@@ -1,119 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { ownPairs } from "lamb";
-import { base } from "$app/paths";
-
-import { AppSource } from "..";
-
-/** @type {(container: HTMLElement) => HTMLSourceElement} */
-const getSourceElementIn = (container) =>
- /** @type {HTMLSourceElement} */ (container.querySelector("source"));
-
-describe("AppSource", () => {
- const commonProps = {
- "data-foo": "bar",
- height: "600",
- type: "image/jpeg",
- width: "800",
- };
-
- afterEach(cleanup);
-
- describe("src attribute", () => {
- const baseProps = {
- ...commonProps,
- src: "/images/some-image.jpg",
- };
-
- it("should render a source element forwarding all attributes but with the base path prepended to the `src` if it's an absolute URL", async () => {
- const { container, rerender } = render(AppSource, baseProps);
- const source = getSourceElementIn(container);
-
- expect(container.firstChild).toMatchSnapshot();
-
- ownPairs(commonProps).forEach(([key, value]) => {
- expect(source).toHaveAttribute(key, value);
- });
-
- expect(source).toHaveAttribute("src", `${base}${baseProps.src}`);
-
- await rerender({ ...baseProps, src: "/" });
-
- expect(getSourceElementIn(container)).toHaveAttribute("src", `${base}/`);
- });
-
- it("shouldn't touch a `src` with a relative path", () => {
- const src = "images/some-image.jpg";
- const { container } = render(AppSource, { ...baseProps, src });
-
- expect(getSourceElementIn(container)).toHaveAttribute("src", src);
- });
-
- it("shoudn't touch a `src` with an external URL", () => {
- const src = "http://example.com/some-image.jpg";
- const { container } = render(AppSource, { ...baseProps, src });
-
- expect(getSourceElementIn(container)).toHaveAttribute("src", src);
- });
- });
-
- describe("srcset attribute", () => {
- it("should render a source element forwarding all attributes but with the base path prepended to absolute URLs in the `srcset`", async () => {
- const props = {
- ...commonProps,
- srcset: "/images/some-image.jpg 1.5x",
- };
- const { container, rerender } = render(AppSource, props);
- const source = getSourceElementIn(container);
-
- expect(container.firstChild).toMatchSnapshot();
-
- ownPairs(commonProps).forEach(([key, value]) => {
- expect(source).toHaveAttribute(key, value);
- });
-
- expect(source).toHaveAttribute("srcset", `${base}${props.srcset}`);
-
- await rerender({ ...props, srcset: "/images/some-image.jpg" });
-
- expect(getSourceElementIn(container)).toHaveAttribute(
- "srcset",
- `${base}/images/some-image.jpg`
- );
-
- await rerender({ ...props, srcset: "/ 1.5x" });
-
- expect(getSourceElementIn(container)).toHaveAttribute(
- "srcset",
- `${base}/ 1.5x`
- );
- });
-
- it("should be able to handle multiple values in the srcset", () => {
- const props = {
- ...commonProps,
- srcset: "/images/some-image.jpg 1.5x, /foo.jpg, /bar/baz.jpg 300w",
- };
- const { container } = render(AppSource, props);
-
- expect(getSourceElementIn(container)).toHaveAttribute(
- "srcset",
- `${base}/images/some-image.jpg 1.5x, ${base}/foo.jpg, ${base}/bar/baz.jpg 300w`
- );
- });
-
- it("shouldn't touch elements with relative or absolute URLs in the srcset", () => {
- const props = {
- ...commonProps,
- srcset:
- "/images/some-image.jpg 1.5x, http://example.com/foo.jpg, bar/baz.jpg 300w",
- };
- const { container } = render(AppSource, props);
-
- expect(getSourceElementIn(container)).toHaveAttribute(
- "srcset",
- `${base}/images/some-image.jpg 1.5x, http://example.com/foo.jpg, bar/baz.jpg 300w`
- );
- });
- });
-});
diff --git a/explorer/src/lib/components/__tests__/BlockDetails.spec.js b/explorer/src/lib/components/__tests__/BlockDetails.spec.js
deleted file mode 100644
index baab988038..0000000000
--- a/explorer/src/lib/components/__tests__/BlockDetails.spec.js
+++ /dev/null
@@ -1,89 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-import { setPathIn } from "lamb";
-
-import { gqlBlock } from "$lib/mock-data";
-import { transformBlock } from "$lib/chain-info";
-
-import { BlockDetails } from "../";
-
-/**
- * @param {HTMLElement} container
- * @param {"next" | "prev"} which
- * @returns {HTMLAnchorElement?}
- */
-const getBlockNavLink = (container, which) =>
- container.querySelector(
- `.block-details__list-anchor:nth-of-type(${which === "prev" ? "1" : "2"})`
- );
-
-describe("Block Details", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 20));
-
- const baseProps = {
- data: transformBlock(gqlBlock.block),
- error: null,
- loading: false,
- payload:
- '{"version":1,"height":21455,"timestamp":1726246600,"prev_block_hash":"940d0a9a35f30103554e9d74ae504d4a3f679bda7b925df9bff1002424a5a748","seed":"a6b11ca51a17bbe4899e3a924d2c7e087d2836800f276db9cf3e36516b4bf9a99aa8507567cbc3ab9a2c3f0390a47748","state_hash":"70a544fbea9914958dc3dba1824956a1b6de37fbfbc42d2c3e219793b8ce8017","event_hash":"02aee0f39c5936122a5ce52aacf4cf29949dd6d3eec38979ddc1bbb0b6192e34","generator_bls_pubkey":"244Sywxj7PuMHpcPxemaXLcrY5rPgztra6H9Vz8cU1Ro5v23SxKTfVqr2yS7NXAXE1iq59ndn4aMZmYxuzu3Te3e9fokQKTUkYvFxYg2P2E8EEg1gWUbs3AFL2aNx62HQd7r","txroot":"522addb8dae45b71ef281a76c86c6babef0678c8bc2d58d617dc33fa7722b021","faultroot":"0000000000000000000000000000000000000000000000000000000000000000","gas_limit":5000000000,"iteration":0,"prev_block_cert":{"result":{"Valid":"940d0a9a35f30103554e9d74ae504d4a3f679bda7b925df9bff1002424a5a748"},"validation":{"bitset":256882,"aggregate_signature":"877eedaf65d9fab0b309f5f8b01df38a379612854aa6fb63009b2b3d6c92de494d79d8c612daae50e33cd3b1418a9a9e"},"ratification":{"bitset":386423,"aggregate_signature":"a98a84b6ba9a88fde1a063538807aa35b2af1c52360bf564d9c19abd3d22ba9be9f87ce38c97b580fc05df8c920b9da4"}},"failed_iterations":[],"hash":"22c7e588560a133d1c142c2fe4c067e8b500ced43d5f9ae19cf55f1caf4dd899"}',
- };
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("renders the Block Details component", () => {
- const { container } = render(BlockDetails, baseProps);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should disable the previous block link if the prev block hash is empty or if the current height is `0`", async () => {
- const { container, rerender } = render(
- BlockDetails,
- setPathIn(baseProps, "data.header.prevblockhash", "")
- );
-
- expect(getBlockNavLink(container, "prev")).toHaveAttribute(
- "aria-disabled",
- "true"
- );
-
- await rerender(baseProps);
-
- expect(getBlockNavLink(container, "prev")).toHaveAttribute(
- "aria-disabled",
- "false"
- );
-
- await rerender(setPathIn(baseProps, "data.header.height", 0));
-
- expect(getBlockNavLink(container, "prev")).toHaveAttribute(
- "aria-disabled",
- "true"
- );
- });
-
- it("should disable the next block link if the next block hash is empty", () => {
- const { container } = render(
- BlockDetails,
- setPathIn(baseProps, "data.header.nextblockhash", "")
- );
-
- expect(getBlockNavLink(container, "next")).toHaveAttribute(
- "aria-disabled",
- "true"
- );
- });
-
- it("should render the Block Details component with the payload visible", async () => {
- const { container, getByRole } = render(BlockDetails, baseProps);
-
- await fireEvent.click(getByRole("switch"));
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/BlocksCard.spec.js b/explorer/src/lib/components/__tests__/BlocksCard.spec.js
deleted file mode 100644
index ebf209e0b1..0000000000
--- a/explorer/src/lib/components/__tests__/BlocksCard.spec.js
+++ /dev/null
@@ -1,76 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { compose, mapWith, take } from "lamb";
-
-import { gqlBlocks } from "$lib/mock-data";
-import { transformBlock } from "$lib/chain-info";
-import { BlocksCard } from "..";
-
-describe("Blocks Card", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 30));
-
- const getTenBlocks = compose(mapWith(transformBlock), take(10));
- const data = getTenBlocks(gqlBlocks.blocks);
-
- const baseProps = {
- blocks: null,
- error: null,
- isSmallScreen: false,
- loading: false,
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("should render the `BlocksCard` component", () => {
- const { container } = render(BlocksCard, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should disable the `Show More` button is the card is in the loading state", () => {
- const loading = true;
-
- const { container, getByRole } = render(BlocksCard, {
- ...baseOptions,
- props: { ...baseProps, loading },
- });
-
- expect(getByRole("button", { name: "Show More" })).toBeDisabled();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should disable the `Show More` button if there is no more data to display", async () => {
- const loading = false;
- const blocks = data;
-
- const { container, getByRole } = render(BlocksCard, {
- ...baseOptions,
- props: { ...baseProps, blocks, loading },
- });
-
- expect(getByRole("button", { name: "Show More" })).toBeDisabled();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should hide the `Show More` button if an error has occurred", async () => {
- const props = { ...baseProps, error: new Error("error") };
-
- const { container } = render(BlocksCard, {
- ...baseOptions,
- props: { ...props, error: new Error("error") },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/BlocksList.spec.js b/explorer/src/lib/components/__tests__/BlocksList.spec.js
deleted file mode 100644
index 4062705614..0000000000
--- a/explorer/src/lib/components/__tests__/BlocksList.spec.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { setPathIn } from "lamb";
-
-import { gqlBlock } from "$lib/mock-data";
-import { transformBlock } from "$lib/chain-info";
-
-import { BlocksList } from "..";
-
-/** @param {HTMLElement} container */
-function getTimeElement(container) {
- return /** @type {HTMLTimeElement} */ (container.querySelector("time"));
-}
-
-describe("Blocks List", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 20));
-
- const block = transformBlock(gqlBlock.block);
-
- /** @type {import("svelte").ComponentProps} */
- const baseProps = { data: block };
-
- const timeRefreshInterval = 1000;
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("renders the Blocks List component", () => {
- const { container } = render(BlocksList, baseProps);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should auto-refresh relative times when the related prop is set to true", async () => {
- const props = {
- ...baseProps,
- data: setPathIn(block, "header.date", new Date()),
- };
- const { container, rerender } = render(BlocksList, props);
- const timeElement = getTimeElement(container);
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"now"`);
-
- await vi.advanceTimersByTimeAsync(timeRefreshInterval * 3);
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"now"`);
-
- await rerender({ ...props, autoRefreshTime: true });
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"3 seconds ago"`);
-
- await vi.advanceTimersByTimeAsync(timeRefreshInterval);
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"4 seconds ago"`);
-
- await vi.advanceTimersByTimeAsync(timeRefreshInterval);
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"5 seconds ago"`);
- });
-});
diff --git a/explorer/src/lib/components/__tests__/BlocksTable.spec.js b/explorer/src/lib/components/__tests__/BlocksTable.spec.js
deleted file mode 100644
index ebe27f76e6..0000000000
--- a/explorer/src/lib/components/__tests__/BlocksTable.spec.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { mapWith, slice } from "lamb";
-
-import { gqlBlocks } from "$lib/mock-data";
-import { transformBlock } from "$lib/chain-info";
-
-import { BlocksTable } from "..";
-
-describe("Blocks Table", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 30));
-
- const transformBlocks = mapWith(transformBlock);
- const data = slice(transformBlocks(gqlBlocks.blocks), 0, 10);
-
- const baseProps = {
- data: data,
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("should render the `BlocksTable` component", () => {
- const { container } = render(BlocksTable, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/DataAlert.spec.js b/explorer/src/lib/components/__tests__/DataAlert.spec.js
deleted file mode 100644
index e88a9de95d..0000000000
--- a/explorer/src/lib/components/__tests__/DataAlert.spec.js
+++ /dev/null
@@ -1,45 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-
-import { DataAlert } from "..";
-
-describe("DataAlert", () => {
- const baseProps = {
- error: null,
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("should render the `DataAlert` in the no data state", () => {
- const { container } = render(DataAlert, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the `DataAlert` in the error state", () => {
- const error = new Error("error");
- const { container } = render(DataAlert, {
- ...baseOptions,
- props: { ...baseProps, error },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should dispatch the `retry` event on button click", async () => {
- const eventHandler = vi.fn();
- const error = new Error("error");
- const { component, getByRole } = render(DataAlert, {
- ...baseOptions,
- props: { ...baseProps, error },
- });
-
- component.$on("retry", eventHandler);
- await fireEvent.click(getByRole("button"));
- expect(eventHandler).toHaveBeenCalledTimes(1);
- });
-});
diff --git a/explorer/src/lib/components/__tests__/DataCard.spec.js b/explorer/src/lib/components/__tests__/DataCard.spec.js
deleted file mode 100644
index 24957ef8ae..0000000000
--- a/explorer/src/lib/components/__tests__/DataCard.spec.js
+++ /dev/null
@@ -1,105 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-
-import { renderWithSimpleContent } from "$lib/dusk/test-helpers";
-
-import { DataCard } from "..";
-
-describe("DataCard", () => {
- const baseProps = {
- data: null,
- error: null,
- headerButtonDetails: { action: () => {}, disabled: false, label: "Button" },
- loading: false,
- title: "Title",
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("should render the `DataCard` in the loading state", () => {
- const loading = true;
- const { container } = render(DataCard, {
- ...baseOptions,
- props: { ...baseProps, loading },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the `DataCard` in the error state", () => {
- const error = new Error("error");
- const { container } = render(DataCard, {
- ...baseOptions,
- props: { ...baseProps, error },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the `DataCard` in the no data state", () => {
- const data = new Array(0);
- const { container } = render(DataCard, {
- ...baseOptions,
- props: { ...baseProps, data },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the `DataCard` in the data state", () => {
- const data = new Array(2);
- const renderWithSlots = renderWithSimpleContent(DataCard, {
- ...baseOptions,
- props: { ...baseProps, data },
- });
-
- expect(renderWithSlots.container.firstChild).toMatchSnapshot();
- });
-
- it("should render the `DataCard` in the data state when loading is true", () => {
- const data = new Array(2);
- const loading = true;
- const renderWithSlots = renderWithSimpleContent(DataCard, {
- ...baseOptions,
- props: { ...baseProps, data, loading },
- });
-
- expect(renderWithSlots.container.firstChild).toMatchSnapshot();
- });
-
- it("should pass the correct function to the button on click event", async () => {
- const onClickMock = vi.fn();
- const headerButtonDetails = {
- action: onClickMock,
- disabled: false,
- label: "Back",
- };
- const { getByRole } = render(DataCard, {
- ...baseOptions,
- props: { ...baseProps, headerButtonDetails },
- });
-
- await fireEvent.click(getByRole("button"));
-
- expect(onClickMock).toHaveBeenCalledTimes(1);
- });
-
- it("should render the `DataCard` with a disabled button", () => {
- const headerButtonDetails = {
- action: () => {},
- disabled: true,
- label: "Back",
- };
- const { container, getByRole } = render(DataCard, {
- ...baseOptions,
- props: { ...baseProps, headerButtonDetails },
- });
-
- expect(getByRole("button")).toBeDisabled();
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/DataGuard.spec.js b/explorer/src/lib/components/__tests__/DataGuard.spec.js
deleted file mode 100644
index e34d9dad88..0000000000
--- a/explorer/src/lib/components/__tests__/DataGuard.spec.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-
-import { renderWithSimpleContent } from "$lib/dusk/test-helpers";
-
-import { DataGuard } from "..";
-
-describe("DataGuard", () => {
- const baseProps = {
- data: null,
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("should render the `DataGuard` with the placeholder if no data is passed", () => {
- const { container } = render(DataGuard, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the `DataGuard` if data is present", () => {
- const data = 1;
- const renderWithSlots = renderWithSimpleContent(DataGuard, {
- ...baseOptions,
- props: { ...baseProps, data },
- });
-
- expect(renderWithSlots.container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/DetailList.spec.js b/explorer/src/lib/components/__tests__/DetailList.spec.js
deleted file mode 100644
index 9fa93bbb53..0000000000
--- a/explorer/src/lib/components/__tests__/DetailList.spec.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup } from "@testing-library/svelte";
-import { DetailList } from "..";
-
-import { renderWithSimpleContent } from "$lib/dusk/test-helpers";
-
-describe("Detail List", () => {
- const baseProps = { className: "foo bar" };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("renders the Detail List component", () => {
- const render = renderWithSimpleContent(DetailList, baseOptions);
-
- expect(render.container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/Footer.spec.js b/explorer/src/lib/components/__tests__/Footer.spec.js
deleted file mode 100644
index c4041abf53..0000000000
--- a/explorer/src/lib/components/__tests__/Footer.spec.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { Footer } from "../";
-
-describe("Footer", () => {
- beforeEach(() => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2025, 0, 1));
- });
-
- afterEach(() => {
- cleanup();
- vi.useRealTimers();
- });
-
- it("renders the Footer component", () => {
- const { container } = render(Footer);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/ListItem.spec.js b/explorer/src/lib/components/__tests__/ListItem.spec.js
deleted file mode 100644
index 98c72ef38b..0000000000
--- a/explorer/src/lib/components/__tests__/ListItem.spec.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { ListItem } from "../";
-
-const baseProps = {
- tooltipText: "Tooltip text",
-};
-
-describe("List Item", () => {
- afterEach(cleanup);
-
- it("renders the List Item component", () => {
- const { container } = render(ListItem, baseProps);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/Navbar.spec.js b/explorer/src/lib/components/__tests__/Navbar.spec.js
deleted file mode 100644
index a312c0125d..0000000000
--- a/explorer/src/lib/components/__tests__/Navbar.spec.js
+++ /dev/null
@@ -1,109 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { act, cleanup, fireEvent, render } from "@testing-library/svelte";
-import * as appNavigation from "$app/navigation";
-
-import { Navbar } from "..";
-
-/** @param {HTMLElement} container */
-const getNotificationElement = (container) =>
- container.querySelector(".dusk-navbar__menu--search-notification");
-
-/** @param {HTMLElement} container */
-async function showSearchNotification(container) {
- const form = /** @type {HTMLFormElement} */ (container.querySelector("form"));
- const searchInput = /** @type {HTMLInputElement} */ (
- form.querySelector("input[type='text']")
- );
-
- searchInput.value = "foobar"; // invalid search
-
- await fireEvent.submit(form);
-}
-
-describe("Navbar", () => {
- /** @type {(navigation: import("@sveltejs/kit").AfterNavigate) => void} */
- let afterNavigateCallback;
-
- const afterNavigateSpy = vi
- .spyOn(appNavigation, "afterNavigate")
- .mockImplementation((fn) => {
- afterNavigateCallback = fn;
- });
-
- afterEach(() => {
- cleanup();
- afterNavigateSpy.mockClear();
- });
-
- afterAll(() => {
- afterNavigateSpy.mockRestore();
- });
-
- it("renders the Navbar component", () => {
- const { container } = render(Navbar);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should hide the mobile menu after a navigation event", async () => {
- const { container } = render(Navbar);
-
- const btnMenuToggle = /** @type {HTMLButtonElement} */ (
- container.querySelector(".dusk-navbar__toggle")
- );
- const menu = /** @type {HTMLDivElement} */ (
- container.querySelector(".dusk-navbar__menu")
- );
-
- expect(menu).toHaveClass("dusk-navbar__menu--hidden");
- expect(btnMenuToggle).toHaveAttribute("aria-expanded", "false");
-
- await fireEvent.click(btnMenuToggle);
-
- expect(menu).not.toHaveClass("dusk-navbar__menu--hidden");
- expect(btnMenuToggle).toHaveAttribute("aria-expanded", "true");
-
- await act(() => {
- // @ts-expect-error we don't care for navigation details
- afterNavigateCallback();
- });
-
- expect(menu).toHaveClass("dusk-navbar__menu--hidden");
- expect(btnMenuToggle).toHaveAttribute("aria-expanded", "false");
- });
-
- it("should hide the search notification when its close button is clicked", async () => {
- const { container } = render(Navbar);
-
- expect(getNotificationElement(container)).toBeNull();
-
- await showSearchNotification(container);
-
- expect(getNotificationElement(container)).toBeInTheDocument();
-
- const btnClose = /** @type {HTMLButtonElement} */ (
- container.querySelector(".search-notification__header-action")
- );
-
- await fireEvent.click(btnClose);
-
- expect(getNotificationElement(container)).toBeNull();
- });
-
- it("should hide the search notification after a navigation event", async () => {
- const { container } = render(Navbar);
-
- expect(getNotificationElement(container)).toBeNull();
-
- await showSearchNotification(container);
-
- expect(getNotificationElement(container)).toBeInTheDocument();
-
- await act(() => {
- // @ts-expect-error we don't care for navigation details
- afterNavigateCallback();
- });
-
- expect(getNotificationElement(container)).toBeNull();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/ProvisionersCard.spec.js b/explorer/src/lib/components/__tests__/ProvisionersCard.spec.js
deleted file mode 100644
index bd2a517c1e..0000000000
--- a/explorer/src/lib/components/__tests__/ProvisionersCard.spec.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { slice } from "lamb";
-
-import { hostProvisioners } from "$lib/mock-data";
-import { ProvisionersCard } from "..";
-
-describe("Provisioners Card", () => {
- const data = slice(hostProvisioners, 0, 10);
-
- const baseProps = {
- error: null,
- isSmallScreen: false,
- loading: false,
- provisioners: null,
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("should render the `ProvisionersCard` component", () => {
- const { container } = render(ProvisionersCard, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should disable the `Show More` button is the card is in the loading state", () => {
- const loading = true;
-
- const { container, getByRole } = render(ProvisionersCard, {
- ...baseOptions,
- props: { ...baseProps, loading },
- });
-
- expect(getByRole("button", { name: "Show More" })).toBeDisabled();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should disable the `Show More` button if there is no more data to display", async () => {
- const loading = false;
- const provisioners = data;
-
- const { container, getByRole } = render(ProvisionersCard, {
- ...baseOptions,
- props: { ...baseProps, loading, provisioners },
- });
-
- expect(getByRole("button", { name: "Show More" })).toBeDisabled();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should hide the `Show More` button if an error has occurred", async () => {
- const props = { ...baseProps, error: new Error("error") };
-
- const { container } = render(ProvisionersCard, {
- ...baseOptions,
- props: { ...props, error: new Error("error") },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/ProvisionersList.spec.js b/explorer/src/lib/components/__tests__/ProvisionersList.spec.js
deleted file mode 100644
index 060fff9e30..0000000000
--- a/explorer/src/lib/components/__tests__/ProvisionersList.spec.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { slice } from "lamb";
-
-import { enrichedProvisioners } from "$lib/mock-data";
-
-import { ProvisionersList } from "..";
-
-describe("Provisioners List", () => {
- const provisioners = slice(enrichedProvisioners, 0, 1)[0];
-
- /** @type {import("svelte").ComponentProps} */
- const baseProps = { data: provisioners };
-
- afterEach(cleanup);
-
- it("renders the `ProvisionersList` component", () => {
- const { container } = render(ProvisionersList, baseProps);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/ProvisionersTable.spec.js b/explorer/src/lib/components/__tests__/ProvisionersTable.spec.js
deleted file mode 100644
index cfac6cfd8d..0000000000
--- a/explorer/src/lib/components/__tests__/ProvisionersTable.spec.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { slice } from "lamb";
-import { enrichedProvisioners } from "$lib/mock-data";
-
-import { ProvisionersTable } from "..";
-
-describe("Provisioners Table", () => {
- const data = slice(enrichedProvisioners, 0, 10);
-
- const baseProps = {
- data: data,
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("should render the `ProvisionersTable` component", () => {
- const { container } = render(ProvisionersTable, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/SearchNotification.spec.js b/explorer/src/lib/components/__tests__/SearchNotification.spec.js
deleted file mode 100644
index 8872014e51..0000000000
--- a/explorer/src/lib/components/__tests__/SearchNotification.spec.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-import { SearchNotification } from "../";
-
-describe("Search Notification", () => {
- const baseProps = {
- data: {
- query: "some query text",
- res: [],
- },
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- const eventHandler = vi.fn();
-
- afterEach(() => {
- cleanup();
- eventHandler.mockClear();
- });
-
- it("renders the Search Notification component with the query string", () => {
- const { container } = render(SearchNotification, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the Search Notification component with a Error message", () => {
- const props = {
- ...baseProps,
- data: {
- query: "some query text",
- res: new Error("HTTP Request failed - failed"),
- },
- };
- const { container } = render(SearchNotification, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should dispatch a 'close' event when the button is clicked", async () => {
- const { component, getByRole } = render(SearchNotification, baseOptions);
-
- component.$on("close", eventHandler);
-
- const button = getByRole("button");
- await fireEvent.click(button);
- expect(eventHandler).toHaveBeenCalledOnce();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/StaleDataNotice.spec.js b/explorer/src/lib/components/__tests__/StaleDataNotice.spec.js
deleted file mode 100644
index 0def6d37b5..0000000000
--- a/explorer/src/lib/components/__tests__/StaleDataNotice.spec.js
+++ /dev/null
@@ -1,103 +0,0 @@
-import {
- afterAll,
- afterEach,
- beforeEach,
- describe,
- expect,
- it,
- vi,
-} from "vitest";
-import { act, cleanup, render } from "@testing-library/svelte";
-import { marketDataStore } from "$lib/stores";
-import { StaleDataNotice } from "../";
-
-const mockedReadableStore = await vi.hoisted(async () => {
- const { mockReadableStore } = await import("$lib/dusk/test-helpers");
- return mockReadableStore({
- data: null,
- error: null,
- isLoading: false,
- lastUpdate: null,
- });
-});
-
-vi.mock("$lib/stores", async (importOriginal) => {
- /** @type {typeof import("$lib/stores")} */
- const original = await importOriginal();
-
- return {
- ...original,
- marketDataStore: {
- ...mockedReadableStore,
- isDataStale: vi.fn(() => false),
- },
- };
-});
-
-describe("StaleDataNotice", () => {
- const initialState = structuredClone(
- mockedReadableStore.getMockedStoreValue()
- );
-
- beforeEach(() => {
- mockedReadableStore.setMockedStoreValue(initialState);
- });
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.doUnmock("$lib/stores");
- });
-
- it("does not render the Stale Data notice if data is not stale", () => {
- mockedReadableStore.setMockedStoreValue({
- ...initialState,
- data: { data: "some data" },
- lastUpdate: new Date(),
- });
-
- const { container } = render(StaleDataNotice, { target: document.body });
- expect(container.childElementCount).toBe(0);
- });
-
- it("renders the Stale Data notice if data is stale", async () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 20));
-
- mockedReadableStore.setMockedStoreValue({
- ...initialState,
- data: { data: "some data" },
- lastUpdate: new Date(),
- });
-
- vi.mocked(marketDataStore.isDataStale).mockReturnValueOnce(true);
-
- const { container } = render(StaleDataNotice, { target: document.body });
-
- expect(container.firstChild).toMatchSnapshot();
-
- vi.useRealTimers();
- });
-
- it("should react to data changes", async () => {
- mockedReadableStore.setMockedStoreValue({
- ...initialState,
- lastUpdate: null,
- });
-
- const { container } = render(StaleDataNotice, { target: document.body });
-
- expect(container.childElementCount).toBe(0);
-
- vi.mocked(marketDataStore.isDataStale).mockReturnValueOnce(true);
-
- await act(() => {
- mockedReadableStore.setMockedStoreValue({
- ...initialState,
- lastUpdate: new Date(),
- });
- });
-
- expect(container.firstChild).toHaveClass("dusk-icon");
- });
-});
diff --git a/explorer/src/lib/components/__tests__/Table.spec.js b/explorer/src/lib/components/__tests__/Table.spec.js
deleted file mode 100644
index b3c7a98800..0000000000
--- a/explorer/src/lib/components/__tests__/Table.spec.js
+++ /dev/null
@@ -1,56 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { Table, TableBody, TableCell, TableHead, TableRow } from "../table";
-
-describe("Table", () => {
- afterEach(cleanup);
-
- it("renders the Table component", () => {
- const { container } = render(Table);
-
- expect(container.querySelector(".table-container")).toBeTruthy();
- expect(container.querySelector(".table")).toBeTruthy();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the TableBody component", () => {
- const { container } = render(TableBody);
-
- expect(container.querySelector(".table__body")).toBeTruthy();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the TableCell component", () => {
- const { container } = render(TableCell);
-
- expect(container.querySelector(".table__data-cell")).toBeTruthy();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the TableCell component as a head cell", () => {
- const { container } = render(TableCell, { props: { type: "th" } });
-
- expect(container.querySelector(".table__header-cell")).toBeTruthy();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the TableHead component", () => {
- const { container } = render(TableHead);
-
- expect(container.querySelector(".table__head")).toBeTruthy();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the TableRow component", () => {
- const { container } = render(TableRow);
-
- expect(container.querySelector(".table__row")).toBeTruthy();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/TextboxAndButton.spec.js b/explorer/src/lib/components/__tests__/TextboxAndButton.spec.js
deleted file mode 100644
index 03ae6e885c..0000000000
--- a/explorer/src/lib/components/__tests__/TextboxAndButton.spec.js
+++ /dev/null
@@ -1,84 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { mdiMagnify } from "@mdi/js";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-import { TextboxAndButton } from "..";
-
-describe("TextField", () => {
- afterEach(cleanup);
-
- /** @type {import("svelte").ComponentProps} */
- const baseProps = {
- className: "foo bar",
- icon: {
- path: mdiMagnify,
- position: "after",
- size: "default",
- },
- placeholder: "Search",
- };
-
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- it("renders the component with default values", async () => {
- const { getByRole, container } = render(TextboxAndButton, baseOptions);
-
- const input = getByRole("textbox");
- const button = getByRole("button");
-
- expect(input).toBeInTheDocument();
- expect(button).toBeInTheDocument();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("updates input value on change", async () => {
- const { getByRole, container } = render(TextboxAndButton, baseOptions);
- const input = getByRole("textbox");
-
- await fireEvent.input(input, { target: { value: "test value" } });
-
- expect(input).toHaveValue("test value");
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("triggers click event on button click", async () => {
- const { getByRole, component } = render(TextboxAndButton, baseOptions);
- const button = getByRole("button");
-
- const mockClickHandler = vi.fn();
- component.$on("click", mockClickHandler);
- await fireEvent.click(button);
-
- expect(mockClickHandler).toHaveBeenCalledOnce();
- });
-
- it("focuses input on focus() call", async () => {
- const { getByRole, component } = render(TextboxAndButton);
- const input = getByRole("textbox");
-
- component.focus();
- expect(input).toHaveFocus();
- });
-
- it("should expose a method to select the element's text", () => {
- const { component, getByRole } = render(TextboxAndButton, {
- ...baseProps,
- value: "some input text",
- });
-
- const input = /** @type {HTMLInputElement} */ (getByRole("textbox"));
-
- component.select();
-
- const selectedText = input.value.substring(
- Number(input.selectionStart),
- Number(input.selectionEnd)
- );
-
- expect(selectedText).toBe("some input text");
- });
-});
diff --git a/explorer/src/lib/components/__tests__/TransactionDetails.spec.js b/explorer/src/lib/components/__tests__/TransactionDetails.spec.js
deleted file mode 100644
index a8924eda3f..0000000000
--- a/explorer/src/lib/components/__tests__/TransactionDetails.spec.js
+++ /dev/null
@@ -1,68 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-
-import { apiMarketData, gqlTransaction } from "$lib/mock-data";
-import { transformTransaction } from "$lib/chain-info";
-
-import { TransactionDetails } from "..";
-
-describe("Transaction Details", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 20));
-
- const baseProps = {
- data: transformTransaction(gqlTransaction.tx),
- error: null,
- loading: false,
- market: {
- currentPrice: apiMarketData.market_data.current_price,
- marketCap: apiMarketData.market_data.market_cap,
- },
- };
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("renders the Transaction Details component", () => {
- const { container } = render(TransactionDetails, baseProps);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the Transaction Details component with the memo decoded", async () => {
- const { container, getAllByRole } = render(TransactionDetails, baseProps);
-
- await fireEvent.click(getAllByRole("switch")[0]);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the Transaction Details component with the payload visible", async () => {
- const { container, getAllByRole } = render(TransactionDetails, baseProps);
-
- await fireEvent.click(getAllByRole("switch")[1]);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should be able to render the details when they contain blob hashes", () => {
- const props = {
- ...baseProps,
- data: {
- ...baseProps.data,
- blobHashes: [
- "0261047715f0e937f3ab3d6bdfb1bf1894995f89f64ed19a26a1d59bb2d7b629",
- "b3d5296139ba0f44912b87a19b47ea7f229131182405d9f082c5fbbeed8c121b",
- "8f6bce4e1f233d6de022e3ac1ab3a262695991460e9f78eca288fd623083142f",
- ],
- },
- };
-
- const { container } = render(TransactionDetails, props);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/TransactionStatus.spec.js b/explorer/src/lib/components/__tests__/TransactionStatus.spec.js
deleted file mode 100644
index 96d8ae028c..0000000000
--- a/explorer/src/lib/components/__tests__/TransactionStatus.spec.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-
-import { TransactionStatus } from "..";
-
-describe("TransactionStatus", () => {
- const baseProps = {
- errorMessage: "",
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("should render the transaction status", () => {
- const { container } = render(TransactionStatus, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should pass additional class names to the rendered `Badge` component", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- };
-
- const { container } = render(TransactionStatus, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the status as error if it receives an error message", () => {
- const props = {
- ...baseProps,
- errorMessage: "Transaction failed",
- };
-
- const { container } = render(TransactionStatus, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should add tooltip info if it receives an error message and the related property is set", () => {
- const props = {
- ...baseProps,
- errorMessage: "Transaction failed",
- showErrorTooltip: true,
- };
-
- const { container } = render(TransactionStatus, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("shouldn't add tooltip info if there's no error message, even if the related property is set to `true`", () => {
- const props = {
- ...baseProps,
- showErrorTooltip: true,
- };
-
- const { container } = render(TransactionStatus, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/TransactionsCard.spec.js b/explorer/src/lib/components/__tests__/TransactionsCard.spec.js
deleted file mode 100644
index be04bcca08..0000000000
--- a/explorer/src/lib/components/__tests__/TransactionsCard.spec.js
+++ /dev/null
@@ -1,77 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { compose, mapWith, take } from "lamb";
-
-import { gqlTransactions } from "$lib/mock-data";
-import { transformTransaction } from "$lib/chain-info";
-
-import { TransactionsCard } from "..";
-
-describe("Transactions Card", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 30));
-
- const getTenTransactions = compose(mapWith(transformTransaction), take(10));
- const data = getTenTransactions(gqlTransactions.transactions);
-
- const baseProps = {
- error: null,
- isSmallScreen: false,
- loading: false,
- txns: null,
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("should render the `TransactionsCard` component", () => {
- const { container } = render(TransactionsCard, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should disable the `Show More` button if the card is in the loading state", async () => {
- const loading = true;
-
- const { container, getByRole } = render(TransactionsCard, {
- ...baseOptions,
- props: { ...baseProps, loading },
- });
-
- expect(getByRole("button", { name: "Show More" })).toBeDisabled();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should disable the `Show More` button if there is no more data to display", async () => {
- const loading = false;
- const txns = data;
-
- const { container, getByRole } = render(TransactionsCard, {
- ...baseOptions,
- props: { ...baseProps, loading, txns },
- });
-
- expect(getByRole("button", { name: "Show More" })).toBeDisabled();
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should hide the `Show More` button if an error has occurred", async () => {
- const props = { ...baseProps, error: new Error("error") };
-
- const { container } = render(TransactionsCard, {
- ...baseOptions,
- props: { ...props, error: new Error("error") },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/TransactionsList.spec.js b/explorer/src/lib/components/__tests__/TransactionsList.spec.js
deleted file mode 100644
index aaa2bc50fa..0000000000
--- a/explorer/src/lib/components/__tests__/TransactionsList.spec.js
+++ /dev/null
@@ -1,80 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-
-import { gqlTransaction } from "$lib/mock-data";
-import { transformTransaction } from "$lib/chain-info";
-
-import { TransactionsList } from "..";
-
-/** @param {HTMLElement} container */
-function getTimeElement(container) {
- return /** @type {HTMLTimeElement} */ (container.querySelector("time"));
-}
-
-describe("Transactions List", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 20));
-
- const transaction = transformTransaction(gqlTransaction.tx);
-
- /** @type {import("svelte").ComponentProps} */
- const baseProps = {
- data: transaction,
- mode: "full",
- };
-
- const timeRefreshInterval = 1000;
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it('should render the `TransactionsList` component in "full" mode', () => {
- const { container } = render(TransactionsList, baseProps);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it('should render the `TransactionsList` component in "compact" mode', () => {
- /** @type {import("svelte").ComponentProps} */
- const props = {
- ...baseProps,
- mode: "compact",
- };
- const { container } = render(TransactionsList, { ...baseProps, ...props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should auto-refresh relative times when the related prop is set to true", async () => {
- const props = {
- ...baseProps,
- data: {
- ...transaction,
- date: new Date(),
- },
- };
- const { container, rerender } = render(TransactionsList, props);
- const timeElement = getTimeElement(container);
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"now"`);
-
- await vi.advanceTimersByTimeAsync(timeRefreshInterval * 3);
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"now"`);
-
- await rerender({ ...props, autoRefreshTime: true });
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"3 seconds ago"`);
-
- await vi.advanceTimersByTimeAsync(timeRefreshInterval);
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"4 seconds ago"`);
-
- await vi.advanceTimersByTimeAsync(timeRefreshInterval);
-
- expect(timeElement.innerHTML).toMatchInlineSnapshot(`"5 seconds ago"`);
- });
-});
diff --git a/explorer/src/lib/components/__tests__/TransactionsTable.spec.js b/explorer/src/lib/components/__tests__/TransactionsTable.spec.js
deleted file mode 100644
index b26687e978..0000000000
--- a/explorer/src/lib/components/__tests__/TransactionsTable.spec.js
+++ /dev/null
@@ -1,57 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { mapWith, slice } from "lamb";
-
-import { gqlTransactions } from "$lib/mock-data";
-import { transformTransaction } from "$lib/chain-info";
-
-import { TransactionsTable } from "..";
-
-describe("Transactions Table", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 30));
-
- const transformTransactions = mapWith(transformTransaction);
- const data = slice(
- transformTransactions(gqlTransactions.transactions),
- 0,
- 10
- );
-
- /** @type {import("svelte").ComponentProps} */
- const baseProps = {
- data: data,
- mode: "full",
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it('should render the `TransactionsTable` component in "full" mode', () => {
- const { container } = render(TransactionsTable, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it('should render the `TransactionsTable` component in "compact" mode', () => {
- /** @type {import("svelte").ComponentProps} */
- const props = { ...baseProps, mode: "compact" };
- const { container } = render(TransactionsTable, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should pass additional class names to the rendered element", () => {
- const props = { ...baseProps, className: "foo bar" };
- const { container } = render(TransactionsTable, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/WorldMap.spec.js b/explorer/src/lib/components/__tests__/WorldMap.spec.js
deleted file mode 100644
index 91522ff7cf..0000000000
--- a/explorer/src/lib/components/__tests__/WorldMap.spec.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { addCountAndUnique } from "$lib/chain-info";
-import { WorldMap } from "..";
-import { apiNodeLocations } from "$lib/mock-data";
-
-describe("World Map", () => {
- afterEach(cleanup);
-
- it("renders the WorldMap component with nodes", () => {
- const props = {
- nodes: addCountAndUnique(apiNodeLocations),
- };
- const { container } = render(WorldMap, props);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the WorldMap component even if nodes is empty array", () => {
- const props = {
- nodes: [],
- };
- const { container } = render(WorldMap, props);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/AppAnchor.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/AppAnchor.spec.js.snap
deleted file mode 100644
index 9aab49960c..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/AppAnchor.spec.js.snap
+++ /dev/null
@@ -1,13 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`AppAnchor > should render an \`Anchor\` with the base path prepended to the \`href\` attribute, if the \`href\` represents an absolute URL 1`] = `
-
-
- some text
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/AppAnchorButton.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/AppAnchorButton.spec.js.snap
deleted file mode 100644
index 3926c70253..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/AppAnchorButton.spec.js.snap
+++ /dev/null
@@ -1,12 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`AppAnchorButton > should render an \`AnchorButton\` with the base path prepended to the \`href\` attribute, if the \`href\` represents an absolute URL 1`] = `
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/AppImage.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/AppImage.spec.js.snap
deleted file mode 100644
index 961eafd70d..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/AppImage.spec.js.snap
+++ /dev/null
@@ -1,11 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`AppImage > should render an HTML image forwarding all attributes but with the base path prepended to the \`src\` if it's an absolute URL 1`] = `
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/AppSource.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/AppSource.spec.js.snap
deleted file mode 100644
index 7fad866166..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/AppSource.spec.js.snap
+++ /dev/null
@@ -1,21 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`AppSource > src attribute > should render a source element forwarding all attributes but with the base path prepended to the \`src\` if it's an absolute URL 1`] = `
-
-`;
-
-exports[`AppSource > srcset attribute > should render a source element forwarding all attributes but with the base path prepended to absolute URLs in the \`srcset\` 1`] = `
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/BlockDetails.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/BlockDetails.spec.js.snap
deleted file mode 100644
index a01e258904..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/BlockDetails.spec.js.snap
+++ /dev/null
@@ -1,1031 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Block Details > renders the Block Details component 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 495,868
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f
-
-
-
-
-
-
-
-
-
-
-
- Tue, 16 Apr 2024 20:07:02 GMT (last month)
-
-
-
-
-
-
-
-
-
-
- transactions
-
-
-
-
- 2
-
-
-
-
-
-
-
-
- block fees paid
-
-
-
-
- 0.000580718
- DUSK
-
-
-
-
-
-
-
-
- block reward
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
-
- block gas limit
-
-
-
-
- 5,000,000,000
-
-
-
-
-
-
- 580,718
-
-
-
-
-
-
-
-
-
-
-
- average gas price
-
-
-
-
- 1
-
-
-
-
-
-
-
-
- state root hash
-
-
-
-
-
- 20bb0a677b93f084afadfd34bec3ac3feee33a020b81d9549afa2268e8543acb
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Block Details > should render the Block Details component with the payload visible 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 495,868
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f
-
-
-
-
-
-
-
-
-
-
-
- Tue, 16 Apr 2024 20:07:02 GMT (last month)
-
-
-
-
-
-
-
-
-
-
- transactions
-
-
-
-
- 2
-
-
-
-
-
-
-
-
- block fees paid
-
-
-
-
- 0.000580718
- DUSK
-
-
-
-
-
-
-
-
- block reward
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
-
- block gas limit
-
-
-
-
- 5,000,000,000
-
-
-
-
-
-
- 580,718
-
-
-
-
-
-
-
-
-
-
-
- average gas price
-
-
-
-
- 1
-
-
-
-
-
-
-
-
- state root hash
-
-
-
-
-
- 20bb0a677b93f084afadfd34bec3ac3feee33a020b81d9549afa2268e8543acb
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- "version": 1,
- "height": 21455,
- "timestamp": 1726246600,
- "prev_block_hash": "940d0a9a35f30103554e9d74ae504d4a3f679bda7b925df9bff1002424a5a748",
- "seed": "a6b11ca51a17bbe4899e3a924d2c7e087d2836800f276db9cf3e36516b4bf9a99aa8507567cbc3ab9a2c3f0390a47748",
- "state_hash": "70a544fbea9914958dc3dba1824956a1b6de37fbfbc42d2c3e219793b8ce8017",
- "event_hash": "02aee0f39c5936122a5ce52aacf4cf29949dd6d3eec38979ddc1bbb0b6192e34",
- "generator_bls_pubkey": "244Sywxj7PuMHpcPxemaXLcrY5rPgztra6H9Vz8cU1Ro5v23SxKTfVqr2yS7NXAXE1iq59ndn4aMZmYxuzu3Te3e9fokQKTUkYvFxYg2P2E8EEg1gWUbs3AFL2aNx62HQd7r",
- "txroot": "522addb8dae45b71ef281a76c86c6babef0678c8bc2d58d617dc33fa7722b021",
- "faultroot": "0000000000000000000000000000000000000000000000000000000000000000",
- "gas_limit": 5000000000,
- "iteration": 0,
- "prev_block_cert": {
- "result": {
- "Valid": "940d0a9a35f30103554e9d74ae504d4a3f679bda7b925df9bff1002424a5a748"
- },
- "validation": {
- "bitset": 256882,
- "aggregate_signature": "877eedaf65d9fab0b309f5f8b01df38a379612854aa6fb63009b2b3d6c92de494d79d8c612daae50e33cd3b1418a9a9e"
- },
- "ratification": {
- "bitset": 386423,
- "aggregate_signature": "a98a84b6ba9a88fde1a063538807aa35b2af1c52360bf564d9c19abd3d22ba9be9f87ce38c97b580fc05df8c920b9da4"
- }
- },
- "failed_iterations": [],
- "hash": "22c7e588560a133d1c142c2fe4c067e8b500ced43d5f9ae19cf55f1caf4dd899"
-}
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/BlocksCard.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/BlocksCard.spec.js.snap
deleted file mode 100644
index 345b8a9481..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/BlocksCard.spec.js.snap
+++ /dev/null
@@ -1,817 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Blocks Card > should disable the \`Show More\` button if there is no more data to display 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1,365,454
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,453
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,452
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,451
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,450
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,449
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,448
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,447
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,446
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,445
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Blocks Card > should disable the \`Show More\` button is the card is in the loading state 1`] = `
-
-`;
-
-exports[`Blocks Card > should hide the \`Show More\` button if an error has occurred 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
- Retry
-
-
-
-
-
-
-`;
-
-exports[`Blocks Card > should render the \`BlocksCard\` component 1`] = `
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/BlocksList.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/BlocksList.spec.js.snap
deleted file mode 100644
index 07910e977d..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/BlocksList.spec.js.snap
+++ /dev/null
@@ -1,130 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Blocks List > renders the Blocks List component 1`] = `
-
-
-
-
- block
-
-
-
-
-
- 495,868
-
-
-
-
-
-
- relative time
-
-
-
-
-
- last month
-
-
-
-
-
-
- average gas price
-
-
-
-
- 1
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 2
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/BlocksTable.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/BlocksTable.spec.js.snap
deleted file mode 100644
index eb616025a4..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/BlocksTable.spec.js.snap
+++ /dev/null
@@ -1,653 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Blocks Table > should render the \`BlocksTable\` component 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1,365,454
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,453
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,452
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,451
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,450
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,449
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,448
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,447
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,446
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,445
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/DataAlert.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/DataAlert.spec.js.snap
deleted file mode 100644
index d0e370f313..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/DataAlert.spec.js.snap
+++ /dev/null
@@ -1,65 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`DataAlert > should render the \`DataAlert\` in the error state 1`] = `
-
-
-
-
-
-
-
-
-
-
- Retry
-
-
-
-`;
-
-exports[`DataAlert > should render the \`DataAlert\` in the no data state 1`] = `
-
-
-
-
-
-
-
-
- No data to display
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/DataCard.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/DataCard.spec.js.snap
deleted file mode 100644
index 2e870ed5cf..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/DataCard.spec.js.snap
+++ /dev/null
@@ -1,269 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`DataCard > should render the \`DataCard\` in the data state 1`] = `
-
-
-
-
-
- some text
-
-
-
-
-
-`;
-
-exports[`DataCard > should render the \`DataCard\` in the data state when loading is true 1`] = `
-
-
-
-
-
- some text
-
-
-
-
-
-`;
-
-exports[`DataCard > should render the \`DataCard\` in the error state 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
- Retry
-
-
-
-
-
-
-`;
-
-exports[`DataCard > should render the \`DataCard\` in the loading state 1`] = `
-
-`;
-
-exports[`DataCard > should render the \`DataCard\` in the no data state 1`] = `
-
-
-
-
-
-
-
-
-
-
-
- No data to display
-
-
-
-
-
-
-
-`;
-
-exports[`DataCard > should render the \`DataCard\` with a disabled button 1`] = `
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/DataGuard.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/DataGuard.spec.js.snap
deleted file mode 100644
index 43b0c3f171..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/DataGuard.spec.js.snap
+++ /dev/null
@@ -1,13 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`DataGuard > should render the \`DataGuard\` if data is present 1`] = `
-
- some text
-
-`;
-
-exports[`DataGuard > should render the \`DataGuard\` with the placeholder if no data is passed 1`] = `
-
- - - -
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/DetailList.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/DetailList.spec.js.snap
deleted file mode 100644
index 242bc71dfc..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/DetailList.spec.js.snap
+++ /dev/null
@@ -1,11 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Detail List > renders the Detail List component 1`] = `
-
-
- some text
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/Footer.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/Footer.spec.js.snap
deleted file mode 100644
index 06b396969f..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/Footer.spec.js.snap
+++ /dev/null
@@ -1,85 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Footer > renders the Footer component 1`] = `
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/ListItem.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/ListItem.spec.js.snap
deleted file mode 100644
index 1ba1b0f39d..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/ListItem.spec.js.snap
+++ /dev/null
@@ -1,27 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`List Item > renders the List Item component 1`] = `
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/Navbar.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/Navbar.spec.js.snap
deleted file mode 100644
index 382e7f8320..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/Navbar.spec.js.snap
+++ /dev/null
@@ -1,129 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Navbar > renders the Navbar component 1`] = `
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersCard.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersCard.spec.js.snap
deleted file mode 100644
index e8cfa50b92..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersCard.spec.js.snap
+++ /dev/null
@@ -1,1674 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Provisioners Card > should disable the \`Show More\` button if there is no more data to display 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
- m6dy2gz3jC...tW82FWtnpf
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,121
- .
-
- 26
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 2
-
-
-
-
-
- m9dVuRgr3C...94r33pFQyz
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 6,923
- .
-
- 84
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 3
-
-
-
-
-
- mTgXDqkyVa...gAseybAsfU
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,518
- .
-
- 76
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 4
-
-
-
-
-
- mUUpjnXow2...SfzQcywzaW
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,653
- .
-
- 54
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 5
-
-
-
-
-
- mXKJ97xTtr...JgkCK2o7x4
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,512
- .
-
- 06
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 6
-
-
-
-
-
- mdXsA3Ee1Y...K8VZPimZ2J
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,973
- .
-
- 12
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 7
-
-
-
-
-
- mHGvQ9Xdjz...iTfxTvgn7f
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 4,800
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 4,320
-
-
-
-
-
- 89
- .
-
- 51
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 8
-
-
-
-
-
- mUJHMDEBiT...FHNxRNhoAA
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 4,800
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 23,760
-
-
-
-
-
- 73
- .
-
- 80
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 9
-
-
-
-
-
- mLx5HUo5Ph...BrRgEzoka8
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 1,234
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 4,320
-
-
-
-
-
- 29
- .
-
- 63
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 10
-
-
-
-
-
- mWvq9EWD9b...oU7BY2oEDe
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 1,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 8,640
-
-
-
-
-
- 1
- .
-
- 61
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Provisioners Card > should disable the \`Show More\` button is the card is in the loading state 1`] = `
-
-`;
-
-exports[`Provisioners Card > should hide the \`Show More\` button if an error has occurred 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
- Retry
-
-
-
-
-
-
-`;
-
-exports[`Provisioners Card > should render the \`ProvisionersCard\` component 1`] = `
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersList.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersList.spec.js.snap
deleted file mode 100644
index 31f3d119b8..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersList.spec.js.snap
+++ /dev/null
@@ -1,200 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Provisioners List > renders the \`ProvisionersList\` component 1`] = `
-
-
-
-
- Rank
-
-
-
-
- #
- 1
-
-
-
-
-
- Staking address
-
-
-
-
-
- n3qToJrMkYCnUkJkFG2a7fEVn...AmwiScS256TCMZZjmEq6aNuj6
-
-
-
-
-
-
-
-
- Owner Key
-
-
-
-
-
- No
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 1,000,000
- DUSK
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
- accumulated reward
-
-
-
-
- 12,178.759788262
- DUSK
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersTable.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersTable.spec.js.snap
deleted file mode 100644
index 00e066b773..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/ProvisionersTable.spec.js.snap
+++ /dev/null
@@ -1,1509 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Provisioners Table > should render the \`ProvisionersTable\` component 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
- n3qToJrMkY...jmEq6aNuj6
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 1,000,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 12,178
- .
-
- 76
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 2
-
-
-
-
-
- s9mQHPDuKi...XxiM4ksRbH
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 510,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 6,480
-
-
-
-
-
- 780
- .
-
- 15
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 3
-
-
-
-
-
- sX4JooVNAF...fCFZMqQhtz
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 505,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 38,880
-
-
-
-
-
- 2,063
- .
-
- 43
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 4
-
-
-
-
-
- scRkV9xaMC...XwXrJMpbfo
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 504,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 15,120
-
-
-
-
-
- 5,190
- .
-
- 55
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 5
-
-
-
-
-
- m6dy2gz3jC...tW82FWtnpf
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,121
- .
-
- 26
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 6
-
-
-
-
-
- m9dVuRgr3C...94r33pFQyz
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 6,923
- .
-
- 84
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 7
-
-
-
-
-
- mTgXDqkyVa...gAseybAsfU
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,518
- .
-
- 76
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 8
-
-
-
-
-
- mUUpjnXow2...SfzQcywzaW
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,653
- .
-
- 54
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 9
-
-
-
-
-
- mXKJ97xTtr...JgkCK2o7x4
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,512
- .
-
- 06
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 10
-
-
-
-
-
- mdXsA3Ee1Y...K8VZPimZ2J
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,973
- .
-
- 12
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/Rerender.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/Rerender.spec.js.snap
deleted file mode 100644
index 1712649963..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/Rerender.spec.js.snap
+++ /dev/null
@@ -1,7 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`updates the slot content every second > should render with slot data 1`] = `
-
- some text
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/SearchNotification.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/SearchNotification.spec.js.snap
deleted file mode 100644
index 94b35ba7d6..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/SearchNotification.spec.js.snap
+++ /dev/null
@@ -1,90 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Search Notification > renders the Search Notification component with a Error message 1`] = `
-
-
-
-
- HTTP Request failed - failed
-
-
-
-
-`;
-
-exports[`Search Notification > renders the Search Notification component with the query string 1`] = `
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/StaleDataNotice.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/StaleDataNotice.spec.js.snap
deleted file mode 100644
index 0688a1f332..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/StaleDataNotice.spec.js.snap
+++ /dev/null
@@ -1,18 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`StaleDataNotice > renders the Stale Data notice if data is stale 1`] = `
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/Table.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/Table.spec.js.snap
deleted file mode 100644
index 6a95e224cc..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/Table.spec.js.snap
+++ /dev/null
@@ -1,41 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Table > renders the Table component 1`] = `
-
-`;
-
-exports[`Table > renders the TableBody component 1`] = `
-
-`;
-
-exports[`Table > renders the TableCell component 1`] = `
-
-`;
-
-exports[`Table > renders the TableCell component as a head cell 1`] = `
-
-`;
-
-exports[`Table > renders the TableHead component 1`] = `
-
-`;
-
-exports[`Table > renders the TableRow component 1`] = `
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/TextboxAndButton.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/TextboxAndButton.spec.js.snap
deleted file mode 100644
index c5bbd83f97..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/TextboxAndButton.spec.js.snap
+++ /dev/null
@@ -1,65 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`TextField > renders the component with default values 1`] = `
-
-`;
-
-exports[`TextField > updates input value on change 1`] = `
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/TransactionDetails.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/TransactionDetails.spec.js.snap
deleted file mode 100644
index 43b9f65141..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/TransactionDetails.spec.js.snap
+++ /dev/null
@@ -1,2794 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Transaction Details > renders the Transaction Details component 1`] = `
-
-`;
-
-exports[`Transaction Details > renders the Transaction Details component with the memo decoded 1`] = `
-
-`;
-
-exports[`Transaction Details > renders the Transaction Details component with the payload visible 1`] = `
-
-
-
-
-
-
-
-
-
-
-
- 4877687c2dbf154248d3ddee9...056f82a46819da041d4ac0e04
-
-
-
-
-
-
-
-
-
-
-
-
- block height
-
-
-
-
-
- 487,166
-
-
-
-
-
-
-
-
- Tue, 16 Apr 2024 06:39:09 GMT (last month)
-
-
-
-
-
-
-
-
-
- kT5BamV2Xq6JpnoCq9ux7EmYR...HdCeKtzExREcXZsmmMRLwKbXj
-
-
-
-
-
-
-
-
-
-
-
-
- mHWZo9qYUhqp2SEmtWN7EuDKF...GQZwCaeCS8uA63ZPKnGpjiUnj
-
-
-
-
-
-
-
-
-
-
-
- 9,812.378912731 DUSK ($3,614.3897725045)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
- transaction fee
-
-
-
-
- 0.000290766 DUSK ($0.0001071037)
-
-
-
-
-
-
-
-
-
-
- 0.000000001 DUSK ($0.0000000004)
-
-
-
-
-
-
-
-
-
-
-
-
- transaction gas limit
-
-
-
-
- 500000000
-
-
-
-
-
-
- 290766
-
-
-
-
-
-
- 156
-
-
-
-
-
-
-
- some notes about the transaction
-
-
-
-
-
-
-
-
-
-
-
- {
- "type": "moonlight",
- "sender": "kT5BamV2Xq6JpnoCq9ux7EmYRShdg4W1sLzyGFUqicmZTqxeMWLiTGpBWNhpjiPtKqvWFFmdxVBAjts3oEnZgPfuiyTRwDdASJQjTSy7wNhHdCeKtzExREcXZsmmMRLwKbXj",
- "receiver": "mHWZo9qYUhqp2SEmtWN7EuDKFwVrjgdEyzpHdfLB6R9scRAq5EkUQyLB9fBfCGt1wjxfEpFxHq9MBPVVPY3Lk3JKnQLWZzj7UYAR4mGmeGQZwCaeCS8uA63ZPKnGpjiUnj",
- "value": 9812378912731,
- "nonce": 156,
- "deposit": 0,
- "fee": {
- "refund_address": "kT5BamV2Xq6JpnoCq9ux7EmYRShdg4W1sLzyGFUqicmZTqxeMWLiTGpBWNhpjiPtKqvWFFmdxVBAjts3oEnZgPfuiyTRwDdASJQjTSy7wNhHdCeKtzExREcXZsmmMRLwKbXj",
- "gas_limit": "2500000",
- "gas_price": "1"
- },
- "call": null,
- "is_deploy": false,
- "memo": null
-}
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Transaction Details > should be able to render the details when they contain blob hashes 1`] = `
-
-
-
-
-
-
-
-
-
-
-
- 4877687c2dbf154248d3ddee9...056f82a46819da041d4ac0e04
-
-
-
-
-
-
-
-
-
-
-
-
- block height
-
-
-
-
-
- 487,166
-
-
-
-
-
-
-
-
- Tue, 16 Apr 2024 06:39:09 GMT (last month)
-
-
-
-
-
-
-
-
-
- kT5BamV2Xq6JpnoCq9ux7EmYR...HdCeKtzExREcXZsmmMRLwKbXj
-
-
-
-
-
-
-
-
-
-
-
-
- mHWZo9qYUhqp2SEmtWN7EuDKF...GQZwCaeCS8uA63ZPKnGpjiUnj
-
-
-
-
-
-
-
-
-
-
-
- 9,812.378912731 DUSK ($3,614.3897725045)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
- transaction fee
-
-
-
-
- 0.000290766 DUSK ($0.0001071037)
-
-
-
-
-
-
-
-
-
-
- 0.000000001 DUSK ($0.0000000004)
-
-
-
-
-
-
-
-
-
-
-
-
- transaction gas limit
-
-
-
-
- 500000000
-
-
-
-
-
-
- 290766
-
-
-
-
-
-
- 156
-
-
-
-
-
-
-
- some notes about the transaction
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Blob hashes
-
-
-
-
-
-
-
- 0261047715f0e937f3ab3d6bd...9f64ed19a26a1d59bb2d7b629
-
-
-
-
-
-
-
- b3d5296139ba0f44912b87a19...82405d9f082c5fbbeed8c121b
-
-
-
-
-
-
-
- 8f6bce4e1f233d6de022e3ac1...60e9f78eca288fd623083142f
-
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/TransactionStatus.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/TransactionStatus.spec.js.snap
deleted file mode 100644
index c81eb3c61a..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/TransactionStatus.spec.js.snap
+++ /dev/null
@@ -1,44 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`TransactionStatus > should add tooltip info if it receives an error message and the related property is set 1`] = `
-
- failed
-
-`;
-
-exports[`TransactionStatus > should pass additional class names to the rendered \`Badge\` component 1`] = `
-
- success
-
-`;
-
-exports[`TransactionStatus > should render the status as error if it receives an error message 1`] = `
-
- failed
-
-`;
-
-exports[`TransactionStatus > should render the transaction status 1`] = `
-
- success
-
-`;
-
-exports[`TransactionStatus > shouldn't add tooltip info if there's no error message, even if the related property is set to \`true\` 1`] = `
-
- success
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/TransactionsCard.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/TransactionsCard.spec.js.snap
deleted file mode 100644
index 8f6b339f04..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/TransactionsCard.spec.js.snap
+++ /dev/null
@@ -1,1474 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Transactions Card > should disable the \`Show More\` button if the card is in the loading state 1`] = `
-
-`;
-
-exports[`Transactions Card > should disable the \`Show More\` button if there is no more data to display 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008220846
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221266
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220422
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220926
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221243
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220934
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220989
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221018
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Transactions Card > should hide the \`Show More\` button if an error has occurred 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
- Retry
-
-
-
-
-
-
-`;
-
-exports[`Transactions Card > should render the \`TransactionsCard\` component 1`] = `
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/TransactionsList.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/TransactionsList.spec.js.snap
deleted file mode 100644
index 28d2b59b0d..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/TransactionsList.spec.js.snap
+++ /dev/null
@@ -1,352 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Transactions List > should render the \`TransactionsList\` component in "compact" mode 1`] = `
-
-
-
-
- ID
-
-
-
-
-
- 4877687c2dbf154248d3ddee9...056f82a46819da041d4ac0e04
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- last month
-
-
-
-
-
-
-
- Fee
-
-
-
-
- 0.000290766
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-`;
-
-exports[`Transactions List > should render the \`TransactionsList\` component in "full" mode 1`] = `
-
-
-
-
- ID
-
-
-
-
-
- 4877687c2dbf154248d3ddee9...056f82a46819da041d4ac0e04
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- last month
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.000290766
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/TransactionsTable.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/TransactionsTable.spec.js.snap
deleted file mode 100644
index 328332368a..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/TransactionsTable.spec.js.snap
+++ /dev/null
@@ -1,3712 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Transactions Table > should pass additional class names to the rendered element 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008220846
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221266
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220422
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220926
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221243
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220934
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220989
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221018
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Transactions Table > should render the \`TransactionsTable\` component in "compact" mode 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220846
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221266
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220422
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220926
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221243
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220934
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220989
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221018
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Transactions Table > should render the \`TransactionsTable\` component in "full" mode 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008220846
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221266
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220422
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220926
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221243
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220934
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220989
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221018
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/__tests__/__snapshots__/WorldMap.spec.js.snap b/explorer/src/lib/components/__tests__/__snapshots__/WorldMap.spec.js.snap
deleted file mode 100644
index 691646ab84..0000000000
--- a/explorer/src/lib/components/__tests__/__snapshots__/WorldMap.spec.js.snap
+++ /dev/null
@@ -1,1672 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`World Map > renders the WorldMap component even if nodes is empty array 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`World Map > renders the WorldMap component with nodes 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/components/account-overview/AccountOverview.css b/explorer/src/lib/components/account-overview/AccountOverview.css
deleted file mode 100644
index f6c2e169ac..0000000000
--- a/explorer/src/lib/components/account-overview/AccountOverview.css
+++ /dev/null
@@ -1,38 +0,0 @@
-.account-overview-panel {
- display: flex;
- padding: 1rem 1.375rem;
- flex-direction: column;
- row-gap: 0.625rem;
- border-radius: 1.5rem;
- background-color: var(--surface-color);
- width: 100%;
- text-transform: uppercase;
- position: relative;
- margin-bottom: 1.25rem;
-}
-
-.account-overview-panel__header {
- display: flex;
- align-items: center;
- gap: 0.5rem;
- height: 3.9375rem;
- font-size: 1.125rem;
-}
-
-.account-overview-panel__address {
- font-weight: 500;
- font-family: var(--mono-font-family);
-}
-
-.account-overview-panel__separator {
- border: none;
- border-top: 1px solid var(--taupe-grey);
-}
-
-.account-overview-panel__details {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
- gap: 1rem;
- min-height: 3.9375rem;
- align-items: center;
-}
diff --git a/explorer/src/lib/components/account-overview/AccountOverview.svelte b/explorer/src/lib/components/account-overview/AccountOverview.svelte
deleted file mode 100644
index c7f7cae026..0000000000
--- a/explorer/src/lib/components/account-overview/AccountOverview.svelte
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {#if errorFetchingAccountStatus}
- N/A
- {:else if accountBalance !== undefined}
- {@const formatted = fixedNumberFormatter(luxToDusk(accountBalance))}
- {@const parts = formatted.split(".")}
-
- {parts[0]}.{parts[1]} DUSK
-
- {:else}
- Loading...
- {/if}
-
-
-
-
-
diff --git a/explorer/src/lib/components/app-anchor-button/AppAnchorButton.svelte b/explorer/src/lib/components/app-anchor-button/AppAnchorButton.svelte
deleted file mode 100644
index 72800f2284..0000000000
--- a/explorer/src/lib/components/app-anchor-button/AppAnchorButton.svelte
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/lib/components/app-anchor/AppAnchor.svelte b/explorer/src/lib/components/app-anchor/AppAnchor.svelte
deleted file mode 100644
index 66e2bd8055..0000000000
--- a/explorer/src/lib/components/app-anchor/AppAnchor.svelte
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
diff --git a/explorer/src/lib/components/app-image/AppImage.svelte b/explorer/src/lib/components/app-image/AppImage.svelte
deleted file mode 100644
index bcd2845199..0000000000
--- a/explorer/src/lib/components/app-image/AppImage.svelte
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/lib/components/app-source/AppSource.svelte b/explorer/src/lib/components/app-source/AppSource.svelte
deleted file mode 100644
index d7901ac5af..0000000000
--- a/explorer/src/lib/components/app-source/AppSource.svelte
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/lib/components/block-details/BlockDetails.css b/explorer/src/lib/components/block-details/BlockDetails.css
deleted file mode 100644
index 73be06c22e..0000000000
--- a/explorer/src/lib/components/block-details/BlockDetails.css
+++ /dev/null
@@ -1,82 +0,0 @@
-.block-details__list {
- display: grid;
- grid-template-columns: minmax(0, 1fr);
- font-size: 0.875rem;
- column-gap: 1.875rem;
- padding: 0 1.125rem;
-}
-
-.block-details__list-anchor {
- display: flex;
-}
-
-.block-details__gas-used.dusk-progress-bar {
- width: 12.5rem;
-}
-
-.block-details__hash {
- font-family: var(--mono-font-family);
- display: flex;
- gap: 0.625rem;
- align-items: center;
-}
-
-.block-details__payload {
- margin-top: 0.625rem;
- padding: 0.625rem 0.875rem;
- line-height: 1.3125rem;
- width: 100%;
- overflow-x: auto;
-}
-
-.block-details__payload-switch {
- position: absolute;
- right: -3.8125rem;
-}
-
-.block-details__switch-wrapper {
- display: flex;
- align-items: center;
- flex: 1 100%;
- justify-content: space-between;
-}
-
-.block-details__list .details-list__term:last-of-type {
- align-items: start;
- margin-bottom: 0.625rem;
- /*
- 3.8125rem is the sum of the switch width plus the gap
- between the switch and the dt element
- */
- width: calc(100% - 3.8125rem);
-}
-
-@media (min-width: 640px) {
- .block-details__header-heading {
- text-transform: none;
- }
-
- .block-details__list {
- display: inline-grid;
- grid-template-columns: minmax(0, auto) minmax(0, 3fr);
- }
-
- .block-details__state-hash {
- padding-top: 0rem;
- }
-
- .block-details__payload {
- margin-top: 0rem;
- }
-
- .block-details__payload-switch {
- position: relative;
- right: 0rem;
- }
-
- .block-details__list .details-list__term:last-of-type {
- align-items: start;
- margin-bottom: 0;
- width: 100%;
- }
-}
diff --git a/explorer/src/lib/components/block-details/BlockDetails.svelte b/explorer/src/lib/components/block-details/BlockDetails.svelte
deleted file mode 100644
index d128f82c06..0000000000
--- a/explorer/src/lib/components/block-details/BlockDetails.svelte
+++ /dev/null
@@ -1,219 +0,0 @@
-
-
-
-
-
-
-
-
- height
-
-
- {formatter(data.header.height)}
-
-
-
-
-
-
- hash
- {middleEllipsis(
- data.header.hash,
- calculateAdaptiveCharCount(screenWidth, 320, 1920, 14, 66)
- )}
-
-
-
-
-
-
- timestamp
- {`${data.header.date.toUTCString()} (${relativeTime})`}
-
-
-
-
- transactions
- {formatter(data.transactions.data.length)}
-
-
-
-
- block fees paid
- {formatter(luxToDusk(data.header.feespaid))} DUSK
-
-
-
-
- block reward
- {formatter(luxToDusk(data.header.reward))} DUSK
-
-
-
-
- block gas limit
- {formatter(data.transactions.stats.gasLimit)}
-
-
-
-
- gas used
-
- {formatter(data.transactions.stats.gasUsed)}
-
-
-
-
-
-
-
- average gas price
- {formatter(data.transactions.stats.averageGasPrice)}
-
-
-
-
- state root hash
- {middleEllipsis(
- data.header.statehash,
- calculateAdaptiveCharCount(screenWidth, 320, 1920, 14, 66)
- )}
-
-
-
-
-
-
-
-
- header
-
-
-
-
-
-
- {#if isPayloadToggled}
-
- {payload
- ? JSON.stringify(JSON.parse(payload), null, 2)
- : "---"}
-
- {/if}
-
-
-
-
diff --git a/explorer/src/lib/components/blocks-card/BlocksCard.svelte b/explorer/src/lib/components/blocks-card/BlocksCard.svelte
deleted file mode 100644
index 633fdd454d..0000000000
--- a/explorer/src/lib/components/blocks-card/BlocksCard.svelte
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
- loadMoreItems(),
- disabled: isLoadMoreDisabled,
- label: "Show More",
- }}
->
- {#if isSmallScreen}
-
- {#each displayedBlocks as block (block)}
-
- {/each}
-
- {:else}
-
- {/if}
-
diff --git a/explorer/src/lib/components/blocks-list/BlocksList.css b/explorer/src/lib/components/blocks-list/BlocksList.css
deleted file mode 100644
index 51ca382cdb..0000000000
--- a/explorer/src/lib/components/blocks-list/BlocksList.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.dusk-progress-bar.blocks-list__gas-used {
- width: 60%;
-}
diff --git a/explorer/src/lib/components/blocks-list/BlocksList.svelte b/explorer/src/lib/components/blocks-list/BlocksList.svelte
deleted file mode 100644
index e09f9d1a67..0000000000
--- a/explorer/src/lib/components/blocks-list/BlocksList.svelte
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
-
- block
- {formatter(data.header.height)}
-
-
-
-
- relative time
-
-
-
-
-
- average gas price
-
- {formatter(data.transactions.stats.averageGasPrice)}
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
- txn(s)
-
- {formatter(data.transactions.data.length)}
-
-
-
-
-
- rewards
-
- {formatter(luxToDusk(data.header.reward))} DUSK
-
-
-
diff --git a/explorer/src/lib/components/blocks-table/BlocksTable.css b/explorer/src/lib/components/blocks-table/BlocksTable.css
deleted file mode 100644
index f7dadede1e..0000000000
--- a/explorer/src/lib/components/blocks-table/BlocksTable.css
+++ /dev/null
@@ -1,11 +0,0 @@
-.block__fee-avg-label,
-.block__fee-total-label {
- font-weight: 500;
-}
-
-.block__time {
- display: block;
- font-size: 0.75rem;
- color: var(--color-text-secondary);
- margin-top: 0.2rem;
-}
diff --git a/explorer/src/lib/components/blocks-table/BlocksTable.svelte b/explorer/src/lib/components/blocks-table/BlocksTable.svelte
deleted file mode 100644
index 2983e097cd..0000000000
--- a/explorer/src/lib/components/blocks-table/BlocksTable.svelte
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
- Block
- Gas
- Txn(s)
- Rewards (Dusk)
-
-
-
- {#each data as block (block)}
-
-
- {numberFormatter(block.header.height)}
-
-
-
- AVG PRICE:
- {numberFormatter(block.transactions.stats.averageGasPrice)}
- USED:
- {numberFormatter(block.transactions.stats.gasUsed)}
-
- {numberFormatter(block.transactions.data.length)}
- {numberFormatter(luxToDusk(block.header.reward))}
-
- {/each}
-
-
diff --git a/explorer/src/lib/components/data-alert/DataAlert.css b/explorer/src/lib/components/data-alert/DataAlert.css
deleted file mode 100644
index 1524d45fea..0000000000
--- a/explorer/src/lib/components/data-alert/DataAlert.css
+++ /dev/null
@@ -1,13 +0,0 @@
-.alert {
- display: flex;
- flex-direction: column;
- width: 100%;
- min-height: 400px;
- justify-content: center;
- align-items: center;
- gap: 0.625rem;
-}
-
-.alert__error-message {
- text-align: center;
-}
diff --git a/explorer/src/lib/components/data-alert/DataAlert.svelte b/explorer/src/lib/components/data-alert/DataAlert.svelte
deleted file mode 100644
index 546c7d31e7..0000000000
--- a/explorer/src/lib/components/data-alert/DataAlert.svelte
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
- {#if error}
-
{
- dispatch("retry");
- }}
- variant="secondary"
- text="Retry"
- />
- {/if}
-
diff --git a/explorer/src/lib/components/data-card/DataCard.css b/explorer/src/lib/components/data-card/DataCard.css
deleted file mode 100644
index 468f582564..0000000000
--- a/explorer/src/lib/components/data-card/DataCard.css
+++ /dev/null
@@ -1,44 +0,0 @@
-.data-card {
- --header-lateral-padding: 1.125rem;
- --card-padding: 1rem;
- padding: var(--card-padding) 0 0;
-}
-
-.data-card__loading-notice {
- padding: 0 1.125rem;
-}
-
-.data-card__header {
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- align-items: center;
- gap: 0.625rem;
- padding: 0 var(--header-lateral-padding) 1rem;
-}
-
-.data-card__header-title {
- font-weight: 500;
- font-size: 1.125rem;
- line-height: 32.2px;
-}
-
-.data-card__content {
- padding-bottom: var(--card-padding);
-}
-
-.data-card__progress-bar.dusk-progress-bar {
- background-color: transparent;
- height: 0.125rem;
- width: calc(100% - calc(2 * var(--header-lateral-padding)));
- margin: 0 auto;
-}
-
-.data-card__progress-bar .dusk-progress-bar__filler {
- background-color: var(--primary-color);
-}
-
-.data-card__table,
-.data-card__list {
- overflow-y: auto;
-}
diff --git a/explorer/src/lib/components/data-card/DataCard.svelte b/explorer/src/lib/components/data-card/DataCard.svelte
deleted file mode 100644
index 129b736e3b..0000000000
--- a/explorer/src/lib/components/data-card/DataCard.svelte
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
-
- {#if loading && !data}
-
- {:else if error || hasEmptyData}
-
- {:else if data}
-
-
-
- {/if}
-
diff --git a/explorer/src/lib/components/data-guard/DataGuard.svelte b/explorer/src/lib/components/data-guard/DataGuard.svelte
deleted file mode 100644
index fe59ecb7dd..0000000000
--- a/explorer/src/lib/components/data-guard/DataGuard.svelte
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-{#if data || data === 0}
-
-{:else}
- - - -
-{/if}
diff --git a/explorer/src/lib/components/detail-list/DetailList.css b/explorer/src/lib/components/detail-list/DetailList.css
deleted file mode 100644
index 6f42142f00..0000000000
--- a/explorer/src/lib/components/detail-list/DetailList.css
+++ /dev/null
@@ -1,8 +0,0 @@
-.detail-list {
- display: grid;
- grid-template-columns: 1fr 1fr;
- font-size: 0.75rem;
- column-gap: 1.125rem;
- padding-bottom: 0.625rem;
- align-items: baseline;
-}
diff --git a/explorer/src/lib/components/detail-list/DetailList.svelte b/explorer/src/lib/components/detail-list/DetailList.svelte
deleted file mode 100644
index bdf9714586..0000000000
--- a/explorer/src/lib/components/detail-list/DetailList.svelte
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
diff --git a/explorer/src/lib/components/footer/Footer.css b/explorer/src/lib/components/footer/Footer.css
deleted file mode 100644
index 332e9f2206..0000000000
--- a/explorer/src/lib/components/footer/Footer.css
+++ /dev/null
@@ -1,63 +0,0 @@
-.footer {
- padding-block: 1.25rem;
- font-size: 0.875rem;
- display: grid;
- gap: 1.25em;
-}
-
-.footer__copyright-container {
- display: flex;
- flex-direction: column;
- gap: 0.625em;
-}
-
-.footer__explorers-links-container,
-.footer__misc-links-container {
- display: flex;
- flex-direction: row;
- gap: var(--default-gap);
-}
-
-.footer__misc-links-container {
- margin-bottom: 1.25em;
-}
-
-.footer__link,
-.footer__link:visited {
- text-decoration: underline;
- color: var(--primary-color);
-}
-
-.footer__link:hover {
- color: var(--secondary-color);
-}
-
-@media (min-width: 900px) {
- .footer {
- grid-template-columns: 1fr auto auto auto;
- gap: 2.5em;
- }
-
- .footer__copyright-container {
- grid-area: 1 / 1 / 2 / 1;
- }
-
- .footer__explorers-links-container {
- grid-area: 1 / 2 / 2 / 2;
- }
-
- .footer__misc-links-container {
- grid-area: 1 / 3 / 2 / 3;
- margin-bottom: 0;
- }
-
- .footer__logo {
- grid-area: 1 / 4 / 1 / 5;
- }
-
- .footer__explorers-links-container,
- .footer__misc-links-container {
- display: flex;
- flex-direction: column;
- }
-}
diff --git a/explorer/src/lib/components/footer/Footer.svelte b/explorer/src/lib/components/footer/Footer.svelte
deleted file mode 100644
index 172a071519..0000000000
--- a/explorer/src/lib/components/footer/Footer.svelte
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/lib/components/index.js b/explorer/src/lib/components/index.js
deleted file mode 100644
index 87a0ebecd4..0000000000
--- a/explorer/src/lib/components/index.js
+++ /dev/null
@@ -1,37 +0,0 @@
-export { default as AccountOverview } from "./account-overview/AccountOverview.svelte";
-export { default as AppAnchor } from "./app-anchor/AppAnchor.svelte";
-export { default as AppAnchorButton } from "./app-anchor-button/AppAnchorButton.svelte";
-export { default as AppImage } from "./app-image/AppImage.svelte";
-export { default as AppSource } from "./app-source/AppSource.svelte";
-export { default as BlockDetails } from "./block-details/BlockDetails.svelte";
-export { default as BlocksCard } from "./blocks-card/BlocksCard.svelte";
-export { default as BlocksList } from "./blocks-list/BlocksList.svelte";
-export { default as BlocksTable } from "./blocks-table/BlocksTable.svelte";
-export { default as DataAlert } from "./data-alert/DataAlert.svelte";
-export { default as DataCard } from "./data-card/DataCard.svelte";
-export { default as DataGuard } from "./data-guard/DataGuard.svelte";
-export { default as DetailList } from "./detail-list/DetailList.svelte";
-export { default as Footer } from "./footer/Footer.svelte";
-export { default as LatestBlocksCard } from "./latest-blocks-card/LatestBlocksCard.svelte";
-export { default as LatestTransactionsCard } from "./latest-transactions-card/LatestTransactionsCard.svelte";
-export { default as ListItem } from "./list-item/ListItem.svelte";
-export { default as Navbar } from "./navbar/Navbar.svelte";
-export { default as ProvisionersCard } from "./provisioners-card/ProvisionersCard.svelte";
-export { default as ProvisionersList } from "./provisioners-list/ProvisionersList.svelte";
-export { default as ProvisionersTable } from "./provisioners-table/ProvisionersTable.svelte";
-export { default as SearchNotification } from "./search-notification/SearchNotification.svelte";
-export { default as StaleDataNotice } from "./stale-data-notice/StaleDataNotice.svelte";
-export { default as TextboxAndButton } from "./textbox-and-button/TextboxAndButton.svelte";
-export { default as TransactionsCard } from "./transactions-card/TransactionsCard.svelte";
-export { default as TransactionDetails } from "./transaction-details/TransactionDetails.svelte";
-export { default as TransactionsList } from "./transactions-list/TransactionsList.svelte";
-export { default as TransactionsTable } from "./transactions-table/TransactionsTable.svelte";
-export { default as TokensTable } from "./tokens-table/TokensTable.svelte";
-export { default as TokenOverview } from "./token-overview/TokenOverview.svelte";
-export { default as OverviewPanelDetailsItem } from "./overview-panel-details-item/OverviewPanelDetailsItem.svelte";
-export { default as TokenDetailsTable } from "./token-details-table/TokenDetailsTable.svelte";
-export { default as TokenListDetails } from "./token-list-details/TokenListDetails.svelte";
-export { default as TokenTransactionsList } from "./token-transactions-list/TokenTransactionsList.svelte";
-export { default as TransactionType } from "./transaction-type/TransactionType.svelte";
-export { default as TransactionStatus } from "./transaction-status/TransactionStatus.svelte";
-export { default as WorldMap } from "./world-map/WorldMap.svelte";
diff --git a/explorer/src/lib/components/latest-blocks-card/LatestBlocksCard.svelte b/explorer/src/lib/components/latest-blocks-card/LatestBlocksCard.svelte
deleted file mode 100644
index 2d9256d412..0000000000
--- a/explorer/src/lib/components/latest-blocks-card/LatestBlocksCard.svelte
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
- goto("/blocks"),
- disabled: false,
- label: "All Blocks",
- }}
->
- {#if isSmallScreen}
- {#each blocks as block (block)}
-
- {/each}
- {:else}
-
- {/if}
-
-
-
diff --git a/explorer/src/lib/components/latest-transactions-card/LatestTransactionsCard.svelte b/explorer/src/lib/components/latest-transactions-card/LatestTransactionsCard.svelte
deleted file mode 100644
index 1fe7ee6ddc..0000000000
--- a/explorer/src/lib/components/latest-transactions-card/LatestTransactionsCard.svelte
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
- goto("/transactions"),
- disabled: false,
- label: "All Transactions",
- }
- : undefined}
->
- {#if isSmallScreen}
- {#each txns as txn (txn)}
-
- {/each}
- {:else}
-
- {/if}
-
-
-
diff --git a/explorer/src/lib/components/list-item/ListItem.css b/explorer/src/lib/components/list-item/ListItem.css
deleted file mode 100644
index 3ba867c58d..0000000000
--- a/explorer/src/lib/components/list-item/ListItem.css
+++ /dev/null
@@ -1,98 +0,0 @@
-.details-list__term {
- display: flex;
- align-items: center;
- padding: 0.25rem;
- margin-bottom: 0.625rem;
- background-color: var(--background-color-alt);
- border-radius: var(--control-border-radius-size);
- text-transform: uppercase;
- position: relative;
-}
-
-.details-list__term-layout {
- display: flex;
- align-items: center;
- gap: 0.625rem;
- width: 100%;
-}
-
-.details-list__term:first-child,
-.details-list__term:last-of-type {
- padding: 0.25rem;
-}
-
-.detail-list__help {
- cursor: help;
- flex-shrink: 0;
-}
-
-.details-list__definition {
- display: flex;
- gap: 0.625rem;
- align-items: center;
- margin-bottom: 1.25rem;
- line-break: anywhere;
-}
-
-.details-list__definition:last-of-type {
- margin-bottom: 0;
-}
-
-.details-list__term.details-list__term--table {
- padding: 0.625rem 1.125rem;
- margin-bottom: 0rem;
- border-radius: 0;
-}
-
-.details-list__term:first-child.details-list__term--table {
- border-top-left-radius: 0;
- border-top-right-radius: var(--control-border-radius-size);
- padding: 1rem 1.125rem 0.625rem;
-}
-
-.details-list__term:last-of-type.details-list__term--table {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: var(--control-border-radius-size);
- padding: 0.625rem 1.125rem 1rem;
-}
-
-.details-list__term:last-of-type.details-list__term--table {
- width: 100%;
-}
-
-.details-list__term.details-list__term--table,
-.details-list__definition.details-list__definition--table {
- margin-bottom: 0rem;
-}
-
-@media (min-width: 640px) {
- .details-list__term {
- padding: 0.9375rem 1.125rem;
- border-radius: 0;
- }
-
- .details-list__term:first-child {
- border-top-left-radius: var(--control-border-radius-size);
- border-top-right-radius: var(--control-border-radius-size);
- padding: 1rem 1.125rem 0.9375rem;
- }
-
- .details-list__term:last-of-type {
- border-bottom-left-radius: var(--control-border-radius-size);
- border-bottom-right-radius: var(--control-border-radius-size);
- padding: 0.9375rem 1.125rem 1rem;
- }
-
- .details-list__term:last-of-type {
- width: 100%;
- }
-
- .details-list__term,
- .details-list__definition {
- margin-bottom: 0rem;
- }
-
- .details-list__definition:last-of-type {
- padding-top: 0rem;
- }
-}
diff --git a/explorer/src/lib/components/list-item/ListItem.svelte b/explorer/src/lib/components/list-item/ListItem.svelte
deleted file mode 100644
index 7f18d29e74..0000000000
--- a/explorer/src/lib/components/list-item/ListItem.svelte
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
- {#if tooltipText}
-
- {/if}
-
-
-
-
-
-
diff --git a/explorer/src/lib/components/navbar/Navbar.css b/explorer/src/lib/components/navbar/Navbar.css
deleted file mode 100644
index 86cc516ab2..0000000000
--- a/explorer/src/lib/components/navbar/Navbar.css
+++ /dev/null
@@ -1,151 +0,0 @@
-.dusk-navbar {
- overscroll-behavior: contain;
- height: 100%;
- z-index: 999;
- margin: 0 auto;
- padding: 1.5625rem 0;
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- justify-content: space-between;
-}
-
-.dusk-navbar--menu-hidden {
- background-color: var(--background-color);
- position: sticky;
- height: auto;
- min-height: 0;
-}
-
-.dusk-navbar__logo {
- display: flex;
- align-items: center;
-}
-
-.dusk-navbar__logo img {
- width: 5.375rem;
- height: 1.25rem;
-}
-
-.dusk-navbar__toggle {
- background-color: transparent;
- color: var(--primary-color);
- display: inline-flex;
- align-items: center;
- font-size: 1rem;
- border: none;
-}
-
-.dusk-navbar__toggle:focus {
- outline: none;
- box-shadow: none;
-}
-
-.dusk-navbar__menu {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- width: 100%;
- /*
- 80px is the total height of the navbar on a small viewport.
- It is needed so we know the exact height that needs to be set to the opened menu.
- */
- height: calc(100dvh - 80px);
- gap: 1.875rem;
-}
-
-.dusk-navbar__menu--hidden {
- display: none;
-}
-
-.dusk-navbar__menu--network {
- text-transform: uppercase;
- font-weight: 500;
- order: 3;
-}
-
-.dusk-navbar__menu--links {
- width: 100%;
- order: 2;
-}
-
-.dusk-nav-list.dusk-navbar__menu--links {
- height: auto;
-}
-
-.dusk-navbar__menu--search {
- order: 1;
- margin-top: 2.5rem;
-}
-
-@media (min-width: 1024px) {
- .dusk-navbar {
- padding: 0;
- min-height: 5rem;
- position: relative;
- background-color: transparent;
- flex-direction: row;
- flex-wrap: nowrap;
- column-gap: 2.5rem;
- }
-
- .dusk-navbar__logo img {
- width: 8.0625rem;
- height: 1.9375rem;
- }
-
- .dusk-navbar--menu-hidden {
- position: relative;
- }
-
- .dusk-navbar__toggle {
- display: none;
- }
-
- .dusk-navbar__menu {
- height: 100%;
- flex-direction: row;
- align-items: center;
- justify-content: space-between;
- row-gap: 2rem;
- }
-
- .dusk-navbar__menu--hidden {
- display: flex;
- }
-
- .dusk-navbar__menu--network {
- order: 1;
- }
-
- .dusk-navbar__menu--links {
- order: 2;
- }
-
- .dusk-navbar__menu--search {
- order: 3;
- margin-top: 0;
- }
-
- .dusk-navbar__menu--search-notification {
- position: absolute;
- left: 0;
- top: 5rem;
- }
-}
-
-@media (min-width: 1280px) {
- .dusk-navbar {
- column-gap: 4.375rem;
- }
-}
-
-/*
- Workaround for Bug 1851397
- https: //bugzilla.mozilla.org/show_bug.cgi?id=1851397
-*/
-@-moz-document url-prefix() {
- .dusk-navbar__menu--network {
- letter-spacing: 0 !important;
- }
-}
diff --git a/explorer/src/lib/components/navbar/Navbar.svelte b/explorer/src/lib/components/navbar/Navbar.svelte
deleted file mode 100644
index c941cb321f..0000000000
--- a/explorer/src/lib/components/navbar/Navbar.svelte
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
-
-
-
- {
- hidden = !hidden;
- dispatch("toggleMenu", hidden);
- }}
- />
-
-
diff --git a/explorer/src/lib/components/overview-panel-details-item/OverviewPanelDetailsItem.css b/explorer/src/lib/components/overview-panel-details-item/OverviewPanelDetailsItem.css
deleted file mode 100644
index 88324b0851..0000000000
--- a/explorer/src/lib/components/overview-panel-details-item/OverviewPanelDetailsItem.css
+++ /dev/null
@@ -1,17 +0,0 @@
-.overview-panel__details-item {
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: flex-start;
- min-width: max-content;
-}
-
-.overview-panel__details-item-title {
- font-size: 1.125rem;
- font-weight: 500;
- margin-bottom: 0.3125rem;
-}
-
-.overview-panel__details-item-subtitle {
- font-size: 0.875rem;
-}
diff --git a/explorer/src/lib/components/overview-panel-details-item/OverviewPanelDetailsItem.svelte b/explorer/src/lib/components/overview-panel-details-item/OverviewPanelDetailsItem.svelte
deleted file mode 100644
index 85df82f3e8..0000000000
--- a/explorer/src/lib/components/overview-panel-details-item/OverviewPanelDetailsItem.svelte
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/explorer/src/lib/components/provisioners-card/ProvisionersCard.svelte b/explorer/src/lib/components/provisioners-card/ProvisionersCard.svelte
deleted file mode 100644
index 36664a386f..0000000000
--- a/explorer/src/lib/components/provisioners-card/ProvisionersCard.svelte
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
- loadMoreItems(),
- disabled: isLoadMoreDisabled,
- label: "Show More",
- }}
->
- {#if isSmallScreen}
-
- {#each displayedProvisioners as provisioner (provisioner)}
-
- {/each}
-
- {:else}
-
- {/if}
-
diff --git a/explorer/src/lib/components/provisioners-list/ProvisionersList.css b/explorer/src/lib/components/provisioners-list/ProvisionersList.css
deleted file mode 100644
index 2559c0ffb8..0000000000
--- a/explorer/src/lib/components/provisioners-list/ProvisionersList.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.provisioners-list *[data-tooltip-id] {
- cursor: help;
-}
-
-.provisioners-list__staking-address {
- text-transform: uppercase;
-}
diff --git a/explorer/src/lib/components/provisioners-list/ProvisionersList.svelte b/explorer/src/lib/components/provisioners-list/ProvisionersList.svelte
deleted file mode 100644
index 0fea4b9238..0000000000
--- a/explorer/src/lib/components/provisioners-list/ProvisionersList.svelte
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
-
-
-
-
-
- Rank
-
- #{data.rank}
-
-
-
-
-
- Staking address
- {provisionerKey}
-
-
-
-
-
-
- Owner Key
-
-
-
-
-
-
-
- Active Stake
- {formatter(luxToDusk(data.amount))} DUSK
-
-
-
-
- Inactive Stake
- {formatter(luxToDusk(data.locked_amt))} DUSK
-
-
-
-
- Maturity At
-
- #{formatter(data.eligibility)}
-
-
-
-
- accumulated reward
-
- {formatter(luxToDusk(data.reward))} DUSK
-
-
-
-
-
- Soft Slashes
-
- {formatter(data.faults)}
-
-
-
-
-
- Hard Slashes
-
- {formatter(data.hard_faults)}
-
-
-
diff --git a/explorer/src/lib/components/provisioners-table/ProvisionersTable.css b/explorer/src/lib/components/provisioners-table/ProvisionersTable.css
deleted file mode 100644
index ae6da410ba..0000000000
--- a/explorer/src/lib/components/provisioners-table/ProvisionersTable.css
+++ /dev/null
@@ -1,36 +0,0 @@
-.provisioners-table *[data-tooltip-id] {
- cursor: help;
-}
-
-.provisioners-table__stake-data-label,
-.provisioners-table__slash-data-label {
- font-weight: 500;
-}
-
-.provisioners-table__staking-address-wrapper {
- display: flex;
- align-items: center;
- gap: var(--default-gap);
-}
-
-.provisioners-table__header-button {
- display: inline-flex;
- align-items: center;
- gap: 0.25rem;
- padding: 0;
- border: 0;
- margin: 0;
- background: none;
- font: inherit;
- text-transform: uppercase;
-}
-
-.provisioners-table__header-button:focus-visible {
- outline: 2px solid currentColor;
- outline-offset: 2px;
-}
-
-.provisioners-table__header-sort-indicator {
- font-size: 0.75em;
- opacity: 0.7;
-}
diff --git a/explorer/src/lib/components/provisioners-table/ProvisionersTable.svelte b/explorer/src/lib/components/provisioners-table/ProvisionersTable.svelte
deleted file mode 100644
index 30fdff70e4..0000000000
--- a/explorer/src/lib/components/provisioners-table/ProvisionersTable.svelte
+++ /dev/null
@@ -1,276 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {#each sortedData as provisioner (provisioner.key)}
- {@const consensusAddress = provisioner.key}
-
-
- {provisioner.rank}
-
-
-
- {middleEllipsis(consensusAddress, HASH_CHARS_LENGTH)}
-
-
-
-
-
-
-
-
-
- Active:
- {numberFormatter(luxToDusk(provisioner.amount))}
-
- Inactive:
- {numberFormatter(luxToDusk(provisioner.locked_amt))}
-
- Maturity At:
- #{numberFormatter(provisioner.eligibility)}
-
-
- {@const parts = fixedNumberFormatter(
- luxToDusk(provisioner.reward)
- ).split(".")}
-
-
-
- {parts[0]}.{parts[1]}
-
-
-
-
- Soft:
- {numberFormatter(provisioner.faults)}
-
- Hard:
- {numberFormatter(provisioner.hard_faults)}
-
-
- {/each}
-
-
diff --git a/explorer/src/lib/components/search-notification/SearchNotification.css b/explorer/src/lib/components/search-notification/SearchNotification.css
deleted file mode 100644
index f8162d7ff5..0000000000
--- a/explorer/src/lib/components/search-notification/SearchNotification.css
+++ /dev/null
@@ -1,43 +0,0 @@
-.search-notification {
- display: flex;
- flex-direction: column;
- border: var(--control-border-size) solid var(--error-color);
- width: 100%;
- margin-top: 1.25rem;
-}
-
-.search-notification__header {
- display: flex;
- justify-content: space-between;
- padding-bottom: 0.625rem;
-}
-
-.search-notification__header-text {
- font-size: 1.125rem;
-}
-
-.search-notification__header-action {
- height: 1.75rem;
- width: 1.75rem;
-}
-
-.search-notification__content {
- display: flex;
- font-size: 1.125rem;
-}
-
-.search-notification__content-query {
- font-family: var(--mono-font-family);
- font-weight: 500;
- word-break: break-word;
-}
-
-.search-notification__footer-text {
- font-size: 0.875rem;
-}
-
-@media (min-width: 1024px) {
- .search-notification {
- margin-top: 0rem;
- }
-}
diff --git a/explorer/src/lib/components/search-notification/SearchNotification.svelte b/explorer/src/lib/components/search-notification/SearchNotification.svelte
deleted file mode 100644
index 405b2f53a2..0000000000
--- a/explorer/src/lib/components/search-notification/SearchNotification.svelte
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
- {#if data.res instanceof Error}
-
- {data.res.message}
-
- {/if}
-
diff --git a/explorer/src/lib/components/stale-data-notice/StaleDataNotice.svelte b/explorer/src/lib/components/stale-data-notice/StaleDataNotice.svelte
deleted file mode 100644
index 80d9761d7c..0000000000
--- a/explorer/src/lib/components/stale-data-notice/StaleDataNotice.svelte
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-{#if isStaleData}
-
-{/if}
diff --git a/explorer/src/lib/components/table/README.md b/explorer/src/lib/components/table/README.md
deleted file mode 100644
index ed589eacfb..0000000000
--- a/explorer/src/lib/components/table/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Table Component Usage
-
-This guide describes how to use the `Table` and associated components within SvelteKit to create a structured and styled table.
-
-## Example
-
-The following example demonstrates how to create a simple table with headers and multiple rows:
-
-
-
-
- Name
- Age
- Country
-
-
-
-
- Alice
- 25
- USA
-
-
- Bob
- 30
- Canada
-
-
- Charlie
- 35
- UK
-
-
-
diff --git a/explorer/src/lib/components/table/Table.css b/explorer/src/lib/components/table/Table.css
deleted file mode 100644
index 0b8cb98976..0000000000
--- a/explorer/src/lib/components/table/Table.css
+++ /dev/null
@@ -1,53 +0,0 @@
-.table-container {
- overflow-x: auto;
- max-width: 100%;
-}
-
-.table {
- width: 100%;
- border-collapse: collapse;
- border-style: hidden;
- text-transform: uppercase;
- font-family: var(--mono-font-family);
-}
-
-.table__header-cell {
- text-align: left;
- padding: 1rem 1.375rem;
- font-weight: 500;
- font-size: 0.875rem;
- background-color: white;
- position: sticky;
- top: 0;
- z-index: 1;
- text-wrap: nowrap;
- color: var(--smokey-black);
-}
-
-.table__data-cell {
- padding: 0.5rem 1.375rem;
- font-weight: 400;
- white-space: nowrap;
- font-size: 0.75rem;
-}
-
-.table__header-cell.align-left,
-.table__data-cell.align-left {
- text-align: left;
-}
-.table__header-cell.align-center,
-.table__data-cell.align-center {
- text-align: center;
-}
-.table__header-cell.align-right,
-.table__data-cell.align-right {
- text-align: right;
-}
-
-.table__row:hover {
- background-color: var(--on-primary-color);
-}
-
-.table__data-cell .dusk-badge {
- font-size: 0.75rem;
-}
diff --git a/explorer/src/lib/components/table/Table.svelte b/explorer/src/lib/components/table/Table.svelte
deleted file mode 100644
index 8d027b443a..0000000000
--- a/explorer/src/lib/components/table/Table.svelte
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
diff --git a/explorer/src/lib/components/table/TableBody.svelte b/explorer/src/lib/components/table/TableBody.svelte
deleted file mode 100644
index 5ff5b12752..0000000000
--- a/explorer/src/lib/components/table/TableBody.svelte
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/explorer/src/lib/components/table/TableCell.svelte b/explorer/src/lib/components/table/TableCell.svelte
deleted file mode 100644
index 87539b8704..0000000000
--- a/explorer/src/lib/components/table/TableCell.svelte
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/lib/components/table/TableHead.svelte b/explorer/src/lib/components/table/TableHead.svelte
deleted file mode 100644
index eecb00de57..0000000000
--- a/explorer/src/lib/components/table/TableHead.svelte
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/explorer/src/lib/components/table/TableRow.svelte b/explorer/src/lib/components/table/TableRow.svelte
deleted file mode 100644
index f0db9ffa93..0000000000
--- a/explorer/src/lib/components/table/TableRow.svelte
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/explorer/src/lib/components/table/index.js b/explorer/src/lib/components/table/index.js
deleted file mode 100644
index 0d165eda3a..0000000000
--- a/explorer/src/lib/components/table/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export { default as Table } from "./Table.svelte";
-export { default as TableHead } from "./TableHead.svelte";
-export { default as TableBody } from "./TableBody.svelte";
-export { default as TableRow } from "./TableRow.svelte";
-export { default as TableCell } from "./TableCell.svelte";
diff --git a/explorer/src/lib/components/textbox-and-button/TextboxAndButton.css b/explorer/src/lib/components/textbox-and-button/TextboxAndButton.css
deleted file mode 100644
index 716d801a36..0000000000
--- a/explorer/src/lib/components/textbox-and-button/TextboxAndButton.css
+++ /dev/null
@@ -1,46 +0,0 @@
-.textbox-button {
- display: flex;
- align-items: center;
- background-color: white;
- border-radius: 1.875rem;
- padding: var(--control-padding);
- border-color: var(--control-border-color);
- border-radius: var(--control-border-radius-size);
- border-style: solid;
- border-width: var(--control-border-size);
-}
-
-.dark .textbox-button,
-.dark .dusk-textbox.textbox-button__input {
- background-color: black;
-}
-
-.dusk-textbox.textbox-button__input {
- width: 100%;
- padding: 0;
- border: none;
- border-radius: 0;
-}
-
-.dark .dusk-textbox.textbox-button__input {
- color: var(--light-grey);
-}
-
-.dusk-textbox.textbox-button__input:read-write:enabled:focus {
- outline: 0 none;
- border: none;
- box-shadow: none;
-}
-
-.textbox-button:focus-within {
- border-color: var(--secondary-color-variant-dark);
- box-shadow: inset 0 0 0 var(--control-border-size)
- var(--secondary-color-variant-dark);
- outline: 0 none;
-}
-
-@media (min-width: 1024px) {
- .textbox-button {
- transition: width 0.5s ease-in-out;
- }
-}
diff --git a/explorer/src/lib/components/textbox-and-button/TextboxAndButton.svelte b/explorer/src/lib/components/textbox-and-button/TextboxAndButton.svelte
deleted file mode 100644
index 2771f2036c..0000000000
--- a/explorer/src/lib/components/textbox-and-button/TextboxAndButton.svelte
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
-
diff --git a/explorer/src/lib/components/token-details-table/TokenDetailsTable.svelte b/explorer/src/lib/components/token-details-table/TokenDetailsTable.svelte
deleted file mode 100644
index 74f37111e1..0000000000
--- a/explorer/src/lib/components/token-details-table/TokenDetailsTable.svelte
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
- ID
- From
- To
- Amount (Dusk)
- Fee (Dusk)
- Status
- Type
-
-
-
- {#each data as transaction (transaction)}
-
- {middleEllipsis(transaction.txid, HASH_CHARS_LENGTH)}
-
-
- {middleEllipsis(
- transaction.from ? transaction.from : "",
- HASH_CHARS_LENGTH
- )}
-
-
-
-
- {middleEllipsis(
- transaction.to ? transaction.to : "",
- HASH_CHARS_LENGTH
- )}
-
-
-
- {transaction.amount
- ? formatter(luxToDusk(transaction.amount))
- : "N/A"}
-
- {formatter(luxToDusk(transaction.gasprice))}
-
-
-
-
-
-
-
- {/each}
-
-
diff --git a/explorer/src/lib/components/token-list-details/TokenListDetails.svelte b/explorer/src/lib/components/token-list-details/TokenListDetails.svelte
deleted file mode 100644
index c1b859f9e7..0000000000
--- a/explorer/src/lib/components/token-list-details/TokenListDetails.svelte
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
-
- Token
-
- {data.token}
-
-
-
-
-
- Total Current Supply
-
- {data.totalCurrentSupply}
-
-
-
-
-
- Max Circulating Supply
-
- {data.maxCirculatingSupply}
-
-
-
-
-
- Ticker
-
- {data.ticker}
-
-
-
-
-
- Contract ID
-
- {tokensContractID}
-
-
-
-
-
- Price
-
- {data.price}
-
-
-
diff --git a/explorer/src/lib/components/token-overview/TokenOverview.css b/explorer/src/lib/components/token-overview/TokenOverview.css
deleted file mode 100644
index 1a160922af..0000000000
--- a/explorer/src/lib/components/token-overview/TokenOverview.css
+++ /dev/null
@@ -1,53 +0,0 @@
-.token-overview-panel {
- display: flex;
- padding: 1rem 1.375rem;
- flex-direction: column;
- row-gap: 0.75rem;
- border-radius: 1.5rem;
- background-color: var(--surface-color);
- width: 100%;
- text-transform: uppercase;
- position: relative;
- margin-bottom: 1.25rem;
-}
-
-.token-overview-panel__header {
- display: flex;
- gap: 1.25rem;
- flex-direction: column;
- align-items: flex-start;
-}
-
-@media (min-width: 992px) {
- .token-overview-panel__header {
- flex-direction: row;
- align-items: center;
- }
-}
-
-.token-overview-panel__token-name {
- font-weight: 500;
- font-size: 1.125em;
- margin-bottom: 0.3125rem;
-}
-
-.token-overview-panel__token-address-subheader {
- font-size: 1.125em;
- color: var(--text-color-secondary);
-}
-
-.token-overview-panel__token-address {
- font-weight: 500;
-}
-
-.token-overview-panel__separator {
- border: none;
- border-top: 1px solid var(--taupe-grey);
- margin: 0.5rem 0;
-}
-
-.token-overview-panel__details {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
- gap: 1rem;
-}
diff --git a/explorer/src/lib/components/token-overview/TokenOverview.svelte b/explorer/src/lib/components/token-overview/TokenOverview.svelte
deleted file mode 100644
index d8fb346bff..0000000000
--- a/explorer/src/lib/components/token-overview/TokenOverview.svelte
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
-
{data.totalCurrentSupply} {data.ticker}
-
{data.maxCirculatingSupply}
-
${data.price}
-
-
diff --git a/explorer/src/lib/components/token-transactions-list/TokenTransactionsList.svelte b/explorer/src/lib/components/token-transactions-list/TokenTransactionsList.svelte
deleted file mode 100644
index 1a0da765e7..0000000000
--- a/explorer/src/lib/components/token-transactions-list/TokenTransactionsList.svelte
+++ /dev/null
@@ -1,152 +0,0 @@
-
-
-
-
-
- {#if data.from}
-
- From
-
-
- {middleEllipsis(
- data.from,
- calculateAdaptiveCharCount(
- screenWidth,
- minScreenWidth,
- maxScreenWidth,
- minCharCount,
- maxCharCount
- )
- )}
-
-
-
- {/if}
- {#if data.to}
-
- To
-
-
- {middleEllipsis(
- data.to,
- calculateAdaptiveCharCount(
- screenWidth,
- minScreenWidth,
- maxScreenWidth,
- minCharCount,
- maxCharCount
- )
- )}
-
-
-
- {/if}
-
-
-
- ID
-
- {middleEllipsis(
- data.txid,
- calculateAdaptiveCharCount(
- screenWidth,
- minScreenWidth,
- maxScreenWidth,
- minCharCount,
- maxCharCount
- )
- )}
-
-
-
-
- {#if data.amount}
-
- Amount
-
- {formatter(luxToDusk(data.amount))} DUSK
-
-
- {/if}
-
-
-
- Fee
-
- {formatter(luxToDusk(data.feepaid))} DUSK
-
-
-
-
-
- Status
-
-
-
-
-
-
-
- Type
-
-
-
-
-
diff --git a/explorer/src/lib/components/tokens-table/TokensTable.svelte b/explorer/src/lib/components/tokens-table/TokensTable.svelte
deleted file mode 100644
index 7a77af08dc..0000000000
--- a/explorer/src/lib/components/tokens-table/TokensTable.svelte
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
-
-
-
- Token
- Total Current Supply
- Max Circulating Supply
- Ticker
- Contract ID
- Price ($)
-
-
-
- {#each data as token (token)}
-
-
- {token.token}
- {token.totalCurrentSupply}
- {token.maxCirculatingSupply}
- {token.ticker}
- {middleEllipsis(token.contractId, HASH_CHARS_LENGTH)}
- {token.price}
-
- {/each}
-
-
diff --git a/explorer/src/lib/components/transaction-details/TransactionDetails.css b/explorer/src/lib/components/transaction-details/TransactionDetails.css
deleted file mode 100644
index a75bcbf2fa..0000000000
--- a/explorer/src/lib/components/transaction-details/TransactionDetails.css
+++ /dev/null
@@ -1,118 +0,0 @@
-.transaction-details__list {
- display: grid;
- grid-template-columns: minmax(0, 1fr);
- font-size: 0.875rem;
- column-gap: 1.875rem;
- padding: 0 1.125rem;
-}
-
-.transaction-details__status,
-.transaction-details__type {
- width: 100%;
-}
-
-.transaction-details__gas-used {
- width: 12.5rem;
-}
-
-.transaction-details__payload {
- padding: 0.625rem 0.875rem;
- line-height: 1.3125rem;
- width: 100%;
- overflow-x: auto;
-}
-
-.transaction-details__payload-switch {
- position: absolute;
- right: -3.8125rem;
-}
-
-.transaction-details__list .details-list__term:nth-last-child(-n + 4) {
- align-items: start;
- margin-bottom: 0.625rem;
- /*
- 3.8125rem is the sum of the switch width plus the gap
- between the switch and the dt element
- */
- width: calc(100% - 3.8125rem);
-}
-
-.transaction-details__memo {
- padding: 0.625rem 0.875rem;
- line-height: 1.3125rem;
- width: 100%;
- overflow-x: auto;
-}
-
-.transaction-details__switch-wrapper {
- display: flex;
- align-items: center;
- flex: 1 100%;
- justify-content: space-between;
-}
-
-.transaction-details__list-anchor {
- font-family: var(--mono-font-family);
-}
-
-.transaction-details__blob-hashes {
- list-style-type: none;
- display: flex;
- flex-direction: column;
- gap: var(--default-gap);
-}
-
-/**
- * We need to add a margin conditionally as these components are a bit
- * odd as the list term has a padding, while the definition doesn't.
- * If we have more than one li element we need a margin equal to that
- * padding to have the term and the definition aligned on top.
- */
-.transaction-details__blob-hashes:has(> li:nth-child(2)) {
- margin-top: 0.9375rem;
-}
-
-.transaction-details__blob-hash {
- display: inline-flex;
- align-items: center;
- gap: var(--small-gap);
-}
-
-.transaction-details__blob-hash pre {
- white-space: pre-line;
-}
-
-@media (min-width: 640px) {
- .transaction-details__header-heading {
- text-transform: none;
- }
-
- .transaction-details__list {
- display: inline-grid;
- grid-template-columns: minmax(0, auto) minmax(0, 3fr);
- }
-
- .transaction-details__payload {
- margin-top: 1rem;
- }
-
- .transaction-details__memo {
- margin-top: 0rem;
- }
-
- .transaction-details__payload-switch {
- position: relative;
- right: 0rem;
- }
-
- .transaction-details__status,
- .transaction-details__type {
- width: auto;
- }
-
- .transaction-details__list .details-list__term:nth-last-child(-n + 4) {
- align-items: start;
- margin-bottom: 0rem;
- width: auto;
- }
-}
diff --git a/explorer/src/lib/components/transaction-details/TransactionDetails.svelte b/explorer/src/lib/components/transaction-details/TransactionDetails.svelte
deleted file mode 100644
index efadc3c0e8..0000000000
--- a/explorer/src/lib/components/transaction-details/TransactionDetails.svelte
+++ /dev/null
@@ -1,309 +0,0 @@
-
-
-
-
-
-
-
-
- ID
-
- {withMiddleEllipsis(data.txid)}
-
-
-
-
-
-
- block height
-
- {formatter(data.blockheight)}
-
-
-
-
- timestamp
- {`${data.date.toUTCString()} (${relativeTime})`}
-
-
-
- {#if data.txtype.toLowerCase() === "moonlight" && data.from}
-
- from
-
- {withMiddleEllipsis(data.from)}
-
-
-
- {/if}
-
-
- {#if data.txtype.toLowerCase() === "moonlight" && data.to}
-
- to
-
- {withMiddleEllipsis(data.to)}
-
-
-
- {/if}
-
-
- {#if data.amount}
-
- amount
-
-
- {`${feeFormatter(luxToDusk(data.amount))} DUSK (${currencyFormatter(luxToDusk(data.amount) * /** @type {number} */ (market?.currentPrice.usd))})`}
-
-
-
- {/if}
-
-
-
- type
-
-
-
-
-
-
-
- status
-
-
-
-
-
- transaction fee
-
-
- {`${feeFormatter(luxToDusk(data.feepaid))} DUSK (${currencyFormatter(luxToDusk(data.feepaid) * /** @type {number} */ (market?.currentPrice.usd))})`}
-
-
-
-
-
-
-
- gas price
-
-
- {`${feeFormatter(luxToDusk(data.gasprice))} DUSK (${currencyFormatter(luxToDusk(data.gasprice) * /** @type {number} */ (market?.currentPrice.usd))})`}
-
-
-
-
-
-
-
- transaction gas limit
- {data.gaslimit}
-
-
-
-
- gas spent
- {data.gasspent}
-
-
-
- {#if data.txtype.toLowerCase() === "moonlight" && data.nonce}
-
- nonce
- {data.nonce}
-
- {/if}
-
-
-
-
-
- memo
-
-
-
-
-
- {#if isMemoDecoded}
-
- {data.memo ? decodeHexString(data.memo) : "---"}
-
- {:else}
- {data.memo}
- {/if}
-
-
-
-
-
-
-
- payload
-
-
-
-
-
- {#if isPayloadToggled}
-
- {data.payload
- ? JSON.stringify(data.payload, null, 2)
- : "---"}
-
- {/if}
-
-
-
- {#if data.blobHashes.length}
-
-
- Blob hashes
-
-
-
-
- {/if}
-
-
diff --git a/explorer/src/lib/components/transaction-status/TransactionStatus.css b/explorer/src/lib/components/transaction-status/TransactionStatus.css
deleted file mode 100644
index 55e99ca19f..0000000000
--- a/explorer/src/lib/components/transaction-status/TransactionStatus.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.transaction-status[data-tooltip-id] {
- cursor: help;
-}
diff --git a/explorer/src/lib/components/transaction-status/TransactionStatus.svelte b/explorer/src/lib/components/transaction-status/TransactionStatus.svelte
deleted file mode 100644
index fa73714753..0000000000
--- a/explorer/src/lib/components/transaction-status/TransactionStatus.svelte
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/lib/components/transaction-type/TransactionType.css b/explorer/src/lib/components/transaction-type/TransactionType.css
deleted file mode 100644
index f4ef6bfcc1..0000000000
--- a/explorer/src/lib/components/transaction-type/TransactionType.css
+++ /dev/null
@@ -1,9 +0,0 @@
-.transaction-type {
- display: flex;
- align-items: center;
- gap: 0.3rem;
-}
-
-.transaction-type__icon[data-tooltip-disabled="false"] {
- cursor: help;
-}
diff --git a/explorer/src/lib/components/transaction-type/TransactionType.svelte b/explorer/src/lib/components/transaction-type/TransactionType.svelte
deleted file mode 100644
index 9fc14e9eb2..0000000000
--- a/explorer/src/lib/components/transaction-type/TransactionType.svelte
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
- {#if !isAccountsPage}
-
- {/if}
-
- {#if isAccountsPage}
-
- {/if}
-
-
-
diff --git a/explorer/src/lib/components/transactions-card/TransactionsCard.svelte b/explorer/src/lib/components/transactions-card/TransactionsCard.svelte
deleted file mode 100644
index 4d0cb0b444..0000000000
--- a/explorer/src/lib/components/transactions-card/TransactionsCard.svelte
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
- loadMoreItems(),
- disabled: isLoadMoreDisabled,
- label: "Show More",
- }}
->
- {#if isSmallScreen}
-
- {#each displayedTxns as txn (txn)}
-
- {/each}
-
- {:else}
-
- {/if}
-
diff --git a/explorer/src/lib/components/transactions-list/TransactionsList.css b/explorer/src/lib/components/transactions-list/TransactionsList.css
deleted file mode 100644
index 0adeeea024..0000000000
--- a/explorer/src/lib/components/transactions-list/TransactionsList.css
+++ /dev/null
@@ -1,3 +0,0 @@
-.transaction-details__list-link {
- text-transform: uppercase;
-}
diff --git a/explorer/src/lib/components/transactions-list/TransactionsList.svelte b/explorer/src/lib/components/transactions-list/TransactionsList.svelte
deleted file mode 100644
index d28a3a7b56..0000000000
--- a/explorer/src/lib/components/transactions-list/TransactionsList.svelte
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
-
-
- ID
-
- {middleEllipsis(
- data.txid,
- calculateAdaptiveCharCount(
- screenWidth,
- minScreenWidth,
- maxScreenWidth,
- minCharCount,
- maxCharCount
- )
- )}
-
-
-
-
-
-
- relative time
-
-
-
- {#if mode === "full"}
-
-
- Gas Price
-
- {formatter(data.gasprice)}
-
-
-
-
-
- Gas Limit
-
- {formatter(data.gaslimit)}
-
-
- {/if}
-
-
-
- Fee
-
- {formatter(luxToDusk(data.feepaid))} DUSK
-
-
-
-
-
- Status
-
-
-
-
-
-
-
- Type
-
-
-
-
-
diff --git a/explorer/src/lib/components/transactions-table/TransactionsTable.css b/explorer/src/lib/components/transactions-table/TransactionsTable.css
deleted file mode 100644
index cc8e5182c8..0000000000
--- a/explorer/src/lib/components/transactions-table/TransactionsTable.css
+++ /dev/null
@@ -1,17 +0,0 @@
-.transaction__transaction-id-container {
- display: flex;
- align-items: center;
- gap: var(--default-gap);
-}
-
-.transaction__fee-price-label,
-.transaction__fee-limit-label {
- font-weight: 500;
-}
-
-.transaction__time {
- display: block;
- font-size: 0.75rem;
- color: var(--color-text-secondary);
- margin-top: 0.2rem;
-}
diff --git a/explorer/src/lib/components/transactions-table/TransactionsTable.svelte b/explorer/src/lib/components/transactions-table/TransactionsTable.svelte
deleted file mode 100644
index 649a3ac5e6..0000000000
--- a/explorer/src/lib/components/transactions-table/TransactionsTable.svelte
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
-
-
- ID
- {#if mode === "full"}
- Gas
- {/if}
- Fee (DUSK)
- Status
- Type
-
-
-
- {#each data as transaction (transaction)}
-
-
-
-
{middleEllipsis(transaction.txid, HASH_CHARS_LENGTH)}
-
-
-
-
- {#if mode === "full"}
-
- PRICE:
- {numberFormatter(transaction.gasprice)}
- LIMIT:
- {numberFormatter(transaction.gaslimit)}
-
- {/if}
- {numberFormatter(luxToDusk(transaction.feepaid))}
-
-
-
-
-
-
-
- {/each}
-
-
diff --git a/explorer/src/lib/components/world-map/WorldMap.css b/explorer/src/lib/components/world-map/WorldMap.css
deleted file mode 100644
index d92183dc30..0000000000
--- a/explorer/src/lib/components/world-map/WorldMap.css
+++ /dev/null
@@ -1,18 +0,0 @@
-.nodes-world-map {
- aspect-ratio: 2;
- width: 100%;
- height: auto;
- max-height: 805px;
-}
-
-.nodes-world-map__location {
- fill-opacity: 0.5;
- stroke: var(--primary-color);
- stroke-width: 0.5px;
- fill: var(--success);
-}
-
-.nodes-world-map__location:hover {
- stroke: var(--background-color);
- stroke-width: 0.5px;
-}
diff --git a/explorer/src/lib/components/world-map/WorldMap.svelte b/explorer/src/lib/components/world-map/WorldMap.svelte
deleted file mode 100644
index 0881b4cbf8..0000000000
--- a/explorer/src/lib/components/world-map/WorldMap.svelte
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
- {#each dataset.features as data, index (index)}
-
- {/each}
-
- {#each nodes ? nodes : [] as marker (`${marker.lon}x${marker.lat}`)}
-
- {/each}
-
-
diff --git a/explorer/src/lib/components/world-map/world-map.json b/explorer/src/lib/components/world-map/world-map.json
deleted file mode 100644
index 1b087ba921..0000000000
--- a/explorer/src/lib/components/world-map/world-map.json
+++ /dev/null
@@ -1,12509 +0,0 @@
-{
- "type": "FeatureCollection",
- "features": [
- {
- "type": "Feature",
- "properties": { "name": "Afghanistan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [61.210817, 35.650072],
- [62.230651, 35.270664],
- [62.984662, 35.404041],
- [63.193538, 35.857166],
- [63.982896, 36.007957],
- [64.546479, 36.312073],
- [64.746105, 37.111818],
- [65.588948, 37.305217],
- [65.745631, 37.661164],
- [66.217385, 37.39379],
- [66.518607, 37.362784],
- [67.075782, 37.356144],
- [67.83, 37.144994],
- [68.135562, 37.023115],
- [68.859446, 37.344336],
- [69.196273, 37.151144],
- [69.518785, 37.608997],
- [70.116578, 37.588223],
- [70.270574, 37.735165],
- [70.376304, 38.138396],
- [70.806821, 38.486282],
- [71.348131, 38.258905],
- [71.239404, 37.953265],
- [71.541918, 37.905774],
- [71.448693, 37.065645],
- [71.844638, 36.738171],
- [72.193041, 36.948288],
- [72.63689, 37.047558],
- [73.260056, 37.495257],
- [73.948696, 37.421566],
- [74.980002, 37.41999],
- [75.158028, 37.133031],
- [74.575893, 37.020841],
- [74.067552, 36.836176],
- [72.920025, 36.720007],
- [71.846292, 36.509942],
- [71.262348, 36.074388],
- [71.498768, 35.650563],
- [71.613076, 35.153203],
- [71.115019, 34.733126],
- [71.156773, 34.348911],
- [70.881803, 33.988856],
- [69.930543, 34.02012],
- [70.323594, 33.358533],
- [69.687147, 33.105499],
- [69.262522, 32.501944],
- [69.317764, 31.901412],
- [68.926677, 31.620189],
- [68.556932, 31.71331],
- [67.792689, 31.58293],
- [67.683394, 31.303154],
- [66.938891, 31.304911],
- [66.381458, 30.738899],
- [66.346473, 29.887943],
- [65.046862, 29.472181],
- [64.350419, 29.560031],
- [64.148002, 29.340819],
- [63.550261, 29.468331],
- [62.549857, 29.318572],
- [60.874248, 29.829239],
- [61.781222, 30.73585],
- [61.699314, 31.379506],
- [60.941945, 31.548075],
- [60.863655, 32.18292],
- [60.536078, 32.981269],
- [60.9637, 33.528832],
- [60.52843, 33.676446],
- [60.803193, 34.404102],
- [61.210817, 35.650072]
- ]
- ]
- },
- "id": "AFG"
- },
- {
- "type": "Feature",
- "properties": { "name": "Angola" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [16.326528, -5.87747],
- [16.57318, -6.622645],
- [16.860191, -7.222298],
- [17.089996, -7.545689],
- [17.47297, -8.068551],
- [18.134222, -7.987678],
- [18.464176, -7.847014],
- [19.016752, -7.988246],
- [19.166613, -7.738184],
- [19.417502, -7.155429],
- [20.037723, -7.116361],
- [20.091622, -6.94309],
- [20.601823, -6.939318],
- [20.514748, -7.299606],
- [21.728111, -7.290872],
- [21.746456, -7.920085],
- [21.949131, -8.305901],
- [21.801801, -8.908707],
- [21.875182, -9.523708],
- [22.208753, -9.894796],
- [22.155268, -11.084801],
- [22.402798, -10.993075],
- [22.837345, -11.017622],
- [23.456791, -10.867863],
- [23.912215, -10.926826],
- [24.017894, -11.237298],
- [23.904154, -11.722282],
- [24.079905, -12.191297],
- [23.930922, -12.565848],
- [24.016137, -12.911046],
- [21.933886, -12.898437],
- [21.887843, -16.08031],
- [22.562478, -16.898451],
- [23.215048, -17.523116],
- [21.377176, -17.930636],
- [18.956187, -17.789095],
- [18.263309, -17.309951],
- [14.209707, -17.353101],
- [14.058501, -17.423381],
- [13.462362, -16.971212],
- [12.814081, -16.941343],
- [12.215461, -17.111668],
- [11.734199, -17.301889],
- [11.640096, -16.673142],
- [11.778537, -15.793816],
- [12.123581, -14.878316],
- [12.175619, -14.449144],
- [12.500095, -13.5477],
- [12.738479, -13.137906],
- [13.312914, -12.48363],
- [13.633721, -12.038645],
- [13.738728, -11.297863],
- [13.686379, -10.731076],
- [13.387328, -10.373578],
- [13.120988, -9.766897],
- [12.87537, -9.166934],
- [12.929061, -8.959091],
- [13.236433, -8.562629],
- [12.93304, -7.596539],
- [12.728298, -6.927122],
- [12.227347, -6.294448],
- [12.322432, -6.100092],
- [12.735171, -5.965682],
- [13.024869, -5.984389],
- [13.375597, -5.864241],
- [16.326528, -5.87747]
- ]
- ],
- [
- [
- [12.436688, -5.684304],
- [12.182337, -5.789931],
- [11.914963, -5.037987],
- [12.318608, -4.60623],
- [12.62076, -4.438023],
- [12.995517, -4.781103],
- [12.631612, -4.991271],
- [12.468004, -5.248362],
- [12.436688, -5.684304]
- ]
- ]
- ]
- },
- "id": "AGO"
- },
- {
- "type": "Feature",
- "properties": { "name": "Albania" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [20.590247, 41.855404],
- [20.463175, 41.515089],
- [20.605182, 41.086226],
- [21.02004, 40.842727],
- [20.99999, 40.580004],
- [20.674997, 40.435],
- [20.615, 40.110007],
- [20.150016, 39.624998],
- [19.98, 39.694993],
- [19.960002, 39.915006],
- [19.406082, 40.250773],
- [19.319059, 40.72723],
- [19.40355, 41.409566],
- [19.540027, 41.719986],
- [19.371769, 41.877548],
- [19.304486, 42.195745],
- [19.738051, 42.688247],
- [19.801613, 42.500093],
- [20.0707, 42.58863],
- [20.283755, 42.32026],
- [20.52295, 42.21787],
- [20.590247, 41.855404]
- ]
- ]
- },
- "id": "ALB"
- },
- {
- "type": "Feature",
- "properties": { "name": "United Arab Emirates" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [51.579519, 24.245497],
- [51.757441, 24.294073],
- [51.794389, 24.019826],
- [52.577081, 24.177439],
- [53.404007, 24.151317],
- [54.008001, 24.121758],
- [54.693024, 24.797892],
- [55.439025, 25.439145],
- [56.070821, 26.055464],
- [56.261042, 25.714606],
- [56.396847, 24.924732],
- [55.886233, 24.920831],
- [55.804119, 24.269604],
- [55.981214, 24.130543],
- [55.528632, 23.933604],
- [55.525841, 23.524869],
- [55.234489, 23.110993],
- [55.208341, 22.70833],
- [55.006803, 22.496948],
- [52.000733, 23.001154],
- [51.617708, 24.014219],
- [51.579519, 24.245497]
- ]
- ]
- },
- "id": "ARE"
- },
- {
- "type": "Feature",
- "properties": { "name": "Argentina" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [-65.5, -55.2],
- [-66.45, -55.25],
- [-66.95992, -54.89681],
- [-67.56244, -54.87001],
- [-68.63335, -54.8695],
- [-68.63401, -52.63637],
- [-68.25, -53.1],
- [-67.75, -53.85],
- [-66.45, -54.45],
- [-65.05, -54.7],
- [-65.5, -55.2]
- ]
- ],
- [
- [
- [-64.964892, -22.075862],
- [-64.377021, -22.798091],
- [-63.986838, -21.993644],
- [-62.846468, -22.034985],
- [-62.685057, -22.249029],
- [-60.846565, -23.880713],
- [-60.028966, -24.032796],
- [-58.807128, -24.771459],
- [-57.777217, -25.16234],
- [-57.63366, -25.603657],
- [-58.618174, -27.123719],
- [-57.60976, -27.395899],
- [-56.486702, -27.548499],
- [-55.695846, -27.387837],
- [-54.788795, -26.621786],
- [-54.625291, -25.739255],
- [-54.13005, -25.547639],
- [-53.628349, -26.124865],
- [-53.648735, -26.923473],
- [-54.490725, -27.474757],
- [-55.162286, -27.881915],
- [-56.2909, -28.852761],
- [-57.625133, -30.216295],
- [-57.874937, -31.016556],
- [-58.14244, -32.044504],
- [-58.132648, -33.040567],
- [-58.349611, -33.263189],
- [-58.427074, -33.909454],
- [-58.495442, -34.43149],
- [-57.22583, -35.288027],
- [-57.362359, -35.97739],
- [-56.737487, -36.413126],
- [-56.788285, -36.901572],
- [-57.749157, -38.183871],
- [-59.231857, -38.72022],
- [-61.237445, -38.928425],
- [-62.335957, -38.827707],
- [-62.125763, -39.424105],
- [-62.330531, -40.172586],
- [-62.145994, -40.676897],
- [-62.745803, -41.028761],
- [-63.770495, -41.166789],
- [-64.73209, -40.802677],
- [-65.118035, -41.064315],
- [-64.978561, -42.058001],
- [-64.303408, -42.359016],
- [-63.755948, -42.043687],
- [-63.458059, -42.563138],
- [-64.378804, -42.873558],
- [-65.181804, -43.495381],
- [-65.328823, -44.501366],
- [-65.565269, -45.036786],
- [-66.509966, -45.039628],
- [-67.293794, -45.551896],
- [-67.580546, -46.301773],
- [-66.597066, -47.033925],
- [-65.641027, -47.236135],
- [-65.985088, -48.133289],
- [-67.166179, -48.697337],
- [-67.816088, -49.869669],
- [-68.728745, -50.264218],
- [-69.138539, -50.73251],
- [-68.815561, -51.771104],
- [-68.149995, -52.349983],
- [-68.571545, -52.299444],
- [-69.498362, -52.142761],
- [-71.914804, -52.009022],
- [-72.329404, -51.425956],
- [-72.309974, -50.67701],
- [-72.975747, -50.74145],
- [-73.328051, -50.378785],
- [-73.415436, -49.318436],
- [-72.648247, -48.878618],
- [-72.331161, -48.244238],
- [-72.447355, -47.738533],
- [-71.917258, -46.884838],
- [-71.552009, -45.560733],
- [-71.659316, -44.973689],
- [-71.222779, -44.784243],
- [-71.329801, -44.407522],
- [-71.793623, -44.207172],
- [-71.464056, -43.787611],
- [-71.915424, -43.408565],
- [-72.148898, -42.254888],
- [-71.746804, -42.051386],
- [-71.915734, -40.832339],
- [-71.680761, -39.808164],
- [-71.413517, -38.916022],
- [-70.814664, -38.552995],
- [-71.118625, -37.576827],
- [-71.121881, -36.658124],
- [-70.364769, -36.005089],
- [-70.388049, -35.169688],
- [-69.817309, -34.193571],
- [-69.814777, -33.273886],
- [-70.074399, -33.09121],
- [-70.535069, -31.36501],
- [-69.919008, -30.336339],
- [-70.01355, -29.367923],
- [-69.65613, -28.459141],
- [-69.001235, -27.521214],
- [-68.295542, -26.89934],
- [-68.5948, -26.506909],
- [-68.386001, -26.185016],
- [-68.417653, -24.518555],
- [-67.328443, -24.025303],
- [-66.985234, -22.986349],
- [-67.106674, -22.735925],
- [-66.273339, -21.83231],
- [-64.964892, -22.075862]
- ]
- ]
- ]
- },
- "id": "ARG"
- },
- {
- "type": "Feature",
- "properties": { "name": "Armenia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [43.582746, 41.092143],
- [44.97248, 41.248129],
- [45.179496, 40.985354],
- [45.560351, 40.81229],
- [45.359175, 40.561504],
- [45.891907, 40.218476],
- [45.610012, 39.899994],
- [46.034534, 39.628021],
- [46.483499, 39.464155],
- [46.50572, 38.770605],
- [46.143623, 38.741201],
- [45.735379, 39.319719],
- [45.739978, 39.473999],
- [45.298145, 39.471751],
- [45.001987, 39.740004],
- [44.79399, 39.713003],
- [44.400009, 40.005],
- [43.656436, 40.253564],
- [43.752658, 40.740201],
- [43.582746, 41.092143]
- ]
- ]
- },
- "id": "ARM"
- },
- {
- "type": "Feature",
- "properties": { "name": "French Southern and Antarctic Lands" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [68.935, -48.625],
- [69.58, -48.94],
- [70.525, -49.065],
- [70.56, -49.255],
- [70.28, -49.71],
- [68.745, -49.775],
- [68.72, -49.2425],
- [68.8675, -48.83],
- [68.935, -48.625]
- ]
- ]
- },
- "id": "ATF"
- },
- {
- "type": "Feature",
- "properties": { "name": "Australia" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [145.397978, -40.792549],
- [146.364121, -41.137695],
- [146.908584, -41.000546],
- [147.689259, -40.808258],
- [148.289068, -40.875438],
- [148.359865, -42.062445],
- [148.017301, -42.407024],
- [147.914052, -43.211522],
- [147.564564, -42.937689],
- [146.870343, -43.634597],
- [146.663327, -43.580854],
- [146.048378, -43.549745],
- [145.43193, -42.693776],
- [145.29509, -42.03361],
- [144.718071, -41.162552],
- [144.743755, -40.703975],
- [145.397978, -40.792549]
- ]
- ],
- [
- [
- [143.561811, -13.763656],
- [143.922099, -14.548311],
- [144.563714, -14.171176],
- [144.894908, -14.594458],
- [145.374724, -14.984976],
- [145.271991, -15.428205],
- [145.48526, -16.285672],
- [145.637033, -16.784918],
- [145.888904, -16.906926],
- [146.160309, -17.761655],
- [146.063674, -18.280073],
- [146.387478, -18.958274],
- [147.471082, -19.480723],
- [148.177602, -19.955939],
- [148.848414, -20.39121],
- [148.717465, -20.633469],
- [149.28942, -21.260511],
- [149.678337, -22.342512],
- [150.077382, -22.122784],
- [150.482939, -22.556142],
- [150.727265, -22.402405],
- [150.899554, -23.462237],
- [151.609175, -24.076256],
- [152.07354, -24.457887],
- [152.855197, -25.267501],
- [153.136162, -26.071173],
- [153.161949, -26.641319],
- [153.092909, -27.2603],
- [153.569469, -28.110067],
- [153.512108, -28.995077],
- [153.339095, -29.458202],
- [153.069241, -30.35024],
- [153.089602, -30.923642],
- [152.891578, -31.640446],
- [152.450002, -32.550003],
- [151.709117, -33.041342],
- [151.343972, -33.816023],
- [151.010555, -34.31036],
- [150.714139, -35.17346],
- [150.32822, -35.671879],
- [150.075212, -36.420206],
- [149.946124, -37.109052],
- [149.997284, -37.425261],
- [149.423882, -37.772681],
- [148.304622, -37.809061],
- [147.381733, -38.219217],
- [146.922123, -38.606532],
- [146.317922, -39.035757],
- [145.489652, -38.593768],
- [144.876976, -38.417448],
- [145.032212, -37.896188],
- [144.485682, -38.085324],
- [143.609974, -38.809465],
- [142.745427, -38.538268],
- [142.17833, -38.380034],
- [141.606582, -38.308514],
- [140.638579, -38.019333],
- [139.992158, -37.402936],
- [139.806588, -36.643603],
- [139.574148, -36.138362],
- [139.082808, -35.732754],
- [138.120748, -35.612296],
- [138.449462, -35.127261],
- [138.207564, -34.384723],
- [137.71917, -35.076825],
- [136.829406, -35.260535],
- [137.352371, -34.707339],
- [137.503886, -34.130268],
- [137.890116, -33.640479],
- [137.810328, -32.900007],
- [136.996837, -33.752771],
- [136.372069, -34.094766],
- [135.989043, -34.890118],
- [135.208213, -34.47867],
- [135.239218, -33.947953],
- [134.613417, -33.222778],
- [134.085904, -32.848072],
- [134.273903, -32.617234],
- [132.990777, -32.011224],
- [132.288081, -31.982647],
- [131.326331, -31.495803],
- [129.535794, -31.590423],
- [128.240938, -31.948489],
- [127.102867, -32.282267],
- [126.148714, -32.215966],
- [125.088623, -32.728751],
- [124.221648, -32.959487],
- [124.028947, -33.483847],
- [123.659667, -33.890179],
- [122.811036, -33.914467],
- [122.183064, -34.003402],
- [121.299191, -33.821036],
- [120.580268, -33.930177],
- [119.893695, -33.976065],
- [119.298899, -34.509366],
- [119.007341, -34.464149],
- [118.505718, -34.746819],
- [118.024972, -35.064733],
- [117.295507, -35.025459],
- [116.625109, -35.025097],
- [115.564347, -34.386428],
- [115.026809, -34.196517],
- [115.048616, -33.623425],
- [115.545123, -33.487258],
- [115.714674, -33.259572],
- [115.679379, -32.900369],
- [115.801645, -32.205062],
- [115.689611, -31.612437],
- [115.160909, -30.601594],
- [114.997043, -30.030725],
- [115.040038, -29.461095],
- [114.641974, -28.810231],
- [114.616498, -28.516399],
- [114.173579, -28.118077],
- [114.048884, -27.334765],
- [113.477498, -26.543134],
- [113.338953, -26.116545],
- [113.778358, -26.549025],
- [113.440962, -25.621278],
- [113.936901, -25.911235],
- [114.232852, -26.298446],
- [114.216161, -25.786281],
- [113.721255, -24.998939],
- [113.625344, -24.683971],
- [113.393523, -24.384764],
- [113.502044, -23.80635],
- [113.706993, -23.560215],
- [113.843418, -23.059987],
- [113.736552, -22.475475],
- [114.149756, -21.755881],
- [114.225307, -22.517488],
- [114.647762, -21.82952],
- [115.460167, -21.495173],
- [115.947373, -21.068688],
- [116.711615, -20.701682],
- [117.166316, -20.623599],
- [117.441545, -20.746899],
- [118.229559, -20.374208],
- [118.836085, -20.263311],
- [118.987807, -20.044203],
- [119.252494, -19.952942],
- [119.805225, -19.976506],
- [120.85622, -19.683708],
- [121.399856, -19.239756],
- [121.655138, -18.705318],
- [122.241665, -18.197649],
- [122.286624, -17.798603],
- [122.312772, -17.254967],
- [123.012574, -16.4052],
- [123.433789, -17.268558],
- [123.859345, -17.069035],
- [123.503242, -16.596506],
- [123.817073, -16.111316],
- [124.258287, -16.327944],
- [124.379726, -15.56706],
- [124.926153, -15.0751],
- [125.167275, -14.680396],
- [125.670087, -14.51007],
- [125.685796, -14.230656],
- [126.125149, -14.347341],
- [126.142823, -14.095987],
- [126.582589, -13.952791],
- [127.065867, -13.817968],
- [127.804633, -14.276906],
- [128.35969, -14.86917],
- [128.985543, -14.875991],
- [129.621473, -14.969784],
- [129.4096, -14.42067],
- [129.888641, -13.618703],
- [130.339466, -13.357376],
- [130.183506, -13.10752],
- [130.617795, -12.536392],
- [131.223495, -12.183649],
- [131.735091, -12.302453],
- [132.575298, -12.114041],
- [132.557212, -11.603012],
- [131.824698, -11.273782],
- [132.357224, -11.128519],
- [133.019561, -11.376411],
- [133.550846, -11.786515],
- [134.393068, -12.042365],
- [134.678632, -11.941183],
- [135.298491, -12.248606],
- [135.882693, -11.962267],
- [136.258381, -12.049342],
- [136.492475, -11.857209],
- [136.95162, -12.351959],
- [136.685125, -12.887223],
- [136.305407, -13.29123],
- [135.961758, -13.324509],
- [136.077617, -13.724278],
- [135.783836, -14.223989],
- [135.428664, -14.715432],
- [135.500184, -14.997741],
- [136.295175, -15.550265],
- [137.06536, -15.870762],
- [137.580471, -16.215082],
- [138.303217, -16.807604],
- [138.585164, -16.806622],
- [139.108543, -17.062679],
- [139.260575, -17.371601],
- [140.215245, -17.710805],
- [140.875463, -17.369069],
- [141.07111, -16.832047],
- [141.274095, -16.38887],
- [141.398222, -15.840532],
- [141.702183, -15.044921],
- [141.56338, -14.561333],
- [141.63552, -14.270395],
- [141.519869, -13.698078],
- [141.65092, -12.944688],
- [141.842691, -12.741548],
- [141.68699, -12.407614],
- [141.928629, -11.877466],
- [142.118488, -11.328042],
- [142.143706, -11.042737],
- [142.51526, -10.668186],
- [142.79731, -11.157355],
- [142.866763, -11.784707],
- [143.115947, -11.90563],
- [143.158632, -12.325656],
- [143.522124, -12.834358],
- [143.597158, -13.400422],
- [143.561811, -13.763656]
- ]
- ]
- ]
- },
- "id": "AUS"
- },
- {
- "type": "Feature",
- "properties": { "name": "Austria" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [16.979667, 48.123497],
- [16.903754, 47.714866],
- [16.340584, 47.712902],
- [16.534268, 47.496171],
- [16.202298, 46.852386],
- [16.011664, 46.683611],
- [15.137092, 46.658703],
- [14.632472, 46.431817],
- [13.806475, 46.509306],
- [12.376485, 46.767559],
- [12.153088, 47.115393],
- [11.164828, 46.941579],
- [11.048556, 46.751359],
- [10.442701, 46.893546],
- [9.932448, 46.920728],
- [9.47997, 47.10281],
- [9.632932, 47.347601],
- [9.594226, 47.525058],
- [9.896068, 47.580197],
- [10.402084, 47.302488],
- [10.544504, 47.566399],
- [11.426414, 47.523766],
- [12.141357, 47.703083],
- [12.62076, 47.672388],
- [12.932627, 47.467646],
- [13.025851, 47.637584],
- [12.884103, 48.289146],
- [13.243357, 48.416115],
- [13.595946, 48.877172],
- [14.338898, 48.555305],
- [14.901447, 48.964402],
- [15.253416, 49.039074],
- [16.029647, 48.733899],
- [16.499283, 48.785808],
- [16.960288, 48.596982],
- [16.879983, 48.470013],
- [16.979667, 48.123497]
- ]
- ]
- },
- "id": "AUT"
- },
- {
- "type": "Feature",
- "properties": { "name": "Azerbaijan" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [45.001987, 39.740004],
- [45.298145, 39.471751],
- [45.739978, 39.473999],
- [45.735379, 39.319719],
- [46.143623, 38.741201],
- [45.457722, 38.874139],
- [44.952688, 39.335765],
- [44.79399, 39.713003],
- [45.001987, 39.740004]
- ]
- ],
- [
- [
- [47.373315, 41.219732],
- [47.815666, 41.151416],
- [47.987283, 41.405819],
- [48.584353, 41.80887],
- [49.110264, 41.282287],
- [49.618915, 40.572924],
- [50.08483, 40.526157],
- [50.392821, 40.256561],
- [49.569202, 40.176101],
- [49.395259, 39.399482],
- [49.223228, 39.049219],
- [48.856532, 38.815486],
- [48.883249, 38.320245],
- [48.634375, 38.270378],
- [48.010744, 38.794015],
- [48.355529, 39.288765],
- [48.060095, 39.582235],
- [47.685079, 39.508364],
- [46.50572, 38.770605],
- [46.483499, 39.464155],
- [46.034534, 39.628021],
- [45.610012, 39.899994],
- [45.891907, 40.218476],
- [45.359175, 40.561504],
- [45.560351, 40.81229],
- [45.179496, 40.985354],
- [44.97248, 41.248129],
- [45.217426, 41.411452],
- [45.962601, 41.123873],
- [46.501637, 41.064445],
- [46.637908, 41.181673],
- [46.145432, 41.722802],
- [46.404951, 41.860675],
- [46.686071, 41.827137],
- [47.373315, 41.219732]
- ]
- ]
- ]
- },
- "id": "AZE"
- },
- {
- "type": "Feature",
- "properties": { "name": "Burundi" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [29.339998, -4.499983],
- [29.276384, -3.293907],
- [29.024926, -2.839258],
- [29.632176, -2.917858],
- [29.938359, -2.348487],
- [30.469696, -2.413858],
- [30.527677, -2.807632],
- [30.743013, -3.034285],
- [30.752263, -3.35933],
- [30.50556, -3.568567],
- [30.116333, -4.090138],
- [29.753512, -4.452389],
- [29.339998, -4.499983]
- ]
- ]
- },
- "id": "BDI"
- },
- {
- "type": "Feature",
- "properties": { "name": "Belgium" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [3.314971, 51.345781],
- [4.047071, 51.267259],
- [4.973991, 51.475024],
- [5.606976, 51.037298],
- [6.156658, 50.803721],
- [6.043073, 50.128052],
- [5.782417, 50.090328],
- [5.674052, 49.529484],
- [4.799222, 49.985373],
- [4.286023, 49.907497],
- [3.588184, 50.378992],
- [3.123252, 50.780363],
- [2.658422, 50.796848],
- [2.513573, 51.148506],
- [3.314971, 51.345781]
- ]
- ]
- },
- "id": "BEL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Benin" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [2.691702, 6.258817],
- [1.865241, 6.142158],
- [1.618951, 6.832038],
- [1.664478, 9.12859],
- [1.463043, 9.334624],
- [1.425061, 9.825395],
- [1.077795, 10.175607],
- [0.772336, 10.470808],
- [0.899563, 10.997339],
- [1.24347, 11.110511],
- [1.447178, 11.547719],
- [1.935986, 11.64115],
- [2.154474, 11.94015],
- [2.490164, 12.233052],
- [2.848643, 12.235636],
- [3.61118, 11.660167],
- [3.572216, 11.327939],
- [3.797112, 10.734746],
- [3.60007, 10.332186],
- [3.705438, 10.06321],
- [3.220352, 9.444153],
- [2.912308, 9.137608],
- [2.723793, 8.506845],
- [2.749063, 7.870734],
- [2.691702, 6.258817]
- ]
- ]
- },
- "id": "BEN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Burkina Faso" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-2.827496, 9.642461],
- [-3.511899, 9.900326],
- [-3.980449, 9.862344],
- [-4.330247, 9.610835],
- [-4.779884, 9.821985],
- [-4.954653, 10.152714],
- [-5.404342, 10.370737],
- [-5.470565, 10.95127],
- [-5.197843, 11.375146],
- [-5.220942, 11.713859],
- [-4.427166, 12.542646],
- [-4.280405, 13.228444],
- [-4.006391, 13.472485],
- [-3.522803, 13.337662],
- [-3.103707, 13.541267],
- [-2.967694, 13.79815],
- [-2.191825, 14.246418],
- [-2.001035, 14.559008],
- [-1.066363, 14.973815],
- [-0.515854, 15.116158],
- [-0.266257, 14.924309],
- [0.374892, 14.928908],
- [0.295646, 14.444235],
- [0.429928, 13.988733],
- [0.993046, 13.33575],
- [1.024103, 12.851826],
- [2.177108, 12.625018],
- [2.154474, 11.94015],
- [1.935986, 11.64115],
- [1.447178, 11.547719],
- [1.24347, 11.110511],
- [0.899563, 10.997339],
- [0.023803, 11.018682],
- [-0.438702, 11.098341],
- [-0.761576, 10.93693],
- [-1.203358, 11.009819],
- [-2.940409, 10.96269],
- [-2.963896, 10.395335],
- [-2.827496, 9.642461]
- ]
- ]
- },
- "id": "BFA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Bangladesh" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [92.672721, 22.041239],
- [92.652257, 21.324048],
- [92.303234, 21.475485],
- [92.368554, 20.670883],
- [92.082886, 21.192195],
- [92.025215, 21.70157],
- [91.834891, 22.182936],
- [91.417087, 22.765019],
- [90.496006, 22.805017],
- [90.586957, 22.392794],
- [90.272971, 21.836368],
- [89.847467, 22.039146],
- [89.70205, 21.857116],
- [89.418863, 21.966179],
- [89.031961, 22.055708],
- [88.876312, 22.879146],
- [88.52977, 23.631142],
- [88.69994, 24.233715],
- [88.084422, 24.501657],
- [88.306373, 24.866079],
- [88.931554, 25.238692],
- [88.209789, 25.768066],
- [88.563049, 26.446526],
- [89.355094, 26.014407],
- [89.832481, 25.965082],
- [89.920693, 25.26975],
- [90.872211, 25.132601],
- [91.799596, 25.147432],
- [92.376202, 24.976693],
- [91.915093, 24.130414],
- [91.46773, 24.072639],
- [91.158963, 23.503527],
- [91.706475, 22.985264],
- [91.869928, 23.624346],
- [92.146035, 23.627499],
- [92.672721, 22.041239]
- ]
- ]
- },
- "id": "BGD"
- },
- {
- "type": "Feature",
- "properties": { "name": "Bulgaria" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [22.65715, 44.234923],
- [22.944832, 43.823785],
- [23.332302, 43.897011],
- [24.100679, 43.741051],
- [25.569272, 43.688445],
- [26.065159, 43.943494],
- [27.2424, 44.175986],
- [27.970107, 43.812468],
- [28.558081, 43.707462],
- [28.039095, 43.293172],
- [27.673898, 42.577892],
- [27.99672, 42.007359],
- [27.135739, 42.141485],
- [26.117042, 41.826905],
- [26.106138, 41.328899],
- [25.197201, 41.234486],
- [24.492645, 41.583896],
- [23.692074, 41.309081],
- [22.952377, 41.337994],
- [22.881374, 41.999297],
- [22.380526, 42.32026],
- [22.545012, 42.461362],
- [22.436595, 42.580321],
- [22.604801, 42.898519],
- [22.986019, 43.211161],
- [22.500157, 43.642814],
- [22.410446, 44.008063],
- [22.65715, 44.234923]
- ]
- ]
- },
- "id": "BGR"
- },
- {
- "type": "Feature",
- "properties": { "name": "The Bahamas" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [-77.53466, 23.75975],
- [-77.78, 23.71],
- [-78.03405, 24.28615],
- [-78.40848, 24.57564],
- [-78.19087, 25.2103],
- [-77.89, 25.17],
- [-77.54, 24.34],
- [-77.53466, 23.75975]
- ]
- ],
- [
- [
- [-77.82, 26.58],
- [-78.91, 26.42],
- [-78.98, 26.79],
- [-78.51, 26.87],
- [-77.85, 26.84],
- [-77.82, 26.58]
- ]
- ],
- [
- [
- [-77, 26.59],
- [-77.17255, 25.87918],
- [-77.35641, 26.00735],
- [-77.34, 26.53],
- [-77.78802, 26.92516],
- [-77.79, 27.04],
- [-77, 26.59]
- ]
- ]
- ]
- },
- "id": "BHS"
- },
- {
- "type": "Feature",
- "properties": { "name": "Bosnia and Herzegovina" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [19.005486, 44.860234],
- [19.36803, 44.863],
- [19.11761, 44.42307],
- [19.59976, 44.03847],
- [19.454, 43.5681],
- [19.21852, 43.52384],
- [19.03165, 43.43253],
- [18.70648, 43.20011],
- [18.56, 42.65],
- [17.674922, 43.028563],
- [17.297373, 43.446341],
- [16.916156, 43.667722],
- [16.456443, 44.04124],
- [16.23966, 44.351143],
- [15.750026, 44.818712],
- [15.959367, 45.233777],
- [16.318157, 45.004127],
- [16.534939, 45.211608],
- [17.002146, 45.233777],
- [17.861783, 45.06774],
- [18.553214, 45.08159],
- [19.005486, 44.860234]
- ]
- ]
- },
- "id": "BIH"
- },
- {
- "type": "Feature",
- "properties": { "name": "Belarus" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [23.484128, 53.912498],
- [24.450684, 53.905702],
- [25.536354, 54.282423],
- [25.768433, 54.846963],
- [26.588279, 55.167176],
- [26.494331, 55.615107],
- [27.10246, 55.783314],
- [28.176709, 56.16913],
- [29.229513, 55.918344],
- [29.371572, 55.670091],
- [29.896294, 55.789463],
- [30.873909, 55.550976],
- [30.971836, 55.081548],
- [30.757534, 54.811771],
- [31.384472, 54.157056],
- [31.791424, 53.974639],
- [31.731273, 53.794029],
- [32.405599, 53.618045],
- [32.693643, 53.351421],
- [32.304519, 53.132726],
- [31.497644, 53.167427],
- [31.305201, 53.073996],
- [31.540018, 52.742052],
- [31.785998, 52.101678],
- [30.927549, 52.042353],
- [30.619454, 51.822806],
- [30.555117, 51.319503],
- [30.157364, 51.416138],
- [29.254938, 51.368234],
- [28.992835, 51.602044],
- [28.617613, 51.427714],
- [28.241615, 51.572227],
- [27.454066, 51.592303],
- [26.337959, 51.832289],
- [25.327788, 51.910656],
- [24.553106, 51.888461],
- [24.005078, 51.617444],
- [23.527071, 51.578454],
- [23.508002, 52.023647],
- [23.199494, 52.486977],
- [23.799199, 52.691099],
- [23.804935, 53.089731],
- [23.527536, 53.470122],
- [23.484128, 53.912498]
- ]
- ]
- },
- "id": "BLR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Belize" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-89.14308, 17.808319],
- [-89.150909, 17.955468],
- [-89.029857, 18.001511],
- [-88.848344, 17.883198],
- [-88.490123, 18.486831],
- [-88.300031, 18.499982],
- [-88.296336, 18.353273],
- [-88.106813, 18.348674],
- [-88.123479, 18.076675],
- [-88.285355, 17.644143],
- [-88.197867, 17.489475],
- [-88.302641, 17.131694],
- [-88.239518, 17.036066],
- [-88.355428, 16.530774],
- [-88.551825, 16.265467],
- [-88.732434, 16.233635],
- [-88.930613, 15.887273],
- [-89.229122, 15.886938],
- [-89.150806, 17.015577],
- [-89.14308, 17.808319]
- ]
- ]
- },
- "id": "BLZ"
- },
- {
- "type": "Feature",
- "properties": { "name": "Bolivia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-62.846468, -22.034985],
- [-63.986838, -21.993644],
- [-64.377021, -22.798091],
- [-64.964892, -22.075862],
- [-66.273339, -21.83231],
- [-67.106674, -22.735925],
- [-67.82818, -22.872919],
- [-68.219913, -21.494347],
- [-68.757167, -20.372658],
- [-68.442225, -19.405068],
- [-68.966818, -18.981683],
- [-69.100247, -18.260125],
- [-69.590424, -17.580012],
- [-68.959635, -16.500698],
- [-69.389764, -15.660129],
- [-69.160347, -15.323974],
- [-69.339535, -14.953195],
- [-68.948887, -14.453639],
- [-68.929224, -13.602684],
- [-68.88008, -12.899729],
- [-68.66508, -12.5613],
- [-69.529678, -10.951734],
- [-68.786158, -11.03638],
- [-68.271254, -11.014521],
- [-68.048192, -10.712059],
- [-67.173801, -10.306812],
- [-66.646908, -9.931331],
- [-65.338435, -9.761988],
- [-65.444837, -10.511451],
- [-65.321899, -10.895872],
- [-65.402281, -11.56627],
- [-64.316353, -12.461978],
- [-63.196499, -12.627033],
- [-62.80306, -13.000653],
- [-62.127081, -13.198781],
- [-61.713204, -13.489202],
- [-61.084121, -13.479384],
- [-60.503304, -13.775955],
- [-60.459198, -14.354007],
- [-60.264326, -14.645979],
- [-60.251149, -15.077219],
- [-60.542966, -15.09391],
- [-60.15839, -16.258284],
- [-58.24122, -16.299573],
- [-58.388058, -16.877109],
- [-58.280804, -17.27171],
- [-57.734558, -17.552468],
- [-57.498371, -18.174188],
- [-57.676009, -18.96184],
- [-57.949997, -19.400004],
- [-57.853802, -19.969995],
- [-58.166392, -20.176701],
- [-58.183471, -19.868399],
- [-59.115042, -19.356906],
- [-60.043565, -19.342747],
- [-61.786326, -19.633737],
- [-62.265961, -20.513735],
- [-62.291179, -21.051635],
- [-62.685057, -22.249029],
- [-62.846468, -22.034985]
- ]
- ]
- },
- "id": "BOL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Brazil" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-57.625133, -30.216295],
- [-56.2909, -28.852761],
- [-55.162286, -27.881915],
- [-54.490725, -27.474757],
- [-53.648735, -26.923473],
- [-53.628349, -26.124865],
- [-54.13005, -25.547639],
- [-54.625291, -25.739255],
- [-54.428946, -25.162185],
- [-54.293476, -24.5708],
- [-54.29296, -24.021014],
- [-54.652834, -23.839578],
- [-55.027902, -24.001274],
- [-55.400747, -23.956935],
- [-55.517639, -23.571998],
- [-55.610683, -22.655619],
- [-55.797958, -22.35693],
- [-56.473317, -22.0863],
- [-56.88151, -22.282154],
- [-57.937156, -22.090176],
- [-57.870674, -20.732688],
- [-58.166392, -20.176701],
- [-57.853802, -19.969995],
- [-57.949997, -19.400004],
- [-57.676009, -18.96184],
- [-57.498371, -18.174188],
- [-57.734558, -17.552468],
- [-58.280804, -17.27171],
- [-58.388058, -16.877109],
- [-58.24122, -16.299573],
- [-60.15839, -16.258284],
- [-60.542966, -15.09391],
- [-60.251149, -15.077219],
- [-60.264326, -14.645979],
- [-60.459198, -14.354007],
- [-60.503304, -13.775955],
- [-61.084121, -13.479384],
- [-61.713204, -13.489202],
- [-62.127081, -13.198781],
- [-62.80306, -13.000653],
- [-63.196499, -12.627033],
- [-64.316353, -12.461978],
- [-65.402281, -11.56627],
- [-65.321899, -10.895872],
- [-65.444837, -10.511451],
- [-65.338435, -9.761988],
- [-66.646908, -9.931331],
- [-67.173801, -10.306812],
- [-68.048192, -10.712059],
- [-68.271254, -11.014521],
- [-68.786158, -11.03638],
- [-69.529678, -10.951734],
- [-70.093752, -11.123972],
- [-70.548686, -11.009147],
- [-70.481894, -9.490118],
- [-71.302412, -10.079436],
- [-72.184891, -10.053598],
- [-72.563033, -9.520194],
- [-73.226713, -9.462213],
- [-73.015383, -9.032833],
- [-73.571059, -8.424447],
- [-73.987235, -7.52383],
- [-73.723401, -7.340999],
- [-73.724487, -6.918595],
- [-73.120027, -6.629931],
- [-73.219711, -6.089189],
- [-72.964507, -5.741251],
- [-72.891928, -5.274561],
- [-71.748406, -4.593983],
- [-70.928843, -4.401591],
- [-70.794769, -4.251265],
- [-69.893635, -4.298187],
- [-69.444102, -1.556287],
- [-69.420486, -1.122619],
- [-69.577065, -0.549992],
- [-70.020656, -0.185156],
- [-70.015566, 0.541414],
- [-69.452396, 0.706159],
- [-69.252434, 0.602651],
- [-69.218638, 0.985677],
- [-69.804597, 1.089081],
- [-69.816973, 1.714805],
- [-67.868565, 1.692455],
- [-67.53781, 2.037163],
- [-67.259998, 1.719999],
- [-67.065048, 1.130112],
- [-66.876326, 1.253361],
- [-66.325765, 0.724452],
- [-65.548267, 0.789254],
- [-65.354713, 1.095282],
- [-64.611012, 1.328731],
- [-64.199306, 1.492855],
- [-64.083085, 1.916369],
- [-63.368788, 2.2009],
- [-63.422867, 2.411068],
- [-64.269999, 2.497006],
- [-64.408828, 3.126786],
- [-64.368494, 3.79721],
- [-64.816064, 4.056445],
- [-64.628659, 4.148481],
- [-63.888343, 4.02053],
- [-63.093198, 3.770571],
- [-62.804533, 4.006965],
- [-62.08543, 4.162124],
- [-60.966893, 4.536468],
- [-60.601179, 4.918098],
- [-60.733574, 5.200277],
- [-60.213683, 5.244486],
- [-59.980959, 5.014061],
- [-60.111002, 4.574967],
- [-59.767406, 4.423503],
- [-59.53804, 3.958803],
- [-59.815413, 3.606499],
- [-59.974525, 2.755233],
- [-59.718546, 2.24963],
- [-59.646044, 1.786894],
- [-59.030862, 1.317698],
- [-58.540013, 1.268088],
- [-58.429477, 1.463942],
- [-58.11345, 1.507195],
- [-57.660971, 1.682585],
- [-57.335823, 1.948538],
- [-56.782704, 1.863711],
- [-56.539386, 1.899523],
- [-55.995698, 1.817667],
- [-55.9056, 2.021996],
- [-56.073342, 2.220795],
- [-55.973322, 2.510364],
- [-55.569755, 2.421506],
- [-55.097587, 2.523748],
- [-54.524754, 2.311849],
- [-54.088063, 2.105557],
- [-53.778521, 2.376703],
- [-53.554839, 2.334897],
- [-53.418465, 2.053389],
- [-52.939657, 2.124858],
- [-52.556425, 2.504705],
- [-52.249338, 3.241094],
- [-51.657797, 4.156232],
- [-51.317146, 4.203491],
- [-51.069771, 3.650398],
- [-50.508875, 1.901564],
- [-49.974076, 1.736483],
- [-49.947101, 1.04619],
- [-50.699251, 0.222984],
- [-50.388211, -0.078445],
- [-48.620567, -0.235489],
- [-48.584497, -1.237805],
- [-47.824956, -0.581618],
- [-46.566584, -0.941028],
- [-44.905703, -1.55174],
- [-44.417619, -2.13775],
- [-44.581589, -2.691308],
- [-43.418791, -2.38311],
- [-41.472657, -2.912018],
- [-39.978665, -2.873054],
- [-38.500383, -3.700652],
- [-37.223252, -4.820946],
- [-36.452937, -5.109404],
- [-35.597796, -5.149504],
- [-35.235389, -5.464937],
- [-34.89603, -6.738193],
- [-34.729993, -7.343221],
- [-35.128212, -8.996401],
- [-35.636967, -9.649282],
- [-37.046519, -11.040721],
- [-37.683612, -12.171195],
- [-38.423877, -13.038119],
- [-38.673887, -13.057652],
- [-38.953276, -13.79337],
- [-38.882298, -15.667054],
- [-39.161092, -17.208407],
- [-39.267339, -17.867746],
- [-39.583521, -18.262296],
- [-39.760823, -19.599113],
- [-40.774741, -20.904512],
- [-40.944756, -21.937317],
- [-41.754164, -22.370676],
- [-41.988284, -22.97007],
- [-43.074704, -22.967693],
- [-44.647812, -23.351959],
- [-45.352136, -23.796842],
- [-46.472093, -24.088969],
- [-47.648972, -24.885199],
- [-48.495458, -25.877025],
- [-48.641005, -26.623698],
- [-48.474736, -27.175912],
- [-48.66152, -28.186135],
- [-48.888457, -28.674115],
- [-49.587329, -29.224469],
- [-50.696874, -30.984465],
- [-51.576226, -31.777698],
- [-52.256081, -32.24537],
- [-52.7121, -33.196578],
- [-53.373662, -33.768378],
- [-53.650544, -33.202004],
- [-53.209589, -32.727666],
- [-53.787952, -32.047243],
- [-54.572452, -31.494511],
- [-55.60151, -30.853879],
- [-55.973245, -30.883076],
- [-56.976026, -30.109686],
- [-57.625133, -30.216295]
- ]
- ]
- },
- "id": "BRA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Brunei" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [114.204017, 4.525874],
- [114.599961, 4.900011],
- [115.45071, 5.44773],
- [115.4057, 4.955228],
- [115.347461, 4.316636],
- [114.869557, 4.348314],
- [114.659596, 4.007637],
- [114.204017, 4.525874]
- ]
- ]
- },
- "id": "BRN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Bhutan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [91.696657, 27.771742],
- [92.103712, 27.452614],
- [92.033484, 26.83831],
- [91.217513, 26.808648],
- [90.373275, 26.875724],
- [89.744528, 26.719403],
- [88.835643, 27.098966],
- [88.814248, 27.299316],
- [89.47581, 28.042759],
- [90.015829, 28.296439],
- [90.730514, 28.064954],
- [91.258854, 28.040614],
- [91.696657, 27.771742]
- ]
- ]
- },
- "id": "BTN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Botswana" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [25.649163, -18.536026],
- [25.850391, -18.714413],
- [26.164791, -19.293086],
- [27.296505, -20.39152],
- [27.724747, -20.499059],
- [27.727228, -20.851802],
- [28.02137, -21.485975],
- [28.794656, -21.639454],
- [29.432188, -22.091313],
- [28.017236, -22.827754],
- [27.11941, -23.574323],
- [26.786407, -24.240691],
- [26.485753, -24.616327],
- [25.941652, -24.696373],
- [25.765849, -25.174845],
- [25.664666, -25.486816],
- [25.025171, -25.71967],
- [24.211267, -25.670216],
- [23.73357, -25.390129],
- [23.312097, -25.26869],
- [22.824271, -25.500459],
- [22.579532, -25.979448],
- [22.105969, -26.280256],
- [21.605896, -26.726534],
- [20.889609, -26.828543],
- [20.66647, -26.477453],
- [20.758609, -25.868136],
- [20.165726, -24.917962],
- [19.895768, -24.76779],
- [19.895458, -21.849157],
- [20.881134, -21.814327],
- [20.910641, -18.252219],
- [21.65504, -18.219146],
- [23.196858, -17.869038],
- [23.579006, -18.281261],
- [24.217365, -17.889347],
- [24.520705, -17.887125],
- [25.084443, -17.661816],
- [25.264226, -17.73654],
- [25.649163, -18.536026]
- ]
- ]
- },
- "id": "BWA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Central African Republic" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [15.27946, 7.421925],
- [16.106232, 7.497088],
- [16.290562, 7.754307],
- [16.456185, 7.734774],
- [16.705988, 7.508328],
- [17.96493, 7.890914],
- [18.389555, 8.281304],
- [18.911022, 8.630895],
- [18.81201, 8.982915],
- [19.094008, 9.074847],
- [20.059685, 9.012706],
- [21.000868, 9.475985],
- [21.723822, 10.567056],
- [22.231129, 10.971889],
- [22.864165, 11.142395],
- [22.977544, 10.714463],
- [23.554304, 10.089255],
- [23.55725, 9.681218],
- [23.394779, 9.265068],
- [23.459013, 8.954286],
- [23.805813, 8.666319],
- [24.567369, 8.229188],
- [25.114932, 7.825104],
- [25.124131, 7.500085],
- [25.796648, 6.979316],
- [26.213418, 6.546603],
- [26.465909, 5.946717],
- [27.213409, 5.550953],
- [27.374226, 5.233944],
- [27.044065, 5.127853],
- [26.402761, 5.150875],
- [25.650455, 5.256088],
- [25.278798, 5.170408],
- [25.128833, 4.927245],
- [24.805029, 4.897247],
- [24.410531, 5.108784],
- [23.297214, 4.609693],
- [22.84148, 4.710126],
- [22.704124, 4.633051],
- [22.405124, 4.02916],
- [21.659123, 4.224342],
- [20.927591, 4.322786],
- [20.290679, 4.691678],
- [19.467784, 5.031528],
- [18.932312, 4.709506],
- [18.542982, 4.201785],
- [18.453065, 3.504386],
- [17.8099, 3.560196],
- [17.133042, 3.728197],
- [16.537058, 3.198255],
- [16.012852, 2.26764],
- [15.907381, 2.557389],
- [15.862732, 3.013537],
- [15.405396, 3.335301],
- [15.03622, 3.851367],
- [14.950953, 4.210389],
- [14.478372, 4.732605],
- [14.558936, 5.030598],
- [14.459407, 5.451761],
- [14.53656, 6.226959],
- [14.776545, 6.408498],
- [15.27946, 7.421925]
- ]
- ]
- },
- "id": "CAF"
- },
- {
- "type": "Feature",
- "properties": { "name": "Canada" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [-63.6645, 46.55001],
- [-62.9393, 46.41587],
- [-62.01208, 46.44314],
- [-62.50391, 46.03339],
- [-62.87433, 45.96818],
- [-64.1428, 46.39265],
- [-64.39261, 46.72747],
- [-64.01486, 47.03601],
- [-63.6645, 46.55001]
- ]
- ],
- [
- [
- [-61.806305, 49.10506],
- [-62.29318, 49.08717],
- [-63.58926, 49.40069],
- [-64.51912, 49.87304],
- [-64.17322, 49.95718],
- [-62.85829, 49.70641],
- [-61.835585, 49.28855],
- [-61.806305, 49.10506]
- ]
- ],
- [
- [
- [-123.510002, 48.510011],
- [-124.012891, 48.370846],
- [-125.655013, 48.825005],
- [-125.954994, 49.179996],
- [-126.850004, 49.53],
- [-127.029993, 49.814996],
- [-128.059336, 49.994959],
- [-128.444584, 50.539138],
- [-128.358414, 50.770648],
- [-127.308581, 50.552574],
- [-126.695001, 50.400903],
- [-125.755007, 50.295018],
- [-125.415002, 49.950001],
- [-124.920768, 49.475275],
- [-123.922509, 49.062484],
- [-123.510002, 48.510011]
- ]
- ],
- [
- [
- [-56.134036, 50.68701],
- [-56.795882, 49.812309],
- [-56.143105, 50.150117],
- [-55.471492, 49.935815],
- [-55.822401, 49.587129],
- [-54.935143, 49.313011],
- [-54.473775, 49.556691],
- [-53.476549, 49.249139],
- [-53.786014, 48.516781],
- [-53.086134, 48.687804],
- [-52.958648, 48.157164],
- [-52.648099, 47.535548],
- [-53.069158, 46.655499],
- [-53.521456, 46.618292],
- [-54.178936, 46.807066],
- [-53.961869, 47.625207],
- [-54.240482, 47.752279],
- [-55.400773, 46.884994],
- [-55.997481, 46.91972],
- [-55.291219, 47.389562],
- [-56.250799, 47.632545],
- [-57.325229, 47.572807],
- [-59.266015, 47.603348],
- [-59.419494, 47.899454],
- [-58.796586, 48.251525],
- [-59.231625, 48.523188],
- [-58.391805, 49.125581],
- [-57.35869, 50.718274],
- [-56.73865, 51.287438],
- [-55.870977, 51.632094],
- [-55.406974, 51.588273],
- [-55.600218, 51.317075],
- [-56.134036, 50.68701]
- ]
- ],
- [
- [
- [-132.710008, 54.040009],
- [-132.710009, 54.040009],
- [-132.710008, 54.040009],
- [-132.710008, 54.040009],
- [-131.74999, 54.120004],
- [-132.04948, 52.984621],
- [-131.179043, 52.180433],
- [-131.57783, 52.182371],
- [-132.180428, 52.639707],
- [-132.549992, 53.100015],
- [-133.054611, 53.411469],
- [-133.239664, 53.85108],
- [-133.180004, 54.169975],
- [-132.710008, 54.040009]
- ]
- ],
- [
- [
- [-79.26582, 62.158675],
- [-79.65752, 61.63308],
- [-80.09956, 61.7181],
- [-80.36215, 62.01649],
- [-80.315395, 62.085565],
- [-79.92939, 62.3856],
- [-79.52002, 62.36371],
- [-79.26582, 62.158675]
- ]
- ],
- [
- [
- [-81.89825, 62.7108],
- [-83.06857, 62.15922],
- [-83.77462, 62.18231],
- [-83.99367, 62.4528],
- [-83.25048, 62.91409],
- [-81.87699, 62.90458],
- [-81.89825, 62.7108]
- ]
- ],
- [
- [
- [-85.161308, 65.657285],
- [-84.975764, 65.217518],
- [-84.464012, 65.371772],
- [-83.882626, 65.109618],
- [-82.787577, 64.766693],
- [-81.642014, 64.455136],
- [-81.55344, 63.979609],
- [-80.817361, 64.057486],
- [-80.103451, 63.725981],
- [-80.99102, 63.411246],
- [-82.547178, 63.651722],
- [-83.108798, 64.101876],
- [-84.100417, 63.569712],
- [-85.523405, 63.052379],
- [-85.866769, 63.637253],
- [-87.221983, 63.541238],
- [-86.35276, 64.035833],
- [-86.224886, 64.822917],
- [-85.883848, 65.738778],
- [-85.161308, 65.657285]
- ]
- ],
- [
- [
- [-75.86588, 67.14886],
- [-76.98687, 67.09873],
- [-77.2364, 67.58809],
- [-76.81166, 68.14856],
- [-75.89521, 68.28721],
- [-75.1145, 68.01036],
- [-75.10333, 67.58202],
- [-75.21597, 67.44425],
- [-75.86588, 67.14886]
- ]
- ],
- [
- [
- [-95.647681, 69.10769],
- [-96.269521, 68.75704],
- [-97.617401, 69.06003],
- [-98.431801, 68.9507],
- [-99.797401, 69.40003],
- [-98.917401, 69.71003],
- [-98.218261, 70.14354],
- [-97.157401, 69.86003],
- [-96.557401, 69.68003],
- [-96.257401, 69.49003],
- [-95.647681, 69.10769]
- ]
- ],
- [
- [
- [-90.5471, 69.49766],
- [-90.55151, 68.47499],
- [-89.21515, 69.25873],
- [-88.01966, 68.61508],
- [-88.31749, 67.87338],
- [-87.35017, 67.19872],
- [-86.30607, 67.92146],
- [-85.57664, 68.78456],
- [-85.52197, 69.88211],
- [-84.10081, 69.80539],
- [-82.62258, 69.65826],
- [-81.28043, 69.16202],
- [-81.2202, 68.66567],
- [-81.96436, 68.13253],
- [-81.25928, 67.59716],
- [-81.38653, 67.11078],
- [-83.34456, 66.41154],
- [-84.73542, 66.2573],
- [-85.76943, 66.55833],
- [-86.0676, 66.05625],
- [-87.03143, 65.21297],
- [-87.32324, 64.77563],
- [-88.48296, 64.09897],
- [-89.91444, 64.03273],
- [-90.70398, 63.61017],
- [-90.77004, 62.96021],
- [-91.93342, 62.83508],
- [-93.15698, 62.02469],
- [-94.24153, 60.89865],
- [-94.62931, 60.11021],
- [-94.6846, 58.94882],
- [-93.21502, 58.78212],
- [-92.76462, 57.84571],
- [-92.29703, 57.08709],
- [-90.89769, 57.28468],
- [-89.03953, 56.85172],
- [-88.03978, 56.47162],
- [-87.32421, 55.99914],
- [-86.07121, 55.72383],
- [-85.01181, 55.3026],
- [-83.36055, 55.24489],
- [-82.27285, 55.14832],
- [-82.4362, 54.28227],
- [-82.12502, 53.27703],
- [-81.40075, 52.15788],
- [-79.91289, 51.20842],
- [-79.14301, 51.53393],
- [-78.60191, 52.56208],
- [-79.12421, 54.14145],
- [-79.82958, 54.66772],
- [-78.22874, 55.13645],
- [-77.0956, 55.83741],
- [-76.54137, 56.53423],
- [-76.62319, 57.20263],
- [-77.30226, 58.05209],
- [-78.51688, 58.80458],
- [-77.33676, 59.85261],
- [-77.77272, 60.75788],
- [-78.10687, 62.31964],
- [-77.41067, 62.55053],
- [-75.69621, 62.2784],
- [-74.6682, 62.18111],
- [-73.83988, 62.4438],
- [-72.90853, 62.10507],
- [-71.67708, 61.52535],
- [-71.37369, 61.13717],
- [-69.59042, 61.06141],
- [-69.62033, 60.22125],
- [-69.2879, 58.95736],
- [-68.37455, 58.80106],
- [-67.64976, 58.21206],
- [-66.20178, 58.76731],
- [-65.24517, 59.87071],
- [-64.58352, 60.33558],
- [-63.80475, 59.4426],
- [-62.50236, 58.16708],
- [-61.39655, 56.96745],
- [-61.79866, 56.33945],
- [-60.46853, 55.77548],
- [-59.56962, 55.20407],
- [-57.97508, 54.94549],
- [-57.3332, 54.6265],
- [-56.93689, 53.78032],
- [-56.15811, 53.64749],
- [-55.75632, 53.27036],
- [-55.68338, 52.14664],
- [-56.40916, 51.7707],
- [-57.12691, 51.41972],
- [-58.77482, 51.0643],
- [-60.03309, 50.24277],
- [-61.72366, 50.08046],
- [-63.86251, 50.29099],
- [-65.36331, 50.2982],
- [-66.39905, 50.22897],
- [-67.23631, 49.51156],
- [-68.51114, 49.06836],
- [-69.95362, 47.74488],
- [-71.10458, 46.82171],
- [-70.25522, 46.98606],
- [-68.65, 48.3],
- [-66.55243, 49.1331],
- [-65.05626, 49.23278],
- [-64.17099, 48.74248],
- [-65.11545, 48.07085],
- [-64.79854, 46.99297],
- [-64.47219, 46.23849],
- [-63.17329, 45.73902],
- [-61.52072, 45.88377],
- [-60.51815, 47.00793],
- [-60.4486, 46.28264],
- [-59.80287, 45.9204],
- [-61.03988, 45.26525],
- [-63.25471, 44.67014],
- [-64.24656, 44.26553],
- [-65.36406, 43.54523],
- [-66.1234, 43.61867],
- [-66.16173, 44.46512],
- [-64.42549, 45.29204],
- [-66.02605, 45.25931],
- [-67.13741, 45.13753],
- [-67.79134, 45.70281],
- [-67.79046, 47.06636],
- [-68.23444, 47.35486],
- [-68.905, 47.185],
- [-69.237216, 47.447781],
- [-69.99997, 46.69307],
- [-70.305, 45.915],
- [-70.66, 45.46],
- [-71.08482, 45.30524],
- [-71.405, 45.255],
- [-71.50506, 45.0082],
- [-73.34783, 45.00738],
- [-74.867, 45.00048],
- [-75.31821, 44.81645],
- [-76.375, 44.09631],
- [-76.5, 44.018459],
- [-76.820034, 43.628784],
- [-77.737885, 43.629056],
- [-78.72028, 43.625089],
- [-79.171674, 43.466339],
- [-79.01, 43.27],
- [-78.92, 42.965],
- [-78.939362, 42.863611],
- [-80.247448, 42.3662],
- [-81.277747, 42.209026],
- [-82.439278, 41.675105],
- [-82.690089, 41.675105],
- [-83.02981, 41.832796],
- [-83.142, 41.975681],
- [-83.12, 42.08],
- [-82.9, 42.43],
- [-82.43, 42.98],
- [-82.137642, 43.571088],
- [-82.337763, 44.44],
- [-82.550925, 45.347517],
- [-83.592851, 45.816894],
- [-83.469551, 45.994686],
- [-83.616131, 46.116927],
- [-83.890765, 46.116927],
- [-84.091851, 46.275419],
- [-84.14212, 46.512226],
- [-84.3367, 46.40877],
- [-84.6049, 46.4396],
- [-84.543749, 46.538684],
- [-84.779238, 46.637102],
- [-84.87608, 46.900083],
- [-85.652363, 47.220219],
- [-86.461991, 47.553338],
- [-87.439793, 47.94],
- [-88.378114, 48.302918],
- [-89.272917, 48.019808],
- [-89.6, 48.01],
- [-90.83, 48.27],
- [-91.64, 48.14],
- [-92.61, 48.45],
- [-93.63087, 48.60926],
- [-94.32914, 48.67074],
- [-94.64, 48.84],
- [-94.81758, 49.38905],
- [-95.15609, 49.38425],
- [-95.15907, 49],
- [-97.22872, 49.0007],
- [-100.65, 49],
- [-104.04826, 48.99986],
- [-107.05, 49],
- [-110.05, 49],
- [-113, 49],
- [-116.04818, 49],
- [-117.03121, 49],
- [-120, 49],
- [-122.84, 49],
- [-122.97421, 49.002538],
- [-124.91024, 49.98456],
- [-125.62461, 50.41656],
- [-127.43561, 50.83061],
- [-127.99276, 51.71583],
- [-127.85032, 52.32961],
- [-129.12979, 52.75538],
- [-129.30523, 53.56159],
- [-130.51497, 54.28757],
- [-130.53611, 54.80278],
- [-129.98, 55.285],
- [-130.00778, 55.91583],
- [-131.70781, 56.55212],
- [-132.73042, 57.69289],
- [-133.35556, 58.41028],
- [-134.27111, 58.86111],
- [-134.945, 59.27056],
- [-135.47583, 59.78778],
- [-136.47972, 59.46389],
- [-137.4525, 58.905],
- [-138.34089, 59.56211],
- [-139.039, 60],
- [-140.013, 60.27682],
- [-140.99778, 60.30639],
- [-140.9925, 66.00003],
- [-140.986, 69.712],
- [-139.12052, 69.47102],
- [-137.54636, 68.99002],
- [-136.50358, 68.89804],
- [-135.62576, 69.31512],
- [-134.41464, 69.62743],
- [-132.92925, 69.50534],
- [-131.43136, 69.94451],
- [-129.79471, 70.19369],
- [-129.10773, 69.77927],
- [-128.36156, 70.01286],
- [-128.13817, 70.48384],
- [-127.44712, 70.37721],
- [-125.75632, 69.48058],
- [-124.42483, 70.1584],
- [-124.28968, 69.39969],
- [-123.06108, 69.56372],
- [-122.6835, 69.85553],
- [-121.47226, 69.79778],
- [-119.94288, 69.37786],
- [-117.60268, 69.01128],
- [-116.22643, 68.84151],
- [-115.2469, 68.90591],
- [-113.89794, 68.3989],
- [-115.30489, 67.90261],
- [-113.49727, 67.68815],
- [-110.798, 67.80612],
- [-109.94619, 67.98104],
- [-108.8802, 67.38144],
- [-107.79239, 67.88736],
- [-108.81299, 68.31164],
- [-108.16721, 68.65392],
- [-106.95, 68.7],
- [-106.15, 68.8],
- [-105.34282, 68.56122],
- [-104.33791, 68.018],
- [-103.22115, 68.09775],
- [-101.45433, 67.64689],
- [-99.90195, 67.80566],
- [-98.4432, 67.78165],
- [-98.5586, 68.40394],
- [-97.66948, 68.57864],
- [-96.11991, 68.23939],
- [-96.12588, 67.29338],
- [-95.48943, 68.0907],
- [-94.685, 68.06383],
- [-94.23282, 69.06903],
- [-95.30408, 69.68571],
- [-96.47131, 70.08976],
- [-96.39115, 71.19482],
- [-95.2088, 71.92053],
- [-93.88997, 71.76015],
- [-92.87818, 71.31869],
- [-91.51964, 70.19129],
- [-92.40692, 69.69997],
- [-90.5471, 69.49766]
- ]
- ],
- [
- [
- [-114.16717, 73.12145],
- [-114.66634, 72.65277],
- [-112.44102, 72.9554],
- [-111.05039, 72.4504],
- [-109.92035, 72.96113],
- [-109.00654, 72.63335],
- [-108.18835, 71.65089],
- [-107.68599, 72.06548],
- [-108.39639, 73.08953],
- [-107.51645, 73.23598],
- [-106.52259, 73.07601],
- [-105.40246, 72.67259],
- [-104.77484, 71.6984],
- [-104.46476, 70.99297],
- [-102.78537, 70.49776],
- [-100.98078, 70.02432],
- [-101.08929, 69.58447],
- [-102.73116, 69.50402],
- [-102.09329, 69.11962],
- [-102.43024, 68.75282],
- [-104.24, 68.91],
- [-105.96, 69.18],
- [-107.12254, 69.11922],
- [-109, 68.78],
- [-111.534149, 68.630059],
- [-113.3132, 68.53554],
- [-113.85496, 69.00744],
- [-115.22, 69.28],
- [-116.10794, 69.16821],
- [-117.34, 69.96],
- [-116.67473, 70.06655],
- [-115.13112, 70.2373],
- [-113.72141, 70.19237],
- [-112.4161, 70.36638],
- [-114.35, 70.6],
- [-116.48684, 70.52045],
- [-117.9048, 70.54056],
- [-118.43238, 70.9092],
- [-116.11311, 71.30918],
- [-117.65568, 71.2952],
- [-119.40199, 71.55859],
- [-118.56267, 72.30785],
- [-117.86642, 72.70594],
- [-115.18909, 73.31459],
- [-114.16717, 73.12145]
- ]
- ],
- [
- [
- [-104.5, 73.42],
- [-105.38, 72.76],
- [-106.94, 73.46],
- [-106.6, 73.6],
- [-105.26, 73.64],
- [-104.5, 73.42]
- ]
- ],
- [
- [
- [-76.34, 73.102685],
- [-76.251404, 72.826385],
- [-77.314438, 72.855545],
- [-78.39167, 72.876656],
- [-79.486252, 72.742203],
- [-79.775833, 72.802902],
- [-80.876099, 73.333183],
- [-80.833885, 73.693184],
- [-80.353058, 73.75972],
- [-78.064438, 73.651932],
- [-76.34, 73.102685]
- ]
- ],
- [
- [
- [-86.562179, 73.157447],
- [-85.774371, 72.534126],
- [-84.850112, 73.340278],
- [-82.31559, 73.750951],
- [-80.600088, 72.716544],
- [-80.748942, 72.061907],
- [-78.770639, 72.352173],
- [-77.824624, 72.749617],
- [-75.605845, 72.243678],
- [-74.228616, 71.767144],
- [-74.099141, 71.33084],
- [-72.242226, 71.556925],
- [-71.200015, 70.920013],
- [-68.786054, 70.525024],
- [-67.91497, 70.121948],
- [-66.969033, 69.186087],
- [-68.805123, 68.720198],
- [-66.449866, 68.067163],
- [-64.862314, 67.847539],
- [-63.424934, 66.928473],
- [-61.851981, 66.862121],
- [-62.163177, 66.160251],
- [-63.918444, 64.998669],
- [-65.14886, 65.426033],
- [-66.721219, 66.388041],
- [-68.015016, 66.262726],
- [-68.141287, 65.689789],
- [-67.089646, 65.108455],
- [-65.73208, 64.648406],
- [-65.320168, 64.382737],
- [-64.669406, 63.392927],
- [-65.013804, 62.674185],
- [-66.275045, 62.945099],
- [-68.783186, 63.74567],
- [-67.369681, 62.883966],
- [-66.328297, 62.280075],
- [-66.165568, 61.930897],
- [-68.877367, 62.330149],
- [-71.023437, 62.910708],
- [-72.235379, 63.397836],
- [-71.886278, 63.679989],
- [-73.378306, 64.193963],
- [-74.834419, 64.679076],
- [-74.818503, 64.389093],
- [-77.70998, 64.229542],
- [-78.555949, 64.572906],
- [-77.897281, 65.309192],
- [-76.018274, 65.326969],
- [-73.959795, 65.454765],
- [-74.293883, 65.811771],
- [-73.944912, 66.310578],
- [-72.651167, 67.284576],
- [-72.92606, 67.726926],
- [-73.311618, 68.069437],
- [-74.843307, 68.554627],
- [-76.869101, 68.894736],
- [-76.228649, 69.147769],
- [-77.28737, 69.76954],
- [-78.168634, 69.826488],
- [-78.957242, 70.16688],
- [-79.492455, 69.871808],
- [-81.305471, 69.743185],
- [-84.944706, 69.966634],
- [-87.060003, 70.260001],
- [-88.681713, 70.410741],
- [-89.51342, 70.762038],
- [-88.467721, 71.218186],
- [-89.888151, 71.222552],
- [-90.20516, 72.235074],
- [-89.436577, 73.129464],
- [-88.408242, 73.537889],
- [-85.826151, 73.803816],
- [-86.562179, 73.157447]
- ]
- ],
- [
- [
- [-100.35642, 73.84389],
- [-99.16387, 73.63339],
- [-97.38, 73.76],
- [-97.12, 73.47],
- [-98.05359, 72.99052],
- [-96.54, 72.56],
- [-96.72, 71.66],
- [-98.35966, 71.27285],
- [-99.32286, 71.35639],
- [-100.01482, 71.73827],
- [-102.5, 72.51],
- [-102.48, 72.83],
- [-100.43836, 72.70588],
- [-101.54, 73.36],
- [-100.35642, 73.84389]
- ]
- ],
- [
- [
- [-93.196296, 72.771992],
- [-94.269047, 72.024596],
- [-95.409856, 72.061881],
- [-96.033745, 72.940277],
- [-96.018268, 73.43743],
- [-95.495793, 73.862417],
- [-94.503658, 74.134907],
- [-92.420012, 74.100025],
- [-90.509793, 73.856732],
- [-92.003965, 72.966244],
- [-93.196296, 72.771992]
- ]
- ],
- [
- [
- [-120.46, 71.383602],
- [-123.09219, 70.90164],
- [-123.62, 71.34],
- [-125.928949, 71.868688],
- [-125.5, 72.292261],
- [-124.80729, 73.02256],
- [-123.94, 73.68],
- [-124.91775, 74.29275],
- [-121.53788, 74.44893],
- [-120.10978, 74.24135],
- [-117.55564, 74.18577],
- [-116.58442, 73.89607],
- [-115.51081, 73.47519],
- [-116.76794, 73.22292],
- [-119.22, 72.52],
- [-120.46, 71.82],
- [-120.46, 71.383602]
- ]
- ],
- [
- [
- [-93.612756, 74.979997],
- [-94.156909, 74.592347],
- [-95.608681, 74.666864],
- [-96.820932, 74.927623],
- [-96.288587, 75.377828],
- [-94.85082, 75.647218],
- [-93.977747, 75.29649],
- [-93.612756, 74.979997]
- ]
- ],
- [
- [
- [-98.5, 76.72],
- [-97.735585, 76.25656],
- [-97.704415, 75.74344],
- [-98.16, 75],
- [-99.80874, 74.89744],
- [-100.88366, 75.05736],
- [-100.86292, 75.64075],
- [-102.50209, 75.5638],
- [-102.56552, 76.3366],
- [-101.48973, 76.30537],
- [-99.98349, 76.64634],
- [-98.57699, 76.58859],
- [-98.5, 76.72]
- ]
- ],
- [
- [
- [-108.21141, 76.20168],
- [-107.81943, 75.84552],
- [-106.92893, 76.01282],
- [-105.881, 75.9694],
- [-105.70498, 75.47951],
- [-106.31347, 75.00527],
- [-109.7, 74.85],
- [-112.22307, 74.41696],
- [-113.74381, 74.39427],
- [-113.87135, 74.72029],
- [-111.79421, 75.1625],
- [-116.31221, 75.04343],
- [-117.7104, 75.2222],
- [-116.34602, 76.19903],
- [-115.40487, 76.47887],
- [-112.59056, 76.14134],
- [-110.81422, 75.54919],
- [-109.0671, 75.47321],
- [-110.49726, 76.42982],
- [-109.5811, 76.79417],
- [-108.54859, 76.67832],
- [-108.21141, 76.20168]
- ]
- ],
- [
- [
- [-94.684086, 77.097878],
- [-93.573921, 76.776296],
- [-91.605023, 76.778518],
- [-90.741846, 76.449597],
- [-90.969661, 76.074013],
- [-89.822238, 75.847774],
- [-89.187083, 75.610166],
- [-87.838276, 75.566189],
- [-86.379192, 75.482421],
- [-84.789625, 75.699204],
- [-82.753445, 75.784315],
- [-81.128531, 75.713983],
- [-80.057511, 75.336849],
- [-79.833933, 74.923127],
- [-80.457771, 74.657304],
- [-81.948843, 74.442459],
- [-83.228894, 74.564028],
- [-86.097452, 74.410032],
- [-88.15035, 74.392307],
- [-89.764722, 74.515555],
- [-92.422441, 74.837758],
- [-92.768285, 75.38682],
- [-92.889906, 75.882655],
- [-93.893824, 76.319244],
- [-95.962457, 76.441381],
- [-97.121379, 76.751078],
- [-96.745123, 77.161389],
- [-94.684086, 77.097878]
- ]
- ],
- [
- [
- [-116.198587, 77.645287],
- [-116.335813, 76.876962],
- [-117.106051, 76.530032],
- [-118.040412, 76.481172],
- [-119.899318, 76.053213],
- [-121.499995, 75.900019],
- [-122.854924, 76.116543],
- [-122.854925, 76.116543],
- [-121.157535, 76.864508],
- [-119.103939, 77.51222],
- [-117.570131, 77.498319],
- [-116.198587, 77.645287]
- ]
- ],
- [
- [
- [-93.840003, 77.519997],
- [-94.295608, 77.491343],
- [-96.169654, 77.555111],
- [-96.436304, 77.834629],
- [-94.422577, 77.820005],
- [-93.720656, 77.634331],
- [-93.840003, 77.519997]
- ]
- ],
- [
- [
- [-110.186938, 77.697015],
- [-112.051191, 77.409229],
- [-113.534279, 77.732207],
- [-112.724587, 78.05105],
- [-111.264443, 78.152956],
- [-109.854452, 77.996325],
- [-110.186938, 77.697015]
- ]
- ],
- [
- [
- [-109.663146, 78.601973],
- [-110.881314, 78.40692],
- [-112.542091, 78.407902],
- [-112.525891, 78.550555],
- [-111.50001, 78.849994],
- [-110.963661, 78.804441],
- [-109.663146, 78.601973]
- ]
- ],
- [
- [
- [-95.830295, 78.056941],
- [-97.309843, 77.850597],
- [-98.124289, 78.082857],
- [-98.552868, 78.458105],
- [-98.631984, 78.87193],
- [-97.337231, 78.831984],
- [-96.754399, 78.765813],
- [-95.559278, 78.418315],
- [-95.830295, 78.056941]
- ]
- ],
- [
- [
- [-100.060192, 78.324754],
- [-99.670939, 77.907545],
- [-101.30394, 78.018985],
- [-102.949809, 78.343229],
- [-105.176133, 78.380332],
- [-104.210429, 78.67742],
- [-105.41958, 78.918336],
- [-105.492289, 79.301594],
- [-103.529282, 79.165349],
- [-100.825158, 78.800462],
- [-100.060192, 78.324754]
- ]
- ],
- [
- [
- [-87.02, 79.66],
- [-85.81435, 79.3369],
- [-87.18756, 79.0393],
- [-89.03535, 78.28723],
- [-90.80436, 78.21533],
- [-92.87669, 78.34333],
- [-93.95116, 78.75099],
- [-93.93574, 79.11373],
- [-93.14524, 79.3801],
- [-94.974, 79.37248],
- [-96.07614, 79.70502],
- [-96.70972, 80.15777],
- [-96.01644, 80.60233],
- [-95.32345, 80.90729],
- [-94.29843, 80.97727],
- [-94.73542, 81.20646],
- [-92.40984, 81.25739],
- [-91.13289, 80.72345],
- [-89.45, 80.509322],
- [-87.81, 80.32],
- [-87.02, 79.66]
- ]
- ],
- [
- [
- [-68.5, 83.106322],
- [-65.82735, 83.02801],
- [-63.68, 82.9],
- [-61.85, 82.6286],
- [-61.89388, 82.36165],
- [-64.334, 81.92775],
- [-66.75342, 81.72527],
- [-67.65755, 81.50141],
- [-65.48031, 81.50657],
- [-67.84, 80.9],
- [-69.4697, 80.61683],
- [-71.18, 79.8],
- [-73.2428, 79.63415],
- [-73.88, 79.430162],
- [-76.90773, 79.32309],
- [-75.52924, 79.19766],
- [-76.22046, 79.01907],
- [-75.39345, 78.52581],
- [-76.34354, 78.18296],
- [-77.88851, 77.89991],
- [-78.36269, 77.50859],
- [-79.75951, 77.20968],
- [-79.61965, 76.98336],
- [-77.91089, 77.022045],
- [-77.88911, 76.777955],
- [-80.56125, 76.17812],
- [-83.17439, 76.45403],
- [-86.11184, 76.29901],
- [-87.6, 76.42],
- [-89.49068, 76.47239],
- [-89.6161, 76.95213],
- [-87.76739, 77.17833],
- [-88.26, 77.9],
- [-87.65, 77.970222],
- [-84.97634, 77.53873],
- [-86.34, 78.18],
- [-87.96192, 78.37181],
- [-87.15198, 78.75867],
- [-85.37868, 78.9969],
- [-85.09495, 79.34543],
- [-86.50734, 79.73624],
- [-86.93179, 80.25145],
- [-84.19844, 80.20836],
- [-83.408696, 80.1],
- [-81.84823, 80.46442],
- [-84.1, 80.58],
- [-87.59895, 80.51627],
- [-89.36663, 80.85569],
- [-90.2, 81.26],
- [-91.36786, 81.5531],
- [-91.58702, 81.89429],
- [-90.1, 82.085],
- [-88.93227, 82.11751],
- [-86.97024, 82.27961],
- [-85.5, 82.652273],
- [-84.260005, 82.6],
- [-83.18, 82.32],
- [-82.42, 82.86],
- [-81.1, 83.02],
- [-79.30664, 83.13056],
- [-76.25, 83.172059],
- [-75.71878, 83.06404],
- [-72.83153, 83.23324],
- [-70.665765, 83.169781],
- [-68.5, 83.106322]
- ]
- ]
- ]
- },
- "id": "CAN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Switzerland" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [9.594226, 47.525058],
- [9.632932, 47.347601],
- [9.47997, 47.10281],
- [9.932448, 46.920728],
- [10.442701, 46.893546],
- [10.363378, 46.483571],
- [9.922837, 46.314899],
- [9.182882, 46.440215],
- [8.966306, 46.036932],
- [8.489952, 46.005151],
- [8.31663, 46.163642],
- [7.755992, 45.82449],
- [7.273851, 45.776948],
- [6.843593, 45.991147],
- [6.5001, 46.429673],
- [6.022609, 46.27299],
- [6.037389, 46.725779],
- [6.768714, 47.287708],
- [6.736571, 47.541801],
- [7.192202, 47.449766],
- [7.466759, 47.620582],
- [8.317301, 47.61358],
- [8.522612, 47.830828],
- [9.594226, 47.525058]
- ]
- ]
- },
- "id": "CHE"
- },
- {
- "type": "Feature",
- "properties": { "name": "Chile" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [-68.63401, -52.63637],
- [-68.63335, -54.8695],
- [-67.56244, -54.87001],
- [-66.95992, -54.89681],
- [-67.29103, -55.30124],
- [-68.14863, -55.61183],
- [-68.639991, -55.580018],
- [-69.2321, -55.49906],
- [-69.95809, -55.19843],
- [-71.00568, -55.05383],
- [-72.2639, -54.49514],
- [-73.2852, -53.95752],
- [-74.66253, -52.83749],
- [-73.8381, -53.04743],
- [-72.43418, -53.7154],
- [-71.10773, -54.07433],
- [-70.59178, -53.61583],
- [-70.26748, -52.93123],
- [-69.34565, -52.5183],
- [-68.63401, -52.63637]
- ]
- ],
- [
- [
- [-68.219913, -21.494347],
- [-67.82818, -22.872919],
- [-67.106674, -22.735925],
- [-66.985234, -22.986349],
- [-67.328443, -24.025303],
- [-68.417653, -24.518555],
- [-68.386001, -26.185016],
- [-68.5948, -26.506909],
- [-68.295542, -26.89934],
- [-69.001235, -27.521214],
- [-69.65613, -28.459141],
- [-70.01355, -29.367923],
- [-69.919008, -30.336339],
- [-70.535069, -31.36501],
- [-70.074399, -33.09121],
- [-69.814777, -33.273886],
- [-69.817309, -34.193571],
- [-70.388049, -35.169688],
- [-70.364769, -36.005089],
- [-71.121881, -36.658124],
- [-71.118625, -37.576827],
- [-70.814664, -38.552995],
- [-71.413517, -38.916022],
- [-71.680761, -39.808164],
- [-71.915734, -40.832339],
- [-71.746804, -42.051386],
- [-72.148898, -42.254888],
- [-71.915424, -43.408565],
- [-71.464056, -43.787611],
- [-71.793623, -44.207172],
- [-71.329801, -44.407522],
- [-71.222779, -44.784243],
- [-71.659316, -44.973689],
- [-71.552009, -45.560733],
- [-71.917258, -46.884838],
- [-72.447355, -47.738533],
- [-72.331161, -48.244238],
- [-72.648247, -48.878618],
- [-73.415436, -49.318436],
- [-73.328051, -50.378785],
- [-72.975747, -50.74145],
- [-72.309974, -50.67701],
- [-72.329404, -51.425956],
- [-71.914804, -52.009022],
- [-69.498362, -52.142761],
- [-68.571545, -52.299444],
- [-69.461284, -52.291951],
- [-69.94278, -52.537931],
- [-70.845102, -52.899201],
- [-71.006332, -53.833252],
- [-71.429795, -53.856455],
- [-72.557943, -53.53141],
- [-73.702757, -52.835069],
- [-73.702757, -52.83507],
- [-74.946763, -52.262754],
- [-75.260026, -51.629355],
- [-74.976632, -51.043396],
- [-75.479754, -50.378372],
- [-75.608015, -48.673773],
- [-75.18277, -47.711919],
- [-74.126581, -46.939253],
- [-75.644395, -46.647643],
- [-74.692154, -45.763976],
- [-74.351709, -44.103044],
- [-73.240356, -44.454961],
- [-72.717804, -42.383356],
- [-73.3889, -42.117532],
- [-73.701336, -43.365776],
- [-74.331943, -43.224958],
- [-74.017957, -41.794813],
- [-73.677099, -39.942213],
- [-73.217593, -39.258689],
- [-73.505559, -38.282883],
- [-73.588061, -37.156285],
- [-73.166717, -37.12378],
- [-72.553137, -35.50884],
- [-71.861732, -33.909093],
- [-71.43845, -32.418899],
- [-71.668721, -30.920645],
- [-71.370083, -30.095682],
- [-71.489894, -28.861442],
- [-70.905124, -27.64038],
- [-70.724954, -25.705924],
- [-70.403966, -23.628997],
- [-70.091246, -21.393319],
- [-70.16442, -19.756468],
- [-70.372572, -18.347975],
- [-69.858444, -18.092694],
- [-69.590424, -17.580012],
- [-69.100247, -18.260125],
- [-68.966818, -18.981683],
- [-68.442225, -19.405068],
- [-68.757167, -20.372658],
- [-68.219913, -21.494347]
- ]
- ]
- ]
- },
- "id": "CHL"
- },
- {
- "type": "Feature",
- "properties": { "name": "China" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [110.339188, 18.678395],
- [109.47521, 18.197701],
- [108.655208, 18.507682],
- [108.626217, 19.367888],
- [109.119056, 19.821039],
- [110.211599, 20.101254],
- [110.786551, 20.077534],
- [111.010051, 19.69593],
- [110.570647, 19.255879],
- [110.339188, 18.678395]
- ]
- ],
- [
- [
- [127.657407, 49.76027],
- [129.397818, 49.4406],
- [130.582293, 48.729687],
- [130.987282, 47.790132],
- [132.506672, 47.78897],
- [133.373596, 48.183442],
- [135.026311, 48.47823],
- [134.500814, 47.57844],
- [134.112362, 47.212467],
- [133.769644, 46.116927],
- [133.097127, 45.144066],
- [131.883454, 45.321162],
- [131.025212, 44.967953],
- [131.288555, 44.11152],
- [131.144688, 42.92999],
- [130.633866, 42.903015],
- [130.640016, 42.395009],
- [129.994267, 42.985387],
- [129.596669, 42.424982],
- [128.052215, 41.994285],
- [128.208433, 41.466772],
- [127.343783, 41.503152],
- [126.869083, 41.816569],
- [126.182045, 41.107336],
- [125.079942, 40.569824],
- [124.265625, 39.928493],
- [122.86757, 39.637788],
- [122.131388, 39.170452],
- [121.054554, 38.897471],
- [121.585995, 39.360854],
- [121.376757, 39.750261],
- [122.168595, 40.422443],
- [121.640359, 40.94639],
- [120.768629, 40.593388],
- [119.639602, 39.898056],
- [119.023464, 39.252333],
- [118.042749, 39.204274],
- [117.532702, 38.737636],
- [118.059699, 38.061476],
- [118.87815, 37.897325],
- [118.911636, 37.448464],
- [119.702802, 37.156389],
- [120.823457, 37.870428],
- [121.711259, 37.481123],
- [122.357937, 37.454484],
- [122.519995, 36.930614],
- [121.104164, 36.651329],
- [120.637009, 36.11144],
- [119.664562, 35.609791],
- [119.151208, 34.909859],
- [120.227525, 34.360332],
- [120.620369, 33.376723],
- [121.229014, 32.460319],
- [121.908146, 31.692174],
- [121.891919, 30.949352],
- [121.264257, 30.676267],
- [121.503519, 30.142915],
- [122.092114, 29.83252],
- [121.938428, 29.018022],
- [121.684439, 28.225513],
- [121.125661, 28.135673],
- [120.395473, 27.053207],
- [119.585497, 25.740781],
- [118.656871, 24.547391],
- [117.281606, 23.624501],
- [115.890735, 22.782873],
- [114.763827, 22.668074],
- [114.152547, 22.22376],
- [113.80678, 22.54834],
- [113.241078, 22.051367],
- [111.843592, 21.550494],
- [110.785466, 21.397144],
- [110.444039, 20.341033],
- [109.889861, 20.282457],
- [109.627655, 21.008227],
- [109.864488, 21.395051],
- [108.522813, 21.715212],
- [108.05018, 21.55238],
- [107.04342, 21.811899],
- [106.567273, 22.218205],
- [106.725403, 22.794268],
- [105.811247, 22.976892],
- [105.329209, 23.352063],
- [104.476858, 22.81915],
- [103.504515, 22.703757],
- [102.706992, 22.708795],
- [102.170436, 22.464753],
- [101.652018, 22.318199],
- [101.80312, 21.174367],
- [101.270026, 21.201652],
- [101.180005, 21.436573],
- [101.150033, 21.849984],
- [100.416538, 21.558839],
- [99.983489, 21.742937],
- [99.240899, 22.118314],
- [99.531992, 22.949039],
- [98.898749, 23.142722],
- [98.660262, 24.063286],
- [97.60472, 23.897405],
- [97.724609, 25.083637],
- [98.671838, 25.918703],
- [98.712094, 26.743536],
- [98.68269, 27.508812],
- [98.246231, 27.747221],
- [97.911988, 28.335945],
- [97.327114, 28.261583],
- [96.248833, 28.411031],
- [96.586591, 28.83098],
- [96.117679, 29.452802],
- [95.404802, 29.031717],
- [94.56599, 29.277438],
- [93.413348, 28.640629],
- [92.503119, 27.896876],
- [91.696657, 27.771742],
- [91.258854, 28.040614],
- [90.730514, 28.064954],
- [90.015829, 28.296439],
- [89.47581, 28.042759],
- [88.814248, 27.299316],
- [88.730326, 28.086865],
- [88.120441, 27.876542],
- [86.954517, 27.974262],
- [85.82332, 28.203576],
- [85.011638, 28.642774],
- [84.23458, 28.839894],
- [83.898993, 29.320226],
- [83.337115, 29.463732],
- [82.327513, 30.115268],
- [81.525804, 30.422717],
- [81.111256, 30.183481],
- [79.721367, 30.882715],
- [78.738894, 31.515906],
- [78.458446, 32.618164],
- [79.176129, 32.48378],
- [79.208892, 32.994395],
- [78.811086, 33.506198],
- [78.912269, 34.321936],
- [77.837451, 35.49401],
- [76.192848, 35.898403],
- [75.896897, 36.666806],
- [75.158028, 37.133031],
- [74.980002, 37.41999],
- [74.829986, 37.990007],
- [74.864816, 38.378846],
- [74.257514, 38.606507],
- [73.928852, 38.505815],
- [73.675379, 39.431237],
- [73.960013, 39.660008],
- [73.822244, 39.893973],
- [74.776862, 40.366425],
- [75.467828, 40.562072],
- [76.526368, 40.427946],
- [76.904484, 41.066486],
- [78.187197, 41.185316],
- [78.543661, 41.582243],
- [80.11943, 42.123941],
- [80.25999, 42.349999],
- [80.18015, 42.920068],
- [80.866206, 43.180362],
- [79.966106, 44.917517],
- [81.947071, 45.317027],
- [82.458926, 45.53965],
- [83.180484, 47.330031],
- [85.16429, 47.000956],
- [85.720484, 47.452969],
- [85.768233, 48.455751],
- [86.598776, 48.549182],
- [87.35997, 49.214981],
- [87.751264, 49.297198],
- [88.013832, 48.599463],
- [88.854298, 48.069082],
- [90.280826, 47.693549],
- [90.970809, 46.888146],
- [90.585768, 45.719716],
- [90.94554, 45.286073],
- [92.133891, 45.115076],
- [93.480734, 44.975472],
- [94.688929, 44.352332],
- [95.306875, 44.241331],
- [95.762455, 43.319449],
- [96.349396, 42.725635],
- [97.451757, 42.74889],
- [99.515817, 42.524691],
- [100.845866, 42.663804],
- [101.83304, 42.514873],
- [103.312278, 41.907468],
- [104.522282, 41.908347],
- [104.964994, 41.59741],
- [106.129316, 42.134328],
- [107.744773, 42.481516],
- [109.243596, 42.519446],
- [110.412103, 42.871234],
- [111.129682, 43.406834],
- [111.829588, 43.743118],
- [111.667737, 44.073176],
- [111.348377, 44.457442],
- [111.873306, 45.102079],
- [112.436062, 45.011646],
- [113.463907, 44.808893],
- [114.460332, 45.339817],
- [115.985096, 45.727235],
- [116.717868, 46.388202],
- [117.421701, 46.672733],
- [118.874326, 46.805412],
- [119.66327, 46.69268],
- [119.772824, 47.048059],
- [118.866574, 47.74706],
- [118.064143, 48.06673],
- [117.295507, 47.697709],
- [116.308953, 47.85341],
- [115.742837, 47.726545],
- [115.485282, 48.135383],
- [116.191802, 49.134598],
- [116.678801, 49.888531],
- [117.879244, 49.510983],
- [119.288461, 50.142883],
- [119.279366, 50.582908],
- [120.18205, 51.643566],
- [120.738191, 51.964115],
- [120.725789, 52.516226],
- [120.177089, 52.753886],
- [121.003085, 53.251401],
- [122.245748, 53.431726],
- [123.571507, 53.458804],
- [125.068211, 53.161045],
- [125.946349, 52.792799],
- [126.564399, 51.784255],
- [126.939157, 51.353894],
- [127.287456, 50.739797],
- [127.657407, 49.76027]
- ]
- ]
- ]
- },
- "id": "CHN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Ivory Coast" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-2.856125, 4.994476],
- [-3.311084, 4.984296],
- [-4.00882, 5.179813],
- [-4.649917, 5.168264],
- [-5.834496, 4.993701],
- [-6.528769, 4.705088],
- [-7.518941, 4.338288],
- [-7.712159, 4.364566],
- [-7.635368, 5.188159],
- [-7.539715, 5.313345],
- [-7.570153, 5.707352],
- [-7.993693, 6.12619],
- [-8.311348, 6.193033],
- [-8.60288, 6.467564],
- [-8.385452, 6.911801],
- [-8.485446, 7.395208],
- [-8.439298, 7.686043],
- [-8.280703, 7.68718],
- [-8.221792, 8.123329],
- [-8.299049, 8.316444],
- [-8.203499, 8.455453],
- [-7.8321, 8.575704],
- [-8.079114, 9.376224],
- [-8.309616, 9.789532],
- [-8.229337, 10.12902],
- [-8.029944, 10.206535],
- [-7.89959, 10.297382],
- [-7.622759, 10.147236],
- [-6.850507, 10.138994],
- [-6.666461, 10.430811],
- [-6.493965, 10.411303],
- [-6.205223, 10.524061],
- [-6.050452, 10.096361],
- [-5.816926, 10.222555],
- [-5.404342, 10.370737],
- [-4.954653, 10.152714],
- [-4.779884, 9.821985],
- [-4.330247, 9.610835],
- [-3.980449, 9.862344],
- [-3.511899, 9.900326],
- [-2.827496, 9.642461],
- [-2.56219, 8.219628],
- [-2.983585, 7.379705],
- [-3.24437, 6.250472],
- [-2.810701, 5.389051],
- [-2.856125, 4.994476]
- ]
- ]
- },
- "id": "CIV"
- },
- {
- "type": "Feature",
- "properties": { "name": "Cameroon" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [13.075822, 2.267097],
- [12.951334, 2.321616],
- [12.35938, 2.192812],
- [11.751665, 2.326758],
- [11.276449, 2.261051],
- [9.649158, 2.283866],
- [9.795196, 3.073404],
- [9.404367, 3.734527],
- [8.948116, 3.904129],
- [8.744924, 4.352215],
- [8.488816, 4.495617],
- [8.500288, 4.771983],
- [8.757533, 5.479666],
- [9.233163, 6.444491],
- [9.522706, 6.453482],
- [10.118277, 7.03877],
- [10.497375, 7.055358],
- [11.058788, 6.644427],
- [11.745774, 6.981383],
- [11.839309, 7.397042],
- [12.063946, 7.799808],
- [12.218872, 8.305824],
- [12.753672, 8.717763],
- [12.955468, 9.417772],
- [13.1676, 9.640626],
- [13.308676, 10.160362],
- [13.57295, 10.798566],
- [14.415379, 11.572369],
- [14.468192, 11.904752],
- [14.577178, 12.085361],
- [14.181336, 12.483657],
- [14.213531, 12.802035],
- [14.495787, 12.859396],
- [14.893386, 12.219048],
- [14.960152, 11.555574],
- [14.923565, 10.891325],
- [15.467873, 9.982337],
- [14.909354, 9.992129],
- [14.627201, 9.920919],
- [14.171466, 10.021378],
- [13.954218, 9.549495],
- [14.544467, 8.965861],
- [14.979996, 8.796104],
- [15.120866, 8.38215],
- [15.436092, 7.692812],
- [15.27946, 7.421925],
- [14.776545, 6.408498],
- [14.53656, 6.226959],
- [14.459407, 5.451761],
- [14.558936, 5.030598],
- [14.478372, 4.732605],
- [14.950953, 4.210389],
- [15.03622, 3.851367],
- [15.405396, 3.335301],
- [15.862732, 3.013537],
- [15.907381, 2.557389],
- [16.012852, 2.26764],
- [15.940919, 1.727673],
- [15.146342, 1.964015],
- [14.337813, 2.227875],
- [13.075822, 2.267097]
- ]
- ]
- },
- "id": "CMR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Democratic Republic of the Congo" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [30.83386, 3.509166],
- [30.773347, 2.339883],
- [31.174149, 2.204465],
- [30.85267, 1.849396],
- [30.468508, 1.583805],
- [30.086154, 1.062313],
- [29.875779, 0.59738],
- [29.819503, -0.20531],
- [29.587838, -0.587406],
- [29.579466, -1.341313],
- [29.291887, -1.620056],
- [29.254835, -2.21511],
- [29.117479, -2.292211],
- [29.024926, -2.839258],
- [29.276384, -3.293907],
- [29.339998, -4.499983],
- [29.519987, -5.419979],
- [29.419993, -5.939999],
- [29.620032, -6.520015],
- [30.199997, -7.079981],
- [30.740015, -8.340007],
- [30.346086, -8.238257],
- [29.002912, -8.407032],
- [28.734867, -8.526559],
- [28.449871, -9.164918],
- [28.673682, -9.605925],
- [28.49607, -10.789884],
- [28.372253, -11.793647],
- [28.642417, -11.971569],
- [29.341548, -12.360744],
- [29.616001, -12.178895],
- [29.699614, -13.257227],
- [28.934286, -13.248958],
- [28.523562, -12.698604],
- [28.155109, -12.272481],
- [27.388799, -12.132747],
- [27.16442, -11.608748],
- [26.553088, -11.92444],
- [25.75231, -11.784965],
- [25.418118, -11.330936],
- [24.78317, -11.238694],
- [24.314516, -11.262826],
- [24.257155, -10.951993],
- [23.912215, -10.926826],
- [23.456791, -10.867863],
- [22.837345, -11.017622],
- [22.402798, -10.993075],
- [22.155268, -11.084801],
- [22.208753, -9.894796],
- [21.875182, -9.523708],
- [21.801801, -8.908707],
- [21.949131, -8.305901],
- [21.746456, -7.920085],
- [21.728111, -7.290872],
- [20.514748, -7.299606],
- [20.601823, -6.939318],
- [20.091622, -6.94309],
- [20.037723, -7.116361],
- [19.417502, -7.155429],
- [19.166613, -7.738184],
- [19.016752, -7.988246],
- [18.464176, -7.847014],
- [18.134222, -7.987678],
- [17.47297, -8.068551],
- [17.089996, -7.545689],
- [16.860191, -7.222298],
- [16.57318, -6.622645],
- [16.326528, -5.87747],
- [13.375597, -5.864241],
- [13.024869, -5.984389],
- [12.735171, -5.965682],
- [12.322432, -6.100092],
- [12.182337, -5.789931],
- [12.436688, -5.684304],
- [12.468004, -5.248362],
- [12.631612, -4.991271],
- [12.995517, -4.781103],
- [13.25824, -4.882957],
- [13.600235, -4.500138],
- [14.144956, -4.510009],
- [14.209035, -4.793092],
- [14.582604, -4.970239],
- [15.170992, -4.343507],
- [15.75354, -3.855165],
- [16.00629, -3.535133],
- [15.972803, -2.712392],
- [16.407092, -1.740927],
- [16.865307, -1.225816],
- [17.523716, -0.74383],
- [17.638645, -0.424832],
- [17.663553, -0.058084],
- [17.82654, 0.288923],
- [17.774192, 0.855659],
- [17.898835, 1.741832],
- [18.094276, 2.365722],
- [18.393792, 2.900443],
- [18.453065, 3.504386],
- [18.542982, 4.201785],
- [18.932312, 4.709506],
- [19.467784, 5.031528],
- [20.290679, 4.691678],
- [20.927591, 4.322786],
- [21.659123, 4.224342],
- [22.405124, 4.02916],
- [22.704124, 4.633051],
- [22.84148, 4.710126],
- [23.297214, 4.609693],
- [24.410531, 5.108784],
- [24.805029, 4.897247],
- [25.128833, 4.927245],
- [25.278798, 5.170408],
- [25.650455, 5.256088],
- [26.402761, 5.150875],
- [27.044065, 5.127853],
- [27.374226, 5.233944],
- [27.979977, 4.408413],
- [28.428994, 4.287155],
- [28.696678, 4.455077],
- [29.159078, 4.389267],
- [29.715995, 4.600805],
- [29.9535, 4.173699],
- [30.83386, 3.509166]
- ]
- ]
- },
- "id": "COD"
- },
- {
- "type": "Feature",
- "properties": { "name": "Republic of the Congo" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [12.995517, -4.781103],
- [12.62076, -4.438023],
- [12.318608, -4.60623],
- [11.914963, -5.037987],
- [11.093773, -3.978827],
- [11.855122, -3.426871],
- [11.478039, -2.765619],
- [11.820964, -2.514161],
- [12.495703, -2.391688],
- [12.575284, -1.948511],
- [13.109619, -2.42874],
- [13.992407, -2.470805],
- [14.29921, -1.998276],
- [14.425456, -1.333407],
- [14.316418, -0.552627],
- [13.843321, 0.038758],
- [14.276266, 1.19693],
- [14.026669, 1.395677],
- [13.282631, 1.314184],
- [13.003114, 1.830896],
- [13.075822, 2.267097],
- [14.337813, 2.227875],
- [15.146342, 1.964015],
- [15.940919, 1.727673],
- [16.012852, 2.26764],
- [16.537058, 3.198255],
- [17.133042, 3.728197],
- [17.8099, 3.560196],
- [18.453065, 3.504386],
- [18.393792, 2.900443],
- [18.094276, 2.365722],
- [17.898835, 1.741832],
- [17.774192, 0.855659],
- [17.82654, 0.288923],
- [17.663553, -0.058084],
- [17.638645, -0.424832],
- [17.523716, -0.74383],
- [16.865307, -1.225816],
- [16.407092, -1.740927],
- [15.972803, -2.712392],
- [16.00629, -3.535133],
- [15.75354, -3.855165],
- [15.170992, -4.343507],
- [14.582604, -4.970239],
- [14.209035, -4.793092],
- [14.144956, -4.510009],
- [13.600235, -4.500138],
- [13.25824, -4.882957],
- [12.995517, -4.781103]
- ]
- ]
- },
- "id": "COG"
- },
- {
- "type": "Feature",
- "properties": { "name": "Colombia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-75.373223, -0.152032],
- [-75.801466, 0.084801],
- [-76.292314, 0.416047],
- [-76.57638, 0.256936],
- [-77.424984, 0.395687],
- [-77.668613, 0.825893],
- [-77.855061, 0.809925],
- [-78.855259, 1.380924],
- [-78.990935, 1.69137],
- [-78.617831, 1.766404],
- [-78.662118, 2.267355],
- [-78.42761, 2.629556],
- [-77.931543, 2.696606],
- [-77.510431, 3.325017],
- [-77.12769, 3.849636],
- [-77.496272, 4.087606],
- [-77.307601, 4.667984],
- [-77.533221, 5.582812],
- [-77.318815, 5.845354],
- [-77.476661, 6.691116],
- [-77.881571, 7.223771],
- [-77.753414, 7.70984],
- [-77.431108, 7.638061],
- [-77.242566, 7.935278],
- [-77.474723, 8.524286],
- [-77.353361, 8.670505],
- [-76.836674, 8.638749],
- [-76.086384, 9.336821],
- [-75.6746, 9.443248],
- [-75.664704, 9.774003],
- [-75.480426, 10.61899],
- [-74.906895, 11.083045],
- [-74.276753, 11.102036],
- [-74.197223, 11.310473],
- [-73.414764, 11.227015],
- [-72.627835, 11.731972],
- [-72.238195, 11.95555],
- [-71.75409, 12.437303],
- [-71.399822, 12.376041],
- [-71.137461, 12.112982],
- [-71.331584, 11.776284],
- [-71.973922, 11.608672],
- [-72.227575, 11.108702],
- [-72.614658, 10.821975],
- [-72.905286, 10.450344],
- [-73.027604, 9.73677],
- [-73.304952, 9.152],
- [-72.78873, 9.085027],
- [-72.660495, 8.625288],
- [-72.439862, 8.405275],
- [-72.360901, 8.002638],
- [-72.479679, 7.632506],
- [-72.444487, 7.423785],
- [-72.198352, 7.340431],
- [-71.960176, 6.991615],
- [-70.674234, 7.087785],
- [-70.093313, 6.960376],
- [-69.38948, 6.099861],
- [-68.985319, 6.206805],
- [-68.265052, 6.153268],
- [-67.695087, 6.267318],
- [-67.34144, 6.095468],
- [-67.521532, 5.55687],
- [-67.744697, 5.221129],
- [-67.823012, 4.503937],
- [-67.621836, 3.839482],
- [-67.337564, 3.542342],
- [-67.303173, 3.318454],
- [-67.809938, 2.820655],
- [-67.447092, 2.600281],
- [-67.181294, 2.250638],
- [-66.876326, 1.253361],
- [-67.065048, 1.130112],
- [-67.259998, 1.719999],
- [-67.53781, 2.037163],
- [-67.868565, 1.692455],
- [-69.816973, 1.714805],
- [-69.804597, 1.089081],
- [-69.218638, 0.985677],
- [-69.252434, 0.602651],
- [-69.452396, 0.706159],
- [-70.015566, 0.541414],
- [-70.020656, -0.185156],
- [-69.577065, -0.549992],
- [-69.420486, -1.122619],
- [-69.444102, -1.556287],
- [-69.893635, -4.298187],
- [-70.394044, -3.766591],
- [-70.692682, -3.742872],
- [-70.047709, -2.725156],
- [-70.813476, -2.256865],
- [-71.413646, -2.342802],
- [-71.774761, -2.16979],
- [-72.325787, -2.434218],
- [-73.070392, -2.308954],
- [-73.659504, -1.260491],
- [-74.122395, -1.002833],
- [-74.441601, -0.53082],
- [-75.106625, -0.057205],
- [-75.373223, -0.152032]
- ]
- ]
- },
- "id": "COL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Costa Rica" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-82.965783, 8.225028],
- [-83.508437, 8.446927],
- [-83.711474, 8.656836],
- [-83.596313, 8.830443],
- [-83.632642, 9.051386],
- [-83.909886, 9.290803],
- [-84.303402, 9.487354],
- [-84.647644, 9.615537],
- [-84.713351, 9.908052],
- [-84.97566, 10.086723],
- [-84.911375, 9.795992],
- [-85.110923, 9.55704],
- [-85.339488, 9.834542],
- [-85.660787, 9.933347],
- [-85.797445, 10.134886],
- [-85.791709, 10.439337],
- [-85.659314, 10.754331],
- [-85.941725, 10.895278],
- [-85.71254, 11.088445],
- [-85.561852, 11.217119],
- [-84.903003, 10.952303],
- [-84.673069, 11.082657],
- [-84.355931, 10.999226],
- [-84.190179, 10.79345],
- [-83.895054, 10.726839],
- [-83.655612, 10.938764],
- [-83.40232, 10.395438],
- [-83.015677, 9.992982],
- [-82.546196, 9.566135],
- [-82.932891, 9.476812],
- [-82.927155, 9.07433],
- [-82.719183, 8.925709],
- [-82.868657, 8.807266],
- [-82.829771, 8.626295],
- [-82.913176, 8.423517],
- [-82.965783, 8.225028]
- ]
- ]
- },
- "id": "CRI"
- },
- {
- "type": "Feature",
- "properties": { "name": "Cuba" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-82.268151, 23.188611],
- [-81.404457, 23.117271],
- [-80.618769, 23.10598],
- [-79.679524, 22.765303],
- [-79.281486, 22.399202],
- [-78.347434, 22.512166],
- [-77.993296, 22.277194],
- [-77.146422, 21.657851],
- [-76.523825, 21.20682],
- [-76.19462, 21.220565],
- [-75.598222, 21.016624],
- [-75.67106, 20.735091],
- [-74.933896, 20.693905],
- [-74.178025, 20.284628],
- [-74.296648, 20.050379],
- [-74.961595, 19.923435],
- [-75.63468, 19.873774],
- [-76.323656, 19.952891],
- [-77.755481, 19.855481],
- [-77.085108, 20.413354],
- [-77.492655, 20.673105],
- [-78.137292, 20.739949],
- [-78.482827, 21.028613],
- [-78.719867, 21.598114],
- [-79.285, 21.559175],
- [-80.217475, 21.827324],
- [-80.517535, 22.037079],
- [-81.820943, 22.192057],
- [-82.169992, 22.387109],
- [-81.795002, 22.636965],
- [-82.775898, 22.68815],
- [-83.494459, 22.168518],
- [-83.9088, 22.154565],
- [-84.052151, 21.910575],
- [-84.54703, 21.801228],
- [-84.974911, 21.896028],
- [-84.447062, 22.20495],
- [-84.230357, 22.565755],
- [-83.77824, 22.788118],
- [-83.267548, 22.983042],
- [-82.510436, 23.078747],
- [-82.268151, 23.188611]
- ]
- ]
- },
- "id": "CUB"
- },
- {
- "type": "Feature",
- "properties": { "name": "Northern Cyprus" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [32.73178, 35.140026],
- [32.802474, 35.145504],
- [32.946961, 35.386703],
- [33.667227, 35.373216],
- [34.576474, 35.671596],
- [33.900804, 35.245756],
- [33.973617, 35.058506],
- [33.86644, 35.093595],
- [33.675392, 35.017863],
- [33.525685, 35.038688],
- [33.475817, 35.000345],
- [33.455922, 35.101424],
- [33.383833, 35.162712],
- [33.190977, 35.173125],
- [32.919572, 35.087833],
- [32.73178, 35.140026]
- ]
- ]
- },
- "id": "-99"
- },
- {
- "type": "Feature",
- "properties": { "name": "Cyprus" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [33.973617, 35.058506],
- [34.004881, 34.978098],
- [32.979827, 34.571869],
- [32.490296, 34.701655],
- [32.256667, 35.103232],
- [32.73178, 35.140026],
- [32.919572, 35.087833],
- [33.190977, 35.173125],
- [33.383833, 35.162712],
- [33.455922, 35.101424],
- [33.475817, 35.000345],
- [33.525685, 35.038688],
- [33.675392, 35.017863],
- [33.86644, 35.093595],
- [33.973617, 35.058506]
- ]
- ]
- },
- "id": "CYP"
- },
- {
- "type": "Feature",
- "properties": { "name": "Czech Republic" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [16.960288, 48.596982],
- [16.499283, 48.785808],
- [16.029647, 48.733899],
- [15.253416, 49.039074],
- [14.901447, 48.964402],
- [14.338898, 48.555305],
- [13.595946, 48.877172],
- [13.031329, 49.307068],
- [12.521024, 49.547415],
- [12.415191, 49.969121],
- [12.240111, 50.266338],
- [12.966837, 50.484076],
- [13.338132, 50.733234],
- [14.056228, 50.926918],
- [14.307013, 51.117268],
- [14.570718, 51.002339],
- [15.016996, 51.106674],
- [15.490972, 50.78473],
- [16.238627, 50.697733],
- [16.176253, 50.422607],
- [16.719476, 50.215747],
- [16.868769, 50.473974],
- [17.554567, 50.362146],
- [17.649445, 50.049038],
- [18.392914, 49.988629],
- [18.853144, 49.49623],
- [18.554971, 49.495015],
- [18.399994, 49.315001],
- [18.170498, 49.271515],
- [18.104973, 49.043983],
- [17.913512, 48.996493],
- [17.886485, 48.903475],
- [17.545007, 48.800019],
- [17.101985, 48.816969],
- [16.960288, 48.596982]
- ]
- ]
- },
- "id": "CZE"
- },
- {
- "type": "Feature",
- "properties": { "name": "Germany" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [9.921906, 54.983104],
- [9.93958, 54.596642],
- [10.950112, 54.363607],
- [10.939467, 54.008693],
- [11.956252, 54.196486],
- [12.51844, 54.470371],
- [13.647467, 54.075511],
- [14.119686, 53.757029],
- [14.353315, 53.248171],
- [14.074521, 52.981263],
- [14.4376, 52.62485],
- [14.685026, 52.089947],
- [14.607098, 51.745188],
- [15.016996, 51.106674],
- [14.570718, 51.002339],
- [14.307013, 51.117268],
- [14.056228, 50.926918],
- [13.338132, 50.733234],
- [12.966837, 50.484076],
- [12.240111, 50.266338],
- [12.415191, 49.969121],
- [12.521024, 49.547415],
- [13.031329, 49.307068],
- [13.595946, 48.877172],
- [13.243357, 48.416115],
- [12.884103, 48.289146],
- [13.025851, 47.637584],
- [12.932627, 47.467646],
- [12.62076, 47.672388],
- [12.141357, 47.703083],
- [11.426414, 47.523766],
- [10.544504, 47.566399],
- [10.402084, 47.302488],
- [9.896068, 47.580197],
- [9.594226, 47.525058],
- [8.522612, 47.830828],
- [8.317301, 47.61358],
- [7.466759, 47.620582],
- [7.593676, 48.333019],
- [8.099279, 49.017784],
- [6.65823, 49.201958],
- [6.18632, 49.463803],
- [6.242751, 49.902226],
- [6.043073, 50.128052],
- [6.156658, 50.803721],
- [5.988658, 51.851616],
- [6.589397, 51.852029],
- [6.84287, 52.22844],
- [7.092053, 53.144043],
- [6.90514, 53.482162],
- [7.100425, 53.693932],
- [7.936239, 53.748296],
- [8.121706, 53.527792],
- [8.800734, 54.020786],
- [8.572118, 54.395646],
- [8.526229, 54.962744],
- [9.282049, 54.830865],
- [9.921906, 54.983104]
- ]
- ]
- },
- "id": "DEU"
- },
- {
- "type": "Feature",
- "properties": { "name": "Djibouti" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [43.081226, 12.699639],
- [43.317852, 12.390148],
- [43.286381, 11.974928],
- [42.715874, 11.735641],
- [43.145305, 11.46204],
- [42.776852, 10.926879],
- [42.55493, 11.10511],
- [42.31414, 11.0342],
- [41.75557, 11.05091],
- [41.73959, 11.35511],
- [41.66176, 11.6312],
- [42, 12.1],
- [42.35156, 12.54223],
- [42.779642, 12.455416],
- [43.081226, 12.699639]
- ]
- ]
- },
- "id": "DJI"
- },
- {
- "type": "Feature",
- "properties": { "name": "Denmark" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [12.690006, 55.609991],
- [12.089991, 54.800015],
- [11.043543, 55.364864],
- [10.903914, 55.779955],
- [12.370904, 56.111407],
- [12.690006, 55.609991]
- ]
- ],
- [
- [
- [10.912182, 56.458621],
- [10.667804, 56.081383],
- [10.369993, 56.190007],
- [9.649985, 55.469999],
- [9.921906, 54.983104],
- [9.282049, 54.830865],
- [8.526229, 54.962744],
- [8.120311, 55.517723],
- [8.089977, 56.540012],
- [8.256582, 56.809969],
- [8.543438, 57.110003],
- [9.424469, 57.172066],
- [9.775559, 57.447941],
- [10.580006, 57.730017],
- [10.546106, 57.215733],
- [10.25, 56.890016],
- [10.369993, 56.609982],
- [10.912182, 56.458621]
- ]
- ]
- ]
- },
- "id": "DNK"
- },
- {
- "type": "Feature",
- "properties": { "name": "Dominican Republic" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-71.712361, 19.714456],
- [-71.587304, 19.884911],
- [-70.806706, 19.880286],
- [-70.214365, 19.622885],
- [-69.950815, 19.648],
- [-69.76925, 19.293267],
- [-69.222126, 19.313214],
- [-69.254346, 19.015196],
- [-68.809412, 18.979074],
- [-68.317943, 18.612198],
- [-68.689316, 18.205142],
- [-69.164946, 18.422648],
- [-69.623988, 18.380713],
- [-69.952934, 18.428307],
- [-70.133233, 18.245915],
- [-70.517137, 18.184291],
- [-70.669298, 18.426886],
- [-70.99995, 18.283329],
- [-71.40021, 17.598564],
- [-71.657662, 17.757573],
- [-71.708305, 18.044997],
- [-71.687738, 18.31666],
- [-71.945112, 18.6169],
- [-71.701303, 18.785417],
- [-71.624873, 19.169838],
- [-71.712361, 19.714456]
- ]
- ]
- },
- "id": "DOM"
- },
- {
- "type": "Feature",
- "properties": { "name": "Algeria" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [11.999506, 23.471668],
- [8.572893, 21.565661],
- [5.677566, 19.601207],
- [4.267419, 19.155265],
- [3.158133, 19.057364],
- [3.146661, 19.693579],
- [2.683588, 19.85623],
- [2.060991, 20.142233],
- [1.823228, 20.610809],
- [-1.550055, 22.792666],
- [-4.923337, 24.974574],
- [-8.6844, 27.395744],
- [-8.665124, 27.589479],
- [-8.66559, 27.656426],
- [-8.674116, 28.841289],
- [-7.059228, 29.579228],
- [-6.060632, 29.7317],
- [-5.242129, 30.000443],
- [-4.859646, 30.501188],
- [-3.690441, 30.896952],
- [-3.647498, 31.637294],
- [-3.06898, 31.724498],
- [-2.616605, 32.094346],
- [-1.307899, 32.262889],
- [-1.124551, 32.651522],
- [-1.388049, 32.864015],
- [-1.733455, 33.919713],
- [-1.792986, 34.527919],
- [-2.169914, 35.168396],
- [-1.208603, 35.714849],
- [-0.127454, 35.888662],
- [0.503877, 36.301273],
- [1.466919, 36.605647],
- [3.161699, 36.783905],
- [4.815758, 36.865037],
- [5.32012, 36.716519],
- [6.26182, 37.110655],
- [7.330385, 37.118381],
- [7.737078, 36.885708],
- [8.420964, 36.946427],
- [8.217824, 36.433177],
- [8.376368, 35.479876],
- [8.140981, 34.655146],
- [7.524482, 34.097376],
- [7.612642, 33.344115],
- [8.430473, 32.748337],
- [8.439103, 32.506285],
- [9.055603, 32.102692],
- [9.48214, 30.307556],
- [9.805634, 29.424638],
- [9.859998, 28.95999],
- [9.683885, 28.144174],
- [9.756128, 27.688259],
- [9.629056, 27.140953],
- [9.716286, 26.512206],
- [9.319411, 26.094325],
- [9.910693, 25.365455],
- [9.948261, 24.936954],
- [10.303847, 24.379313],
- [10.771364, 24.562532],
- [11.560669, 24.097909],
- [11.999506, 23.471668]
- ]
- ]
- },
- "id": "DZA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Ecuador" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-80.302561, -3.404856],
- [-79.770293, -2.657512],
- [-79.986559, -2.220794],
- [-80.368784, -2.685159],
- [-80.967765, -2.246943],
- [-80.764806, -1.965048],
- [-80.933659, -1.057455],
- [-80.58337, -0.906663],
- [-80.399325, -0.283703],
- [-80.020898, 0.36034],
- [-80.09061, 0.768429],
- [-79.542762, 0.982938],
- [-78.855259, 1.380924],
- [-77.855061, 0.809925],
- [-77.668613, 0.825893],
- [-77.424984, 0.395687],
- [-76.57638, 0.256936],
- [-76.292314, 0.416047],
- [-75.801466, 0.084801],
- [-75.373223, -0.152032],
- [-75.233723, -0.911417],
- [-75.544996, -1.56161],
- [-76.635394, -2.608678],
- [-77.837905, -3.003021],
- [-78.450684, -3.873097],
- [-78.639897, -4.547784],
- [-79.205289, -4.959129],
- [-79.624979, -4.454198],
- [-80.028908, -4.346091],
- [-80.442242, -4.425724],
- [-80.469295, -4.059287],
- [-80.184015, -3.821162],
- [-80.302561, -3.404856]
- ]
- ]
- },
- "id": "ECU"
- },
- {
- "type": "Feature",
- "properties": { "name": "Egypt" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [34.9226, 29.50133],
- [34.64174, 29.09942],
- [34.42655, 28.34399],
- [34.15451, 27.8233],
- [33.92136, 27.6487],
- [33.58811, 27.97136],
- [33.13676, 28.41765],
- [32.42323, 29.85108],
- [32.32046, 29.76043],
- [32.73482, 28.70523],
- [33.34876, 27.69989],
- [34.10455, 26.14227],
- [34.47387, 25.59856],
- [34.79507, 25.03375],
- [35.69241, 23.92671],
- [35.49372, 23.75237],
- [35.52598, 23.10244],
- [36.69069, 22.20485],
- [36.86623, 22],
- [32.9, 22],
- [29.02, 22],
- [25, 22],
- [25, 25.6825],
- [25, 29.238655],
- [24.70007, 30.04419],
- [24.95762, 30.6616],
- [24.80287, 31.08929],
- [25.16482, 31.56915],
- [26.49533, 31.58568],
- [27.45762, 31.32126],
- [28.45048, 31.02577],
- [28.91353, 30.87005],
- [29.68342, 31.18686],
- [30.09503, 31.4734],
- [30.97693, 31.55586],
- [31.68796, 31.4296],
- [31.96041, 30.9336],
- [32.19247, 31.26034],
- [32.99392, 31.02407],
- [33.7734, 30.96746],
- [34.26544, 31.21936],
- [34.9226, 29.50133]
- ]
- ]
- },
- "id": "EGY"
- },
- {
- "type": "Feature",
- "properties": { "name": "Eritrea" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [42.35156, 12.54223],
- [42.00975, 12.86582],
- [41.59856, 13.45209],
- [41.155194, 13.77332],
- [40.8966, 14.11864],
- [40.026219, 14.519579],
- [39.34061, 14.53155],
- [39.0994, 14.74064],
- [38.51295, 14.50547],
- [37.90607, 14.95943],
- [37.59377, 14.2131],
- [36.42951, 14.42211],
- [36.323189, 14.822481],
- [36.75386, 16.291874],
- [36.85253, 16.95655],
- [37.16747, 17.26314],
- [37.904, 17.42754],
- [38.41009, 17.998307],
- [38.990623, 16.840626],
- [39.26611, 15.922723],
- [39.814294, 15.435647],
- [41.179275, 14.49108],
- [41.734952, 13.921037],
- [42.276831, 13.343992],
- [42.589576, 13.000421],
- [43.081226, 12.699639],
- [42.779642, 12.455416],
- [42.35156, 12.54223]
- ]
- ]
- },
- "id": "ERI"
- },
- {
- "type": "Feature",
- "properties": { "name": "Spain" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-9.034818, 41.880571],
- [-8.984433, 42.592775],
- [-9.392884, 43.026625],
- [-7.97819, 43.748338],
- [-6.754492, 43.567909],
- [-5.411886, 43.57424],
- [-4.347843, 43.403449],
- [-3.517532, 43.455901],
- [-1.901351, 43.422802],
- [-1.502771, 43.034014],
- [0.338047, 42.579546],
- [0.701591, 42.795734],
- [1.826793, 42.343385],
- [2.985999, 42.473015],
- [3.039484, 41.89212],
- [2.091842, 41.226089],
- [0.810525, 41.014732],
- [0.721331, 40.678318],
- [0.106692, 40.123934],
- [-0.278711, 39.309978],
- [0.111291, 38.738514],
- [-0.467124, 38.292366],
- [-0.683389, 37.642354],
- [-1.438382, 37.443064],
- [-2.146453, 36.674144],
- [-3.415781, 36.6589],
- [-4.368901, 36.677839],
- [-4.995219, 36.324708],
- [-5.37716, 35.94685],
- [-5.866432, 36.029817],
- [-6.236694, 36.367677],
- [-6.520191, 36.942913],
- [-7.453726, 37.097788],
- [-7.537105, 37.428904],
- [-7.166508, 37.803894],
- [-7.029281, 38.075764],
- [-7.374092, 38.373059],
- [-7.098037, 39.030073],
- [-7.498632, 39.629571],
- [-7.066592, 39.711892],
- [-7.026413, 40.184524],
- [-6.86402, 40.330872],
- [-6.851127, 41.111083],
- [-6.389088, 41.381815],
- [-6.668606, 41.883387],
- [-7.251309, 41.918346],
- [-7.422513, 41.792075],
- [-8.013175, 41.790886],
- [-8.263857, 42.280469],
- [-8.671946, 42.134689],
- [-9.034818, 41.880571]
- ]
- ]
- },
- "id": "ESP"
- },
- {
- "type": "Feature",
- "properties": { "name": "Estonia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [24.312863, 57.793424],
- [24.428928, 58.383413],
- [24.061198, 58.257375],
- [23.42656, 58.612753],
- [23.339795, 59.18724],
- [24.604214, 59.465854],
- [25.864189, 59.61109],
- [26.949136, 59.445803],
- [27.981114, 59.475388],
- [28.131699, 59.300825],
- [27.420166, 58.724581],
- [27.716686, 57.791899],
- [27.288185, 57.474528],
- [26.463532, 57.476389],
- [25.60281, 57.847529],
- [25.164594, 57.970157],
- [24.312863, 57.793424]
- ]
- ]
- },
- "id": "EST"
- },
- {
- "type": "Feature",
- "properties": { "name": "Ethiopia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [37.90607, 14.95943],
- [38.51295, 14.50547],
- [39.0994, 14.74064],
- [39.34061, 14.53155],
- [40.02625, 14.51959],
- [40.8966, 14.11864],
- [41.1552, 13.77333],
- [41.59856, 13.45209],
- [42.00975, 12.86582],
- [42.35156, 12.54223],
- [42, 12.1],
- [41.66176, 11.6312],
- [41.73959, 11.35511],
- [41.75557, 11.05091],
- [42.31414, 11.0342],
- [42.55493, 11.10511],
- [42.776852, 10.926879],
- [42.55876, 10.57258],
- [42.92812, 10.02194],
- [43.29699, 9.54048],
- [43.67875, 9.18358],
- [46.94834, 7.99688],
- [47.78942, 8.003],
- [44.9636, 5.00162],
- [43.66087, 4.95755],
- [42.76967, 4.25259],
- [42.12861, 4.23413],
- [41.855083, 3.918912],
- [41.1718, 3.91909],
- [40.76848, 4.25702],
- [39.85494, 3.83879],
- [39.559384, 3.42206],
- [38.89251, 3.50074],
- [38.67114, 3.61607],
- [38.43697, 3.58851],
- [38.120915, 3.598605],
- [36.855093, 4.447864],
- [36.159079, 4.447864],
- [35.817448, 4.776966],
- [35.817448, 5.338232],
- [35.298007, 5.506],
- [34.70702, 6.59422],
- [34.25032, 6.82607],
- [34.0751, 7.22595],
- [33.56829, 7.71334],
- [32.95418, 7.78497],
- [33.2948, 8.35458],
- [33.8255, 8.37916],
- [33.97498, 8.68456],
- [33.96162, 9.58358],
- [34.25745, 10.63009],
- [34.73115, 10.91017],
- [34.83163, 11.31896],
- [35.26049, 12.08286],
- [35.86363, 12.57828],
- [36.27022, 13.56333],
- [36.42951, 14.42211],
- [37.59377, 14.2131],
- [37.90607, 14.95943]
- ]
- ]
- },
- "id": "ETH"
- },
- {
- "type": "Feature",
- "properties": { "name": "Finland" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [28.59193, 69.064777],
- [28.445944, 68.364613],
- [29.977426, 67.698297],
- [29.054589, 66.944286],
- [30.21765, 65.80598],
- [29.54443, 64.948672],
- [30.444685, 64.204453],
- [30.035872, 63.552814],
- [31.516092, 62.867687],
- [31.139991, 62.357693],
- [30.211107, 61.780028],
- [28.069998, 60.503517],
- [26.255173, 60.423961],
- [24.496624, 60.057316],
- [22.869695, 59.846373],
- [22.290764, 60.391921],
- [21.322244, 60.72017],
- [21.544866, 61.705329],
- [21.059211, 62.607393],
- [21.536029, 63.189735],
- [22.442744, 63.81781],
- [24.730512, 64.902344],
- [25.398068, 65.111427],
- [25.294043, 65.534346],
- [23.903379, 66.006927],
- [23.56588, 66.396051],
- [23.539473, 67.936009],
- [21.978535, 68.616846],
- [20.645593, 69.106247],
- [21.244936, 69.370443],
- [22.356238, 68.841741],
- [23.66205, 68.891247],
- [24.735679, 68.649557],
- [25.689213, 69.092114],
- [26.179622, 69.825299],
- [27.732292, 70.164193],
- [29.015573, 69.766491],
- [28.59193, 69.064777]
- ]
- ]
- },
- "id": "FIN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Fiji" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [178.3736, -17.33992],
- [178.71806, -17.62846],
- [178.55271, -18.15059],
- [177.93266, -18.28799],
- [177.38146, -18.16432],
- [177.28504, -17.72465],
- [177.67087, -17.38114],
- [178.12557, -17.50481],
- [178.3736, -17.33992]
- ]
- ],
- [
- [
- [179.364143, -16.801354],
- [178.725059, -17.012042],
- [178.596839, -16.63915],
- [179.096609, -16.433984],
- [179.413509, -16.379054],
- [180, -16.067133],
- [180, -16.555217],
- [179.364143, -16.801354]
- ]
- ],
- [
- [
- [-179.917369, -16.501783],
- [-180, -16.555217],
- [-180, -16.067133],
- [-179.79332, -16.020882],
- [-179.917369, -16.501783]
- ]
- ]
- ]
- },
- "id": "FJI"
- },
- {
- "type": "Feature",
- "properties": { "name": "Falkland Islands" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-61.2, -51.85],
- [-60, -51.25],
- [-59.15, -51.5],
- [-58.55, -51.1],
- [-57.75, -51.55],
- [-58.05, -51.9],
- [-59.4, -52.2],
- [-59.85, -51.85],
- [-60.7, -52.3],
- [-61.2, -51.85]
- ]
- ]
- },
- "id": "FLK"
- },
- {
- "type": "Feature",
- "properties": { "name": "France" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [-52.556425, 2.504705],
- [-52.939657, 2.124858],
- [-53.418465, 2.053389],
- [-53.554839, 2.334897],
- [-53.778521, 2.376703],
- [-54.088063, 2.105557],
- [-54.524754, 2.311849],
- [-54.27123, 2.738748],
- [-54.184284, 3.194172],
- [-54.011504, 3.62257],
- [-54.399542, 4.212611],
- [-54.478633, 4.896756],
- [-53.958045, 5.756548],
- [-53.618453, 5.646529],
- [-52.882141, 5.409851],
- [-51.823343, 4.565768],
- [-51.657797, 4.156232],
- [-52.249338, 3.241094],
- [-52.556425, 2.504705]
- ]
- ],
- [
- [
- [9.560016, 42.152492],
- [9.229752, 41.380007],
- [8.775723, 41.583612],
- [8.544213, 42.256517],
- [8.746009, 42.628122],
- [9.390001, 43.009985],
- [9.560016, 42.152492]
- ]
- ],
- [
- [
- [3.588184, 50.378992],
- [4.286023, 49.907497],
- [4.799222, 49.985373],
- [5.674052, 49.529484],
- [5.897759, 49.442667],
- [6.18632, 49.463803],
- [6.65823, 49.201958],
- [8.099279, 49.017784],
- [7.593676, 48.333019],
- [7.466759, 47.620582],
- [7.192202, 47.449766],
- [6.736571, 47.541801],
- [6.768714, 47.287708],
- [6.037389, 46.725779],
- [6.022609, 46.27299],
- [6.5001, 46.429673],
- [6.843593, 45.991147],
- [6.802355, 45.70858],
- [7.096652, 45.333099],
- [6.749955, 45.028518],
- [7.007562, 44.254767],
- [7.549596, 44.127901],
- [7.435185, 43.693845],
- [6.529245, 43.128892],
- [4.556963, 43.399651],
- [3.100411, 43.075201],
- [2.985999, 42.473015],
- [1.826793, 42.343385],
- [0.701591, 42.795734],
- [0.338047, 42.579546],
- [-1.502771, 43.034014],
- [-1.901351, 43.422802],
- [-1.384225, 44.02261],
- [-1.193798, 46.014918],
- [-2.225724, 47.064363],
- [-2.963276, 47.570327],
- [-4.491555, 47.954954],
- [-4.59235, 48.68416],
- [-3.295814, 48.901692],
- [-1.616511, 48.644421],
- [-1.933494, 49.776342],
- [-0.989469, 49.347376],
- [1.338761, 50.127173],
- [1.639001, 50.946606],
- [2.513573, 51.148506],
- [2.658422, 50.796848],
- [3.123252, 50.780363],
- [3.588184, 50.378992]
- ]
- ]
- ]
- },
- "id": "FRA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Gabon" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [11.093773, -3.978827],
- [10.066135, -2.969483],
- [9.405245, -2.144313],
- [8.797996, -1.111301],
- [8.830087, -0.779074],
- [9.04842, -0.459351],
- [9.291351, 0.268666],
- [9.492889, 1.01012],
- [9.830284, 1.067894],
- [11.285079, 1.057662],
- [11.276449, 2.261051],
- [11.751665, 2.326758],
- [12.35938, 2.192812],
- [12.951334, 2.321616],
- [13.075822, 2.267097],
- [13.003114, 1.830896],
- [13.282631, 1.314184],
- [14.026669, 1.395677],
- [14.276266, 1.19693],
- [13.843321, 0.038758],
- [14.316418, -0.552627],
- [14.425456, -1.333407],
- [14.29921, -1.998276],
- [13.992407, -2.470805],
- [13.109619, -2.42874],
- [12.575284, -1.948511],
- [12.495703, -2.391688],
- [11.820964, -2.514161],
- [11.478039, -2.765619],
- [11.855122, -3.426871],
- [11.093773, -3.978827]
- ]
- ]
- },
- "id": "GAB"
- },
- {
- "type": "Feature",
- "properties": { "name": "England" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [-5.661949, 54.554603],
- [-6.197885, 53.867565],
- [-6.95373, 54.073702],
- [-7.572168, 54.059956],
- [-7.366031, 54.595841],
- [-7.572168, 55.131622],
- [-6.733847, 55.17286],
- [-5.661949, 54.554603]
- ]
- ],
- [
- [
- [-3.005005, 58.635],
- [-4.073828, 57.553025],
- [-3.055002, 57.690019],
- [-1.959281, 57.6848],
- [-2.219988, 56.870017],
- [-3.119003, 55.973793],
- [-2.085009, 55.909998],
- [-2.005676, 55.804903],
- [-1.114991, 54.624986],
- [-0.430485, 54.464376],
- [0.184981, 53.325014],
- [0.469977, 52.929999],
- [1.681531, 52.73952],
- [1.559988, 52.099998],
- [1.050562, 51.806761],
- [1.449865, 51.289428],
- [0.550334, 50.765739],
- [-0.787517, 50.774989],
- [-2.489998, 50.500019],
- [-2.956274, 50.69688],
- [-3.617448, 50.228356],
- [-4.542508, 50.341837],
- [-5.245023, 49.96],
- [-5.776567, 50.159678],
- [-4.30999, 51.210001],
- [-3.414851, 51.426009],
- [-3.422719, 51.426848],
- [-4.984367, 51.593466],
- [-5.267296, 51.9914],
- [-4.222347, 52.301356],
- [-4.770013, 52.840005],
- [-4.579999, 53.495004],
- [-3.093831, 53.404547],
- [-3.09208, 53.404441],
- [-2.945009, 53.985],
- [-3.614701, 54.600937],
- [-3.630005, 54.615013],
- [-4.844169, 54.790971],
- [-5.082527, 55.061601],
- [-4.719112, 55.508473],
- [-5.047981, 55.783986],
- [-5.586398, 55.311146],
- [-5.644999, 56.275015],
- [-6.149981, 56.78501],
- [-5.786825, 57.818848],
- [-5.009999, 58.630013],
- [-4.211495, 58.550845],
- [-3.005005, 58.635]
- ]
- ]
- ]
- },
- "id": "GBR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Georgia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [41.554084, 41.535656],
- [41.703171, 41.962943],
- [41.45347, 42.645123],
- [40.875469, 43.013628],
- [40.321394, 43.128634],
- [39.955009, 43.434998],
- [40.076965, 43.553104],
- [40.922185, 43.382159],
- [42.394395, 43.220308],
- [43.756017, 42.740828],
- [43.9312, 42.554974],
- [44.537623, 42.711993],
- [45.470279, 42.502781],
- [45.77641, 42.092444],
- [46.404951, 41.860675],
- [46.145432, 41.722802],
- [46.637908, 41.181673],
- [46.501637, 41.064445],
- [45.962601, 41.123873],
- [45.217426, 41.411452],
- [44.97248, 41.248129],
- [43.582746, 41.092143],
- [42.619549, 41.583173],
- [41.554084, 41.535656]
- ]
- ]
- },
- "id": "GEO"
- },
- {
- "type": "Feature",
- "properties": { "name": "Ghana" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [1.060122, 5.928837],
- [-0.507638, 5.343473],
- [-1.063625, 5.000548],
- [-1.964707, 4.710462],
- [-2.856125, 4.994476],
- [-2.810701, 5.389051],
- [-3.24437, 6.250472],
- [-2.983585, 7.379705],
- [-2.56219, 8.219628],
- [-2.827496, 9.642461],
- [-2.963896, 10.395335],
- [-2.940409, 10.96269],
- [-1.203358, 11.009819],
- [-0.761576, 10.93693],
- [-0.438702, 11.098341],
- [0.023803, 11.018682],
- [-0.049785, 10.706918],
- [0.36758, 10.191213],
- [0.365901, 9.465004],
- [0.461192, 8.677223],
- [0.712029, 8.312465],
- [0.490957, 7.411744],
- [0.570384, 6.914359],
- [0.836931, 6.279979],
- [1.060122, 5.928837]
- ]
- ]
- },
- "id": "GHA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Guinea" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-8.439298, 7.686043],
- [-8.722124, 7.711674],
- [-8.926065, 7.309037],
- [-9.208786, 7.313921],
- [-9.403348, 7.526905],
- [-9.33728, 7.928534],
- [-9.755342, 8.541055],
- [-10.016567, 8.428504],
- [-10.230094, 8.406206],
- [-10.505477, 8.348896],
- [-10.494315, 8.715541],
- [-10.65477, 8.977178],
- [-10.622395, 9.26791],
- [-10.839152, 9.688246],
- [-11.117481, 10.045873],
- [-11.917277, 10.046984],
- [-12.150338, 9.858572],
- [-12.425929, 9.835834],
- [-12.596719, 9.620188],
- [-12.711958, 9.342712],
- [-13.24655, 8.903049],
- [-13.685154, 9.494744],
- [-14.074045, 9.886167],
- [-14.330076, 10.01572],
- [-14.579699, 10.214467],
- [-14.693232, 10.656301],
- [-14.839554, 10.876572],
- [-15.130311, 11.040412],
- [-14.685687, 11.527824],
- [-14.382192, 11.509272],
- [-14.121406, 11.677117],
- [-13.9008, 11.678719],
- [-13.743161, 11.811269],
- [-13.828272, 12.142644],
- [-13.718744, 12.247186],
- [-13.700476, 12.586183],
- [-13.217818, 12.575874],
- [-12.499051, 12.33209],
- [-12.278599, 12.35444],
- [-12.203565, 12.465648],
- [-11.658301, 12.386583],
- [-11.513943, 12.442988],
- [-11.456169, 12.076834],
- [-11.297574, 12.077971],
- [-11.036556, 12.211245],
- [-10.87083, 12.177887],
- [-10.593224, 11.923975],
- [-10.165214, 11.844084],
- [-9.890993, 12.060479],
- [-9.567912, 12.194243],
- [-9.327616, 12.334286],
- [-9.127474, 12.30806],
- [-8.905265, 12.088358],
- [-8.786099, 11.812561],
- [-8.376305, 11.393646],
- [-8.581305, 11.136246],
- [-8.620321, 10.810891],
- [-8.407311, 10.909257],
- [-8.282357, 10.792597],
- [-8.335377, 10.494812],
- [-8.029944, 10.206535],
- [-8.229337, 10.12902],
- [-8.309616, 9.789532],
- [-8.079114, 9.376224],
- [-7.8321, 8.575704],
- [-8.203499, 8.455453],
- [-8.299049, 8.316444],
- [-8.221792, 8.123329],
- [-8.280703, 7.68718],
- [-8.439298, 7.686043]
- ]
- ]
- },
- "id": "GIN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Gambia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-16.841525, 13.151394],
- [-16.713729, 13.594959],
- [-15.624596, 13.623587],
- [-15.39877, 13.860369],
- [-15.081735, 13.876492],
- [-14.687031, 13.630357],
- [-14.376714, 13.62568],
- [-14.046992, 13.794068],
- [-13.844963, 13.505042],
- [-14.277702, 13.280585],
- [-14.712197, 13.298207],
- [-15.141163, 13.509512],
- [-15.511813, 13.27857],
- [-15.691001, 13.270353],
- [-15.931296, 13.130284],
- [-16.841525, 13.151394]
- ]
- ]
- },
- "id": "GMB"
- },
- {
- "type": "Feature",
- "properties": { "name": "Guinea Bissau" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-15.130311, 11.040412],
- [-15.66418, 11.458474],
- [-16.085214, 11.524594],
- [-16.314787, 11.806515],
- [-16.308947, 11.958702],
- [-16.613838, 12.170911],
- [-16.677452, 12.384852],
- [-16.147717, 12.547762],
- [-15.816574, 12.515567],
- [-15.548477, 12.62817],
- [-13.700476, 12.586183],
- [-13.718744, 12.247186],
- [-13.828272, 12.142644],
- [-13.743161, 11.811269],
- [-13.9008, 11.678719],
- [-14.121406, 11.677117],
- [-14.382192, 11.509272],
- [-14.685687, 11.527824],
- [-15.130311, 11.040412]
- ]
- ]
- },
- "id": "GNB"
- },
- {
- "type": "Feature",
- "properties": { "name": "Equatorial Guinea" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [9.492889, 1.01012],
- [9.305613, 1.160911],
- [9.649158, 2.283866],
- [11.276449, 2.261051],
- [11.285079, 1.057662],
- [9.830284, 1.067894],
- [9.492889, 1.01012]
- ]
- ]
- },
- "id": "GNQ"
- },
- {
- "type": "Feature",
- "properties": { "name": "Greece" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [23.69998, 35.705004],
- [24.246665, 35.368022],
- [25.025015, 35.424996],
- [25.769208, 35.354018],
- [25.745023, 35.179998],
- [26.290003, 35.29999],
- [26.164998, 35.004995],
- [24.724982, 34.919988],
- [24.735007, 35.084991],
- [23.514978, 35.279992],
- [23.69998, 35.705004]
- ]
- ],
- [
- [
- [26.604196, 41.562115],
- [26.294602, 40.936261],
- [26.056942, 40.824123],
- [25.447677, 40.852545],
- [24.925848, 40.947062],
- [23.714811, 40.687129],
- [24.407999, 40.124993],
- [23.899968, 39.962006],
- [23.342999, 39.960998],
- [22.813988, 40.476005],
- [22.626299, 40.256561],
- [22.849748, 39.659311],
- [23.350027, 39.190011],
- [22.973099, 38.970903],
- [23.530016, 38.510001],
- [24.025025, 38.219993],
- [24.040011, 37.655015],
- [23.115003, 37.920011],
- [23.409972, 37.409991],
- [22.774972, 37.30501],
- [23.154225, 36.422506],
- [22.490028, 36.41],
- [21.670026, 36.844986],
- [21.295011, 37.644989],
- [21.120034, 38.310323],
- [20.730032, 38.769985],
- [20.217712, 39.340235],
- [20.150016, 39.624998],
- [20.615, 40.110007],
- [20.674997, 40.435],
- [20.99999, 40.580004],
- [21.02004, 40.842727],
- [21.674161, 40.931275],
- [22.055378, 41.149866],
- [22.597308, 41.130487],
- [22.76177, 41.3048],
- [22.952377, 41.337994],
- [23.692074, 41.309081],
- [24.492645, 41.583896],
- [25.197201, 41.234486],
- [26.106138, 41.328899],
- [26.117042, 41.826905],
- [26.604196, 41.562115]
- ]
- ]
- ]
- },
- "id": "GRC"
- },
- {
- "type": "Feature",
- "properties": { "name": "Greenland" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-46.76379, 82.62796],
- [-43.40644, 83.22516],
- [-39.89753, 83.18018],
- [-38.62214, 83.54905],
- [-35.08787, 83.64513],
- [-27.10046, 83.51966],
- [-20.84539, 82.72669],
- [-22.69182, 82.34165],
- [-26.51753, 82.29765],
- [-31.9, 82.2],
- [-31.39646, 82.02154],
- [-27.85666, 82.13178],
- [-24.84448, 81.78697],
- [-22.90328, 82.09317],
- [-22.07175, 81.73449],
- [-23.16961, 81.15271],
- [-20.62363, 81.52462],
- [-15.76818, 81.91245],
- [-12.77018, 81.71885],
- [-12.20855, 81.29154],
- [-16.28533, 80.58004],
- [-16.85, 80.35],
- [-20.04624, 80.17708],
- [-17.73035, 80.12912],
- [-18.9, 79.4],
- [-19.70499, 78.75128],
- [-19.67353, 77.63859],
- [-18.47285, 76.98565],
- [-20.03503, 76.94434],
- [-21.67944, 76.62795],
- [-19.83407, 76.09808],
- [-19.59896, 75.24838],
- [-20.66818, 75.15585],
- [-19.37281, 74.29561],
- [-21.59422, 74.22382],
- [-20.43454, 73.81713],
- [-20.76234, 73.46436],
- [-22.17221, 73.30955],
- [-23.56593, 73.30663],
- [-22.31311, 72.62928],
- [-22.29954, 72.18409],
- [-24.27834, 72.59788],
- [-24.79296, 72.3302],
- [-23.44296, 72.08016],
- [-22.13281, 71.46898],
- [-21.75356, 70.66369],
- [-23.53603, 70.471],
- [-24.30702, 70.85649],
- [-25.54341, 71.43094],
- [-25.20135, 70.75226],
- [-26.36276, 70.22646],
- [-23.72742, 70.18401],
- [-22.34902, 70.12946],
- [-25.02927, 69.2588],
- [-27.74737, 68.47046],
- [-30.67371, 68.12503],
- [-31.77665, 68.12078],
- [-32.81105, 67.73547],
- [-34.20196, 66.67974],
- [-36.35284, 65.9789],
- [-37.04378, 65.93768],
- [-38.37505, 65.69213],
- [-39.81222, 65.45848],
- [-40.66899, 64.83997],
- [-40.68281, 64.13902],
- [-41.1887, 63.48246],
- [-42.81938, 62.68233],
- [-42.41666, 61.90093],
- [-42.86619, 61.07404],
- [-43.3784, 60.09772],
- [-44.7875, 60.03676],
- [-46.26364, 60.85328],
- [-48.26294, 60.85843],
- [-49.23308, 61.40681],
- [-49.90039, 62.38336],
- [-51.63325, 63.62691],
- [-52.14014, 64.27842],
- [-52.27659, 65.1767],
- [-53.66166, 66.09957],
- [-53.30161, 66.8365],
- [-53.96911, 67.18899],
- [-52.9804, 68.35759],
- [-51.47536, 68.72958],
- [-51.08041, 69.14781],
- [-50.87122, 69.9291],
- [-52.013585, 69.574925],
- [-52.55792, 69.42616],
- [-53.45629, 69.283625],
- [-54.68336, 69.61003],
- [-54.75001, 70.28932],
- [-54.35884, 70.821315],
- [-53.431315, 70.835755],
- [-51.39014, 70.56978],
- [-53.10937, 71.20485],
- [-54.00422, 71.54719],
- [-55, 71.406537],
- [-55.83468, 71.65444],
- [-54.71819, 72.58625],
- [-55.32634, 72.95861],
- [-56.12003, 73.64977],
- [-57.32363, 74.71026],
- [-58.59679, 75.09861],
- [-58.58516, 75.51727],
- [-61.26861, 76.10238],
- [-63.39165, 76.1752],
- [-66.06427, 76.13486],
- [-68.50438, 76.06141],
- [-69.66485, 76.37975],
- [-71.40257, 77.00857],
- [-68.77671, 77.32312],
- [-66.76397, 77.37595],
- [-71.04293, 77.63595],
- [-73.297, 78.04419],
- [-73.15938, 78.43271],
- [-69.37345, 78.91388],
- [-65.7107, 79.39436],
- [-65.3239, 79.75814],
- [-68.02298, 80.11721],
- [-67.15129, 80.51582],
- [-63.68925, 81.21396],
- [-62.23444, 81.3211],
- [-62.65116, 81.77042],
- [-60.28249, 82.03363],
- [-57.20744, 82.19074],
- [-54.13442, 82.19962],
- [-53.04328, 81.88833],
- [-50.39061, 82.43883],
- [-48.00386, 82.06481],
- [-46.59984, 81.985945],
- [-44.523, 81.6607],
- [-46.9007, 82.19979],
- [-46.76379, 82.62796]
- ]
- ]
- },
- "id": "GRL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Guatemala" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-90.095555, 13.735338],
- [-90.608624, 13.909771],
- [-91.23241, 13.927832],
- [-91.689747, 14.126218],
- [-92.22775, 14.538829],
- [-92.20323, 14.830103],
- [-92.087216, 15.064585],
- [-92.229249, 15.251447],
- [-91.74796, 16.066565],
- [-90.464473, 16.069562],
- [-90.438867, 16.41011],
- [-90.600847, 16.470778],
- [-90.711822, 16.687483],
- [-91.08167, 16.918477],
- [-91.453921, 17.252177],
- [-91.002269, 17.254658],
- [-91.00152, 17.817595],
- [-90.067934, 17.819326],
- [-89.14308, 17.808319],
- [-89.150806, 17.015577],
- [-89.229122, 15.886938],
- [-88.930613, 15.887273],
- [-88.604586, 15.70638],
- [-88.518364, 15.855389],
- [-88.225023, 15.727722],
- [-88.68068, 15.346247],
- [-89.154811, 15.066419],
- [-89.22522, 14.874286],
- [-89.145535, 14.678019],
- [-89.353326, 14.424133],
- [-89.587343, 14.362586],
- [-89.534219, 14.244816],
- [-89.721934, 14.134228],
- [-90.064678, 13.88197],
- [-90.095555, 13.735338]
- ]
- ]
- },
- "id": "GTM"
- },
- {
- "type": "Feature",
- "properties": { "name": "Guyana" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-59.758285, 8.367035],
- [-59.101684, 7.999202],
- [-58.482962, 7.347691],
- [-58.454876, 6.832787],
- [-58.078103, 6.809094],
- [-57.542219, 6.321268],
- [-57.147436, 5.97315],
- [-57.307246, 5.073567],
- [-57.914289, 4.812626],
- [-57.86021, 4.576801],
- [-58.044694, 4.060864],
- [-57.601569, 3.334655],
- [-57.281433, 3.333492],
- [-57.150098, 2.768927],
- [-56.539386, 1.899523],
- [-56.782704, 1.863711],
- [-57.335823, 1.948538],
- [-57.660971, 1.682585],
- [-58.11345, 1.507195],
- [-58.429477, 1.463942],
- [-58.540013, 1.268088],
- [-59.030862, 1.317698],
- [-59.646044, 1.786894],
- [-59.718546, 2.24963],
- [-59.974525, 2.755233],
- [-59.815413, 3.606499],
- [-59.53804, 3.958803],
- [-59.767406, 4.423503],
- [-60.111002, 4.574967],
- [-59.980959, 5.014061],
- [-60.213683, 5.244486],
- [-60.733574, 5.200277],
- [-61.410303, 5.959068],
- [-61.139415, 6.234297],
- [-61.159336, 6.696077],
- [-60.543999, 6.856584],
- [-60.295668, 7.043911],
- [-60.637973, 7.415],
- [-60.550588, 7.779603],
- [-59.758285, 8.367035]
- ]
- ]
- },
- "id": "GUY"
- },
- {
- "type": "Feature",
- "properties": { "name": "Honduras" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-87.316654, 12.984686],
- [-87.489409, 13.297535],
- [-87.793111, 13.38448],
- [-87.723503, 13.78505],
- [-87.859515, 13.893312],
- [-88.065343, 13.964626],
- [-88.503998, 13.845486],
- [-88.541231, 13.980155],
- [-88.843073, 14.140507],
- [-89.058512, 14.340029],
- [-89.353326, 14.424133],
- [-89.145535, 14.678019],
- [-89.22522, 14.874286],
- [-89.154811, 15.066419],
- [-88.68068, 15.346247],
- [-88.225023, 15.727722],
- [-88.121153, 15.688655],
- [-87.901813, 15.864458],
- [-87.61568, 15.878799],
- [-87.522921, 15.797279],
- [-87.367762, 15.84694],
- [-86.903191, 15.756713],
- [-86.440946, 15.782835],
- [-86.119234, 15.893449],
- [-86.001954, 16.005406],
- [-85.683317, 15.953652],
- [-85.444004, 15.885749],
- [-85.182444, 15.909158],
- [-84.983722, 15.995923],
- [-84.52698, 15.857224],
- [-84.368256, 15.835158],
- [-84.063055, 15.648244],
- [-83.773977, 15.424072],
- [-83.410381, 15.270903],
- [-83.147219, 14.995829],
- [-83.489989, 15.016267],
- [-83.628585, 14.880074],
- [-83.975721, 14.749436],
- [-84.228342, 14.748764],
- [-84.449336, 14.621614],
- [-84.649582, 14.666805],
- [-84.820037, 14.819587],
- [-84.924501, 14.790493],
- [-85.052787, 14.551541],
- [-85.148751, 14.560197],
- [-85.165365, 14.35437],
- [-85.514413, 14.079012],
- [-85.698665, 13.960078],
- [-85.801295, 13.836055],
- [-86.096264, 14.038187],
- [-86.312142, 13.771356],
- [-86.520708, 13.778487],
- [-86.755087, 13.754845],
- [-86.733822, 13.263093],
- [-86.880557, 13.254204],
- [-87.005769, 13.025794],
- [-87.316654, 12.984686]
- ]
- ]
- },
- "id": "HND"
- },
- {
- "type": "Feature",
- "properties": { "name": "Croatia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [18.829838, 45.908878],
- [19.072769, 45.521511],
- [19.390476, 45.236516],
- [19.005486, 44.860234],
- [18.553214, 45.08159],
- [17.861783, 45.06774],
- [17.002146, 45.233777],
- [16.534939, 45.211608],
- [16.318157, 45.004127],
- [15.959367, 45.233777],
- [15.750026, 44.818712],
- [16.23966, 44.351143],
- [16.456443, 44.04124],
- [16.916156, 43.667722],
- [17.297373, 43.446341],
- [17.674922, 43.028563],
- [18.56, 42.65],
- [18.450016, 42.479991],
- [17.50997, 42.849995],
- [16.930006, 43.209998],
- [16.015385, 43.507215],
- [15.174454, 44.243191],
- [15.37625, 44.317915],
- [14.920309, 44.738484],
- [14.901602, 45.07606],
- [14.258748, 45.233777],
- [13.952255, 44.802124],
- [13.656976, 45.136935],
- [13.679403, 45.484149],
- [13.71506, 45.500324],
- [14.411968, 45.466166],
- [14.595109, 45.634941],
- [14.935244, 45.471695],
- [15.327675, 45.452316],
- [15.323954, 45.731783],
- [15.67153, 45.834154],
- [15.768733, 46.238108],
- [16.564808, 46.503751],
- [16.882515, 46.380632],
- [17.630066, 45.951769],
- [18.456062, 45.759481],
- [18.829838, 45.908878]
- ]
- ]
- },
- "id": "HRV"
- },
- {
- "type": "Feature",
- "properties": { "name": "Haiti" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-73.189791, 19.915684],
- [-72.579673, 19.871501],
- [-71.712361, 19.714456],
- [-71.624873, 19.169838],
- [-71.701303, 18.785417],
- [-71.945112, 18.6169],
- [-71.687738, 18.31666],
- [-71.708305, 18.044997],
- [-72.372476, 18.214961],
- [-72.844411, 18.145611],
- [-73.454555, 18.217906],
- [-73.922433, 18.030993],
- [-74.458034, 18.34255],
- [-74.369925, 18.664908],
- [-73.449542, 18.526053],
- [-72.694937, 18.445799],
- [-72.334882, 18.668422],
- [-72.79165, 19.101625],
- [-72.784105, 19.483591],
- [-73.415022, 19.639551],
- [-73.189791, 19.915684]
- ]
- ]
- },
- "id": "HTI"
- },
- {
- "type": "Feature",
- "properties": { "name": "Hungary" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [16.202298, 46.852386],
- [16.534268, 47.496171],
- [16.340584, 47.712902],
- [16.903754, 47.714866],
- [16.979667, 48.123497],
- [17.488473, 47.867466],
- [17.857133, 47.758429],
- [18.696513, 47.880954],
- [18.777025, 48.081768],
- [19.174365, 48.111379],
- [19.661364, 48.266615],
- [19.769471, 48.202691],
- [20.239054, 48.327567],
- [20.473562, 48.56285],
- [20.801294, 48.623854],
- [21.872236, 48.319971],
- [22.085608, 48.422264],
- [22.64082, 48.15024],
- [22.710531, 47.882194],
- [22.099768, 47.672439],
- [21.626515, 46.994238],
- [21.021952, 46.316088],
- [20.220192, 46.127469],
- [19.596045, 46.17173],
- [18.829838, 45.908878],
- [18.456062, 45.759481],
- [17.630066, 45.951769],
- [16.882515, 46.380632],
- [16.564808, 46.503751],
- [16.370505, 46.841327],
- [16.202298, 46.852386]
- ]
- ]
- },
- "id": "HUN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Indonesia" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [120.715609, -10.239581],
- [120.295014, -10.25865],
- [118.967808, -9.557969],
- [119.90031, -9.36134],
- [120.425756, -9.665921],
- [120.775502, -9.969675],
- [120.715609, -10.239581]
- ]
- ],
- [
- [
- [124.43595, -10.140001],
- [123.579982, -10.359987],
- [123.459989, -10.239995],
- [123.550009, -9.900016],
- [123.980009, -9.290027],
- [124.968682, -8.89279],
- [125.07002, -9.089987],
- [125.08852, -9.393173],
- [124.43595, -10.140001]
- ]
- ],
- [
- [
- [117.900018, -8.095681],
- [118.260616, -8.362383],
- [118.87846, -8.280683],
- [119.126507, -8.705825],
- [117.970402, -8.906639],
- [117.277731, -9.040895],
- [116.740141, -9.032937],
- [117.083737, -8.457158],
- [117.632024, -8.449303],
- [117.900018, -8.095681]
- ]
- ],
- [
- [
- [122.903537, -8.094234],
- [122.756983, -8.649808],
- [121.254491, -8.933666],
- [119.924391, -8.810418],
- [119.920929, -8.444859],
- [120.715092, -8.236965],
- [121.341669, -8.53674],
- [122.007365, -8.46062],
- [122.903537, -8.094234]
- ]
- ],
- [
- [
- [108.623479, -6.777674],
- [110.539227, -6.877358],
- [110.759576, -6.465186],
- [112.614811, -6.946036],
- [112.978768, -7.594213],
- [114.478935, -7.776528],
- [115.705527, -8.370807],
- [114.564511, -8.751817],
- [113.464734, -8.348947],
- [112.559672, -8.376181],
- [111.522061, -8.302129],
- [110.58615, -8.122605],
- [109.427667, -7.740664],
- [108.693655, -7.6416],
- [108.277763, -7.766657],
- [106.454102, -7.3549],
- [106.280624, -6.9249],
- [105.365486, -6.851416],
- [106.051646, -5.895919],
- [107.265009, -5.954985],
- [108.072091, -6.345762],
- [108.486846, -6.421985],
- [108.623479, -6.777674]
- ]
- ],
- [
- [
- [134.724624, -6.214401],
- [134.210134, -6.895238],
- [134.112776, -6.142467],
- [134.290336, -5.783058],
- [134.499625, -5.445042],
- [134.727002, -5.737582],
- [134.724624, -6.214401]
- ]
- ],
- [
- [
- [127.249215, -3.459065],
- [126.874923, -3.790983],
- [126.183802, -3.607376],
- [125.989034, -3.177273],
- [127.000651, -3.129318],
- [127.249215, -3.459065]
- ]
- ],
- [
- [
- [130.471344, -3.093764],
- [130.834836, -3.858472],
- [129.990547, -3.446301],
- [129.155249, -3.362637],
- [128.590684, -3.428679],
- [127.898891, -3.393436],
- [128.135879, -2.84365],
- [129.370998, -2.802154],
- [130.471344, -3.093764]
- ]
- ],
- [
- [
- [134.143368, -1.151867],
- [134.422627, -2.769185],
- [135.457603, -3.367753],
- [136.293314, -2.307042],
- [137.440738, -1.703513],
- [138.329727, -1.702686],
- [139.184921, -2.051296],
- [139.926684, -2.409052],
- [141.00021, -2.600151],
- [141.017057, -5.859022],
- [141.033852, -9.117893],
- [140.143415, -8.297168],
- [139.127767, -8.096043],
- [138.881477, -8.380935],
- [137.614474, -8.411683],
- [138.039099, -7.597882],
- [138.668621, -7.320225],
- [138.407914, -6.232849],
- [137.92784, -5.393366],
- [135.98925, -4.546544],
- [135.164598, -4.462931],
- [133.66288, -3.538853],
- [133.367705, -4.024819],
- [132.983956, -4.112979],
- [132.756941, -3.746283],
- [132.753789, -3.311787],
- [131.989804, -2.820551],
- [133.066845, -2.460418],
- [133.780031, -2.479848],
- [133.696212, -2.214542],
- [132.232373, -2.212526],
- [131.836222, -1.617162],
- [130.94284, -1.432522],
- [130.519558, -0.93772],
- [131.867538, -0.695461],
- [132.380116, -0.369538],
- [133.985548, -0.78021],
- [134.143368, -1.151867]
- ]
- ],
- [
- [
- [125.240501, 1.419836],
- [124.437035, 0.427881],
- [123.685505, 0.235593],
- [122.723083, 0.431137],
- [121.056725, 0.381217],
- [120.183083, 0.237247],
- [120.04087, -0.519658],
- [120.935905, -1.408906],
- [121.475821, -0.955962],
- [123.340565, -0.615673],
- [123.258399, -1.076213],
- [122.822715, -0.930951],
- [122.38853, -1.516858],
- [121.508274, -1.904483],
- [122.454572, -3.186058],
- [122.271896, -3.5295],
- [123.170963, -4.683693],
- [123.162333, -5.340604],
- [122.628515, -5.634591],
- [122.236394, -5.282933],
- [122.719569, -4.464172],
- [121.738234, -4.851331],
- [121.489463, -4.574553],
- [121.619171, -4.188478],
- [120.898182, -3.602105],
- [120.972389, -2.627643],
- [120.305453, -2.931604],
- [120.390047, -4.097579],
- [120.430717, -5.528241],
- [119.796543, -5.6734],
- [119.366906, -5.379878],
- [119.653606, -4.459417],
- [119.498835, -3.494412],
- [119.078344, -3.487022],
- [118.767769, -2.801999],
- [119.180974, -2.147104],
- [119.323394, -1.353147],
- [119.825999, 0.154254],
- [120.035702, 0.566477],
- [120.885779, 1.309223],
- [121.666817, 1.013944],
- [122.927567, 0.875192],
- [124.077522, 0.917102],
- [125.065989, 1.643259],
- [125.240501, 1.419836]
- ]
- ],
- [
- [
- [128.688249, 1.132386],
- [128.635952, 0.258486],
- [128.12017, 0.356413],
- [127.968034, -0.252077],
- [128.379999, -0.780004],
- [128.100016, -0.899996],
- [127.696475, -0.266598],
- [127.39949, 1.011722],
- [127.600512, 1.810691],
- [127.932378, 2.174596],
- [128.004156, 1.628531],
- [128.594559, 1.540811],
- [128.688249, 1.132386]
- ]
- ],
- [
- [
- [117.875627, 1.827641],
- [118.996747, 0.902219],
- [117.811858, 0.784242],
- [117.478339, 0.102475],
- [117.521644, -0.803723],
- [116.560048, -1.487661],
- [116.533797, -2.483517],
- [116.148084, -4.012726],
- [116.000858, -3.657037],
- [114.864803, -4.106984],
- [114.468652, -3.495704],
- [113.755672, -3.43917],
- [113.256994, -3.118776],
- [112.068126, -3.478392],
- [111.703291, -2.994442],
- [111.04824, -3.049426],
- [110.223846, -2.934032],
- [110.070936, -1.592874],
- [109.571948, -1.314907],
- [109.091874, -0.459507],
- [108.952658, 0.415375],
- [109.069136, 1.341934],
- [109.66326, 2.006467],
- [109.830227, 1.338136],
- [110.514061, 0.773131],
- [111.159138, 0.976478],
- [111.797548, 0.904441],
- [112.380252, 1.410121],
- [112.859809, 1.49779],
- [113.80585, 1.217549],
- [114.621355, 1.430688],
- [115.134037, 2.821482],
- [115.519078, 3.169238],
- [115.865517, 4.306559],
- [117.015214, 4.306094],
- [117.882035, 4.137551],
- [117.313232, 3.234428],
- [118.04833, 2.28769],
- [117.875627, 1.827641]
- ]
- ],
- [
- [
- [105.817655, -5.852356],
- [104.710384, -5.873285],
- [103.868213, -5.037315],
- [102.584261, -4.220259],
- [102.156173, -3.614146],
- [101.399113, -2.799777],
- [100.902503, -2.050262],
- [100.141981, -0.650348],
- [99.26374, 0.183142],
- [98.970011, 1.042882],
- [98.601351, 1.823507],
- [97.699598, 2.453184],
- [97.176942, 3.308791],
- [96.424017, 3.86886],
- [95.380876, 4.970782],
- [95.293026, 5.479821],
- [95.936863, 5.439513],
- [97.484882, 5.246321],
- [98.369169, 4.26837],
- [99.142559, 3.59035],
- [99.693998, 3.174329],
- [100.641434, 2.099381],
- [101.658012, 2.083697],
- [102.498271, 1.3987],
- [103.07684, 0.561361],
- [103.838396, 0.104542],
- [103.437645, -0.711946],
- [104.010789, -1.059212],
- [104.369991, -1.084843],
- [104.53949, -1.782372],
- [104.887893, -2.340425],
- [105.622111, -2.428844],
- [106.108593, -3.061777],
- [105.857446, -4.305525],
- [105.817655, -5.852356]
- ]
- ]
- ]
- },
- "id": "IDN"
- },
- {
- "type": "Feature",
- "properties": { "name": "India" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [77.837451, 35.49401],
- [78.912269, 34.321936],
- [78.811086, 33.506198],
- [79.208892, 32.994395],
- [79.176129, 32.48378],
- [78.458446, 32.618164],
- [78.738894, 31.515906],
- [79.721367, 30.882715],
- [81.111256, 30.183481],
- [80.476721, 29.729865],
- [80.088425, 28.79447],
- [81.057203, 28.416095],
- [81.999987, 27.925479],
- [83.304249, 27.364506],
- [84.675018, 27.234901],
- [85.251779, 26.726198],
- [86.024393, 26.630985],
- [87.227472, 26.397898],
- [88.060238, 26.414615],
- [88.174804, 26.810405],
- [88.043133, 27.445819],
- [88.120441, 27.876542],
- [88.730326, 28.086865],
- [88.814248, 27.299316],
- [88.835643, 27.098966],
- [89.744528, 26.719403],
- [90.373275, 26.875724],
- [91.217513, 26.808648],
- [92.033484, 26.83831],
- [92.103712, 27.452614],
- [91.696657, 27.771742],
- [92.503119, 27.896876],
- [93.413348, 28.640629],
- [94.56599, 29.277438],
- [95.404802, 29.031717],
- [96.117679, 29.452802],
- [96.586591, 28.83098],
- [96.248833, 28.411031],
- [97.327114, 28.261583],
- [97.402561, 27.882536],
- [97.051989, 27.699059],
- [97.133999, 27.083774],
- [96.419366, 27.264589],
- [95.124768, 26.573572],
- [95.155153, 26.001307],
- [94.603249, 25.162495],
- [94.552658, 24.675238],
- [94.106742, 23.850741],
- [93.325188, 24.078556],
- [93.286327, 23.043658],
- [93.060294, 22.703111],
- [93.166128, 22.27846],
- [92.672721, 22.041239],
- [92.146035, 23.627499],
- [91.869928, 23.624346],
- [91.706475, 22.985264],
- [91.158963, 23.503527],
- [91.46773, 24.072639],
- [91.915093, 24.130414],
- [92.376202, 24.976693],
- [91.799596, 25.147432],
- [90.872211, 25.132601],
- [89.920693, 25.26975],
- [89.832481, 25.965082],
- [89.355094, 26.014407],
- [88.563049, 26.446526],
- [88.209789, 25.768066],
- [88.931554, 25.238692],
- [88.306373, 24.866079],
- [88.084422, 24.501657],
- [88.69994, 24.233715],
- [88.52977, 23.631142],
- [88.876312, 22.879146],
- [89.031961, 22.055708],
- [88.888766, 21.690588],
- [88.208497, 21.703172],
- [86.975704, 21.495562],
- [87.033169, 20.743308],
- [86.499351, 20.151638],
- [85.060266, 19.478579],
- [83.941006, 18.30201],
- [83.189217, 17.671221],
- [82.192792, 17.016636],
- [82.191242, 16.556664],
- [81.692719, 16.310219],
- [80.791999, 15.951972],
- [80.324896, 15.899185],
- [80.025069, 15.136415],
- [80.233274, 13.835771],
- [80.286294, 13.006261],
- [79.862547, 12.056215],
- [79.857999, 10.357275],
- [79.340512, 10.308854],
- [78.885345, 9.546136],
- [79.18972, 9.216544],
- [78.277941, 8.933047],
- [77.941165, 8.252959],
- [77.539898, 7.965535],
- [76.592979, 8.899276],
- [76.130061, 10.29963],
- [75.746467, 11.308251],
- [75.396101, 11.781245],
- [74.864816, 12.741936],
- [74.616717, 13.992583],
- [74.443859, 14.617222],
- [73.534199, 15.990652],
- [73.119909, 17.92857],
- [72.820909, 19.208234],
- [72.824475, 20.419503],
- [72.630533, 21.356009],
- [71.175273, 20.757441],
- [70.470459, 20.877331],
- [69.16413, 22.089298],
- [69.644928, 22.450775],
- [69.349597, 22.84318],
- [68.176645, 23.691965],
- [68.842599, 24.359134],
- [71.04324, 24.356524],
- [70.844699, 25.215102],
- [70.282873, 25.722229],
- [70.168927, 26.491872],
- [69.514393, 26.940966],
- [70.616496, 27.989196],
- [71.777666, 27.91318],
- [72.823752, 28.961592],
- [73.450638, 29.976413],
- [74.42138, 30.979815],
- [74.405929, 31.692639],
- [75.258642, 32.271105],
- [74.451559, 32.7649],
- [74.104294, 33.441473],
- [73.749948, 34.317699],
- [74.240203, 34.748887],
- [75.757061, 34.504923],
- [76.871722, 34.653544],
- [77.837451, 35.49401]
- ]
- ]
- },
- "id": "IND"
- },
- {
- "type": "Feature",
- "properties": { "name": "Ireland" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-6.197885, 53.867565],
- [-6.032985, 53.153164],
- [-6.788857, 52.260118],
- [-8.561617, 51.669301],
- [-9.977086, 51.820455],
- [-9.166283, 52.864629],
- [-9.688525, 53.881363],
- [-8.327987, 54.664519],
- [-7.572168, 55.131622],
- [-7.366031, 54.595841],
- [-7.572168, 54.059956],
- [-6.95373, 54.073702],
- [-6.197885, 53.867565]
- ]
- ]
- },
- "id": "IRL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Iran" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [53.921598, 37.198918],
- [54.800304, 37.392421],
- [55.511578, 37.964117],
- [56.180375, 37.935127],
- [56.619366, 38.121394],
- [57.330434, 38.029229],
- [58.436154, 37.522309],
- [59.234762, 37.412988],
- [60.377638, 36.527383],
- [61.123071, 36.491597],
- [61.210817, 35.650072],
- [60.803193, 34.404102],
- [60.52843, 33.676446],
- [60.9637, 33.528832],
- [60.536078, 32.981269],
- [60.863655, 32.18292],
- [60.941945, 31.548075],
- [61.699314, 31.379506],
- [61.781222, 30.73585],
- [60.874248, 29.829239],
- [61.369309, 29.303276],
- [61.771868, 28.699334],
- [62.72783, 28.259645],
- [62.755426, 27.378923],
- [63.233898, 27.217047],
- [63.316632, 26.756532],
- [61.874187, 26.239975],
- [61.497363, 25.078237],
- [59.616134, 25.380157],
- [58.525761, 25.609962],
- [57.397251, 25.739902],
- [56.970766, 26.966106],
- [56.492139, 27.143305],
- [55.72371, 26.964633],
- [54.71509, 26.480658],
- [53.493097, 26.812369],
- [52.483598, 27.580849],
- [51.520763, 27.86569],
- [50.852948, 28.814521],
- [50.115009, 30.147773],
- [49.57685, 29.985715],
- [48.941333, 30.31709],
- [48.567971, 29.926778],
- [48.014568, 30.452457],
- [48.004698, 30.985137],
- [47.685286, 30.984853],
- [47.849204, 31.709176],
- [47.334661, 32.469155],
- [46.109362, 33.017287],
- [45.416691, 33.967798],
- [45.64846, 34.748138],
- [46.151788, 35.093259],
- [46.07634, 35.677383],
- [45.420618, 35.977546],
- [44.77267, 37.17045],
- [44.225756, 37.971584],
- [44.421403, 38.281281],
- [44.109225, 39.428136],
- [44.79399, 39.713003],
- [44.952688, 39.335765],
- [45.457722, 38.874139],
- [46.143623, 38.741201],
- [46.50572, 38.770605],
- [47.685079, 39.508364],
- [48.060095, 39.582235],
- [48.355529, 39.288765],
- [48.010744, 38.794015],
- [48.634375, 38.270378],
- [48.883249, 38.320245],
- [49.199612, 37.582874],
- [50.147771, 37.374567],
- [50.842354, 36.872814],
- [52.264025, 36.700422],
- [53.82579, 36.965031],
- [53.921598, 37.198918]
- ]
- ]
- },
- "id": "IRN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Iraq" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [45.420618, 35.977546],
- [46.07634, 35.677383],
- [46.151788, 35.093259],
- [45.64846, 34.748138],
- [45.416691, 33.967798],
- [46.109362, 33.017287],
- [47.334661, 32.469155],
- [47.849204, 31.709176],
- [47.685286, 30.984853],
- [48.004698, 30.985137],
- [48.014568, 30.452457],
- [48.567971, 29.926778],
- [47.974519, 29.975819],
- [47.302622, 30.05907],
- [46.568713, 29.099025],
- [44.709499, 29.178891],
- [41.889981, 31.190009],
- [40.399994, 31.889992],
- [39.195468, 32.161009],
- [38.792341, 33.378686],
- [41.006159, 34.419372],
- [41.383965, 35.628317],
- [41.289707, 36.358815],
- [41.837064, 36.605854],
- [42.349591, 37.229873],
- [42.779126, 37.385264],
- [43.942259, 37.256228],
- [44.293452, 37.001514],
- [44.772699, 37.170445],
- [45.420618, 35.977546]
- ]
- ]
- },
- "id": "IRQ"
- },
- {
- "type": "Feature",
- "properties": { "name": "Iceland" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-14.508695, 66.455892],
- [-14.739637, 65.808748],
- [-13.609732, 65.126671],
- [-14.909834, 64.364082],
- [-17.794438, 63.678749],
- [-18.656246, 63.496383],
- [-19.972755, 63.643635],
- [-22.762972, 63.960179],
- [-21.778484, 64.402116],
- [-23.955044, 64.89113],
- [-22.184403, 65.084968],
- [-22.227423, 65.378594],
- [-24.326184, 65.611189],
- [-23.650515, 66.262519],
- [-22.134922, 66.410469],
- [-20.576284, 65.732112],
- [-19.056842, 66.276601],
- [-17.798624, 65.993853],
- [-16.167819, 66.526792],
- [-14.508695, 66.455892]
- ]
- ]
- },
- "id": "ISL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Israel" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [35.719918, 32.709192],
- [35.545665, 32.393992],
- [35.18393, 32.532511],
- [34.974641, 31.866582],
- [35.225892, 31.754341],
- [34.970507, 31.616778],
- [34.927408, 31.353435],
- [35.397561, 31.489086],
- [35.420918, 31.100066],
- [34.922603, 29.501326],
- [34.265433, 31.219361],
- [34.556372, 31.548824],
- [34.488107, 31.605539],
- [34.752587, 32.072926],
- [34.955417, 32.827376],
- [35.098457, 33.080539],
- [35.126053, 33.0909],
- [35.460709, 33.08904],
- [35.552797, 33.264275],
- [35.821101, 33.277426],
- [35.836397, 32.868123],
- [35.700798, 32.716014],
- [35.719918, 32.709192]
- ]
- ]
- },
- "id": "ISR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Italy" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [15.520376, 38.231155],
- [15.160243, 37.444046],
- [15.309898, 37.134219],
- [15.099988, 36.619987],
- [14.335229, 36.996631],
- [13.826733, 37.104531],
- [12.431004, 37.61295],
- [12.570944, 38.126381],
- [13.741156, 38.034966],
- [14.761249, 38.143874],
- [15.520376, 38.231155]
- ]
- ],
- [
- [
- [9.210012, 41.209991],
- [9.809975, 40.500009],
- [9.669519, 39.177376],
- [9.214818, 39.240473],
- [8.806936, 38.906618],
- [8.428302, 39.171847],
- [8.388253, 40.378311],
- [8.159998, 40.950007],
- [8.709991, 40.899984],
- [9.210012, 41.209991]
- ]
- ],
- [
- [
- [12.376485, 46.767559],
- [13.806475, 46.509306],
- [13.69811, 46.016778],
- [13.93763, 45.591016],
- [13.141606, 45.736692],
- [12.328581, 45.381778],
- [12.383875, 44.885374],
- [12.261453, 44.600482],
- [12.589237, 44.091366],
- [13.526906, 43.587727],
- [14.029821, 42.761008],
- [15.14257, 41.95514],
- [15.926191, 41.961315],
- [16.169897, 41.740295],
- [15.889346, 41.541082],
- [16.785002, 41.179606],
- [17.519169, 40.877143],
- [18.376687, 40.355625],
- [18.480247, 40.168866],
- [18.293385, 39.810774],
- [17.73838, 40.277671],
- [16.869596, 40.442235],
- [16.448743, 39.795401],
- [17.17149, 39.4247],
- [17.052841, 38.902871],
- [16.635088, 38.843572],
- [16.100961, 37.985899],
- [15.684087, 37.908849],
- [15.687963, 38.214593],
- [15.891981, 38.750942],
- [16.109332, 38.964547],
- [15.718814, 39.544072],
- [15.413613, 40.048357],
- [14.998496, 40.172949],
- [14.703268, 40.60455],
- [14.060672, 40.786348],
- [13.627985, 41.188287],
- [12.888082, 41.25309],
- [12.106683, 41.704535],
- [11.191906, 42.355425],
- [10.511948, 42.931463],
- [10.200029, 43.920007],
- [9.702488, 44.036279],
- [8.888946, 44.366336],
- [8.428561, 44.231228],
- [7.850767, 43.767148],
- [7.435185, 43.693845],
- [7.549596, 44.127901],
- [7.007562, 44.254767],
- [6.749955, 45.028518],
- [7.096652, 45.333099],
- [6.802355, 45.70858],
- [6.843593, 45.991147],
- [7.273851, 45.776948],
- [7.755992, 45.82449],
- [8.31663, 46.163642],
- [8.489952, 46.005151],
- [8.966306, 46.036932],
- [9.182882, 46.440215],
- [9.922837, 46.314899],
- [10.363378, 46.483571],
- [10.442701, 46.893546],
- [11.048556, 46.751359],
- [11.164828, 46.941579],
- [12.153088, 47.115393],
- [12.376485, 46.767559]
- ]
- ]
- ]
- },
- "id": "ITA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Jamaica" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-77.569601, 18.490525],
- [-76.896619, 18.400867],
- [-76.365359, 18.160701],
- [-76.199659, 17.886867],
- [-76.902561, 17.868238],
- [-77.206341, 17.701116],
- [-77.766023, 17.861597],
- [-78.337719, 18.225968],
- [-78.217727, 18.454533],
- [-77.797365, 18.524218],
- [-77.569601, 18.490525]
- ]
- ]
- },
- "id": "JAM"
- },
- {
- "type": "Feature",
- "properties": { "name": "Jordan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [35.545665, 32.393992],
- [35.719918, 32.709192],
- [36.834062, 32.312938],
- [38.792341, 33.378686],
- [39.195468, 32.161009],
- [39.004886, 32.010217],
- [37.002166, 31.508413],
- [37.998849, 30.5085],
- [37.66812, 30.338665],
- [37.503582, 30.003776],
- [36.740528, 29.865283],
- [36.501214, 29.505254],
- [36.068941, 29.197495],
- [34.956037, 29.356555],
- [34.922603, 29.501326],
- [35.420918, 31.100066],
- [35.397561, 31.489086],
- [35.545252, 31.782505],
- [35.545665, 32.393992]
- ]
- ]
- },
- "id": "JOR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Japan" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [134.638428, 34.149234],
- [134.766379, 33.806335],
- [134.203416, 33.201178],
- [133.79295, 33.521985],
- [133.280268, 33.28957],
- [133.014858, 32.704567],
- [132.363115, 32.989382],
- [132.371176, 33.463642],
- [132.924373, 34.060299],
- [133.492968, 33.944621],
- [133.904106, 34.364931],
- [134.638428, 34.149234]
- ]
- ],
- [
- [
- [140.976388, 37.142074],
- [140.59977, 36.343983],
- [140.774074, 35.842877],
- [140.253279, 35.138114],
- [138.975528, 34.6676],
- [137.217599, 34.606286],
- [135.792983, 33.464805],
- [135.120983, 33.849071],
- [135.079435, 34.596545],
- [133.340316, 34.375938],
- [132.156771, 33.904933],
- [130.986145, 33.885761],
- [132.000036, 33.149992],
- [131.33279, 31.450355],
- [130.686318, 31.029579],
- [130.20242, 31.418238],
- [130.447676, 32.319475],
- [129.814692, 32.61031],
- [129.408463, 33.296056],
- [130.353935, 33.604151],
- [130.878451, 34.232743],
- [131.884229, 34.749714],
- [132.617673, 35.433393],
- [134.608301, 35.731618],
- [135.677538, 35.527134],
- [136.723831, 37.304984],
- [137.390612, 36.827391],
- [138.857602, 37.827485],
- [139.426405, 38.215962],
- [140.05479, 39.438807],
- [139.883379, 40.563312],
- [140.305783, 41.195005],
- [141.368973, 41.37856],
- [141.914263, 39.991616],
- [141.884601, 39.180865],
- [140.959489, 38.174001],
- [140.976388, 37.142074]
- ]
- ],
- [
- [
- [143.910162, 44.1741],
- [144.613427, 43.960883],
- [145.320825, 44.384733],
- [145.543137, 43.262088],
- [144.059662, 42.988358],
- [143.18385, 41.995215],
- [141.611491, 42.678791],
- [141.067286, 41.584594],
- [139.955106, 41.569556],
- [139.817544, 42.563759],
- [140.312087, 43.333273],
- [141.380549, 43.388825],
- [141.671952, 44.772125],
- [141.967645, 45.551483],
- [143.14287, 44.510358],
- [143.910162, 44.1741]
- ]
- ]
- ]
- },
- "id": "JPN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Kazakhstan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [70.962315, 42.266154],
- [70.388965, 42.081308],
- [69.070027, 41.384244],
- [68.632483, 40.668681],
- [68.259896, 40.662325],
- [67.985856, 41.135991],
- [66.714047, 41.168444],
- [66.510649, 41.987644],
- [66.023392, 41.994646],
- [66.098012, 42.99766],
- [64.900824, 43.728081],
- [63.185787, 43.650075],
- [62.0133, 43.504477],
- [61.05832, 44.405817],
- [60.239972, 44.784037],
- [58.689989, 45.500014],
- [58.503127, 45.586804],
- [55.928917, 44.995858],
- [55.968191, 41.308642],
- [55.455251, 41.259859],
- [54.755345, 42.043971],
- [54.079418, 42.324109],
- [52.944293, 42.116034],
- [52.50246, 41.783316],
- [52.446339, 42.027151],
- [52.692112, 42.443895],
- [52.501426, 42.792298],
- [51.342427, 43.132975],
- [50.891292, 44.031034],
- [50.339129, 44.284016],
- [50.305643, 44.609836],
- [51.278503, 44.514854],
- [51.316899, 45.245998],
- [52.16739, 45.408391],
- [53.040876, 45.259047],
- [53.220866, 46.234646],
- [53.042737, 46.853006],
- [52.042023, 46.804637],
- [51.191945, 47.048705],
- [50.034083, 46.60899],
- [49.10116, 46.39933],
- [48.593241, 46.561034],
- [48.694734, 47.075628],
- [48.057253, 47.743753],
- [47.315231, 47.715847],
- [46.466446, 48.394152],
- [47.043672, 49.152039],
- [46.751596, 49.356006],
- [47.54948, 50.454698],
- [48.577841, 49.87476],
- [48.702382, 50.605128],
- [50.766648, 51.692762],
- [52.328724, 51.718652],
- [54.532878, 51.02624],
- [55.716941, 50.621717],
- [56.777961, 51.043551],
- [58.363291, 51.063653],
- [59.642282, 50.545442],
- [59.932807, 50.842194],
- [61.337424, 50.79907],
- [61.588003, 51.272659],
- [59.967534, 51.96042],
- [60.927269, 52.447548],
- [60.739993, 52.719986],
- [61.699986, 52.979996],
- [60.978066, 53.664993],
- [61.436591, 54.006265],
- [65.178534, 54.354228],
- [65.666876, 54.601267],
- [68.1691, 54.970392],
- [69.068167, 55.38525],
- [70.865267, 55.169734],
- [71.180131, 54.133285],
- [72.22415, 54.376655],
- [73.508516, 54.035617],
- [73.425679, 53.48981],
- [74.384845, 53.546861],
- [76.8911, 54.490524],
- [76.525179, 54.177003],
- [77.800916, 53.404415],
- [80.03556, 50.864751],
- [80.568447, 51.388336],
- [81.945986, 50.812196],
- [83.383004, 51.069183],
- [83.935115, 50.889246],
- [84.416377, 50.3114],
- [85.11556, 50.117303],
- [85.54127, 49.692859],
- [86.829357, 49.826675],
- [87.35997, 49.214981],
- [86.598776, 48.549182],
- [85.768233, 48.455751],
- [85.720484, 47.452969],
- [85.16429, 47.000956],
- [83.180484, 47.330031],
- [82.458926, 45.53965],
- [81.947071, 45.317027],
- [79.966106, 44.917517],
- [80.866206, 43.180362],
- [80.18015, 42.920068],
- [80.25999, 42.349999],
- [79.643645, 42.496683],
- [79.142177, 42.856092],
- [77.658392, 42.960686],
- [76.000354, 42.988022],
- [75.636965, 42.8779],
- [74.212866, 43.298339],
- [73.645304, 43.091272],
- [73.489758, 42.500894],
- [71.844638, 42.845395],
- [71.186281, 42.704293],
- [70.962315, 42.266154]
- ]
- ]
- },
- "id": "KAZ"
- },
- {
- "type": "Feature",
- "properties": { "name": "Kenya" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [40.993, -0.85829],
- [41.58513, -1.68325],
- [40.88477, -2.08255],
- [40.63785, -2.49979],
- [40.26304, -2.57309],
- [40.12119, -3.27768],
- [39.80006, -3.68116],
- [39.60489, -4.34653],
- [39.20222, -4.67677],
- [37.7669, -3.67712],
- [37.69869, -3.09699],
- [34.07262, -1.05982],
- [33.903711, -0.95],
- [33.893569, 0.109814],
- [34.18, 0.515],
- [34.6721, 1.17694],
- [35.03599, 1.90584],
- [34.59607, 3.05374],
- [34.47913, 3.5556],
- [34.005, 4.249885],
- [34.620196, 4.847123],
- [35.298007, 5.506],
- [35.817448, 5.338232],
- [35.817448, 4.776966],
- [36.159079, 4.447864],
- [36.855093, 4.447864],
- [38.120915, 3.598605],
- [38.43697, 3.58851],
- [38.67114, 3.61607],
- [38.89251, 3.50074],
- [39.559384, 3.42206],
- [39.85494, 3.83879],
- [40.76848, 4.25702],
- [41.1718, 3.91909],
- [41.855083, 3.918912],
- [40.98105, 2.78452],
- [40.993, -0.85829]
- ]
- ]
- },
- "id": "KEN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Kyrgyzstan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [70.962315, 42.266154],
- [71.186281, 42.704293],
- [71.844638, 42.845395],
- [73.489758, 42.500894],
- [73.645304, 43.091272],
- [74.212866, 43.298339],
- [75.636965, 42.8779],
- [76.000354, 42.988022],
- [77.658392, 42.960686],
- [79.142177, 42.856092],
- [79.643645, 42.496683],
- [80.25999, 42.349999],
- [80.11943, 42.123941],
- [78.543661, 41.582243],
- [78.187197, 41.185316],
- [76.904484, 41.066486],
- [76.526368, 40.427946],
- [75.467828, 40.562072],
- [74.776862, 40.366425],
- [73.822244, 39.893973],
- [73.960013, 39.660008],
- [73.675379, 39.431237],
- [71.784694, 39.279463],
- [70.549162, 39.604198],
- [69.464887, 39.526683],
- [69.55961, 40.103211],
- [70.648019, 39.935754],
- [71.014198, 40.244366],
- [71.774875, 40.145844],
- [73.055417, 40.866033],
- [71.870115, 41.3929],
- [71.157859, 41.143587],
- [70.420022, 41.519998],
- [71.259248, 42.167711],
- [70.962315, 42.266154]
- ]
- ]
- },
- "id": "KGZ"
- },
- {
- "type": "Feature",
- "properties": { "name": "Cambodia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [103.49728, 10.632555],
- [103.09069, 11.153661],
- [102.584932, 12.186595],
- [102.348099, 13.394247],
- [102.988422, 14.225721],
- [104.281418, 14.416743],
- [105.218777, 14.273212],
- [106.043946, 13.881091],
- [106.496373, 14.570584],
- [107.382727, 14.202441],
- [107.614548, 13.535531],
- [107.491403, 12.337206],
- [105.810524, 11.567615],
- [106.24967, 10.961812],
- [105.199915, 10.88931],
- [104.334335, 10.486544],
- [103.49728, 10.632555]
- ]
- ]
- },
- "id": "KHM"
- },
- {
- "type": "Feature",
- "properties": { "name": "South Korea" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [128.349716, 38.612243],
- [129.21292, 37.432392],
- [129.46045, 36.784189],
- [129.468304, 35.632141],
- [129.091377, 35.082484],
- [128.18585, 34.890377],
- [127.386519, 34.475674],
- [126.485748, 34.390046],
- [126.37392, 34.93456],
- [126.559231, 35.684541],
- [126.117398, 36.725485],
- [126.860143, 36.893924],
- [126.174759, 37.749686],
- [126.237339, 37.840378],
- [126.68372, 37.804773],
- [127.073309, 38.256115],
- [127.780035, 38.304536],
- [128.205746, 38.370397],
- [128.349716, 38.612243]
- ]
- ]
- },
- "id": "KOR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Kosovo" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [20.76216, 42.05186],
- [20.71731, 41.84711],
- [20.59023, 41.85541],
- [20.52295, 42.21787],
- [20.28374, 42.32025],
- [20.0707, 42.58863],
- [20.25758, 42.81275],
- [20.49679, 42.88469],
- [20.63508, 43.21671],
- [20.81448, 43.27205],
- [20.95651, 43.13094],
- [21.143395, 43.068685],
- [21.27421, 42.90959],
- [21.43866, 42.86255],
- [21.63302, 42.67717],
- [21.77505, 42.6827],
- [21.66292, 42.43922],
- [21.54332, 42.32025],
- [21.576636, 42.245224],
- [21.3527, 42.2068],
- [20.76216, 42.05186]
- ]
- ]
- },
- "id": "OSA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Kuwait" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [47.974519, 29.975819],
- [48.183189, 29.534477],
- [48.093943, 29.306299],
- [48.416094, 28.552004],
- [47.708851, 28.526063],
- [47.459822, 29.002519],
- [46.568713, 29.099025],
- [47.302622, 30.05907],
- [47.974519, 29.975819]
- ]
- ]
- },
- "id": "KWT"
- },
- {
- "type": "Feature",
- "properties": { "name": "Laos" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [105.218777, 14.273212],
- [105.544338, 14.723934],
- [105.589039, 15.570316],
- [104.779321, 16.441865],
- [104.716947, 17.428859],
- [103.956477, 18.240954],
- [103.200192, 18.309632],
- [102.998706, 17.961695],
- [102.413005, 17.932782],
- [102.113592, 18.109102],
- [101.059548, 17.512497],
- [101.035931, 18.408928],
- [101.282015, 19.462585],
- [100.606294, 19.508344],
- [100.548881, 20.109238],
- [100.115988, 20.41785],
- [100.329101, 20.786122],
- [101.180005, 21.436573],
- [101.270026, 21.201652],
- [101.80312, 21.174367],
- [101.652018, 22.318199],
- [102.170436, 22.464753],
- [102.754896, 21.675137],
- [103.203861, 20.766562],
- [104.435, 20.758733],
- [104.822574, 19.886642],
- [104.183388, 19.624668],
- [103.896532, 19.265181],
- [105.094598, 18.666975],
- [105.925762, 17.485315],
- [106.556008, 16.604284],
- [107.312706, 15.908538],
- [107.564525, 15.202173],
- [107.382727, 14.202441],
- [106.496373, 14.570584],
- [106.043946, 13.881091],
- [105.218777, 14.273212]
- ]
- ]
- },
- "id": "LAO"
- },
- {
- "type": "Feature",
- "properties": { "name": "Lebanon" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [35.821101, 33.277426],
- [35.552797, 33.264275],
- [35.460709, 33.08904],
- [35.126053, 33.0909],
- [35.482207, 33.90545],
- [35.979592, 34.610058],
- [35.998403, 34.644914],
- [36.448194, 34.593935],
- [36.61175, 34.201789],
- [36.06646, 33.824912],
- [35.821101, 33.277426]
- ]
- ]
- },
- "id": "LBN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Liberia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-7.712159, 4.364566],
- [-7.974107, 4.355755],
- [-9.004794, 4.832419],
- [-9.91342, 5.593561],
- [-10.765384, 6.140711],
- [-11.438779, 6.785917],
- [-11.199802, 7.105846],
- [-11.146704, 7.396706],
- [-10.695595, 7.939464],
- [-10.230094, 8.406206],
- [-10.016567, 8.428504],
- [-9.755342, 8.541055],
- [-9.33728, 7.928534],
- [-9.403348, 7.526905],
- [-9.208786, 7.313921],
- [-8.926065, 7.309037],
- [-8.722124, 7.711674],
- [-8.439298, 7.686043],
- [-8.485446, 7.395208],
- [-8.385452, 6.911801],
- [-8.60288, 6.467564],
- [-8.311348, 6.193033],
- [-7.993693, 6.12619],
- [-7.570153, 5.707352],
- [-7.539715, 5.313345],
- [-7.635368, 5.188159],
- [-7.712159, 4.364566]
- ]
- ]
- },
- "id": "LBR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Libya" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [14.8513, 22.86295],
- [14.143871, 22.491289],
- [13.581425, 23.040506],
- [11.999506, 23.471668],
- [11.560669, 24.097909],
- [10.771364, 24.562532],
- [10.303847, 24.379313],
- [9.948261, 24.936954],
- [9.910693, 25.365455],
- [9.319411, 26.094325],
- [9.716286, 26.512206],
- [9.629056, 27.140953],
- [9.756128, 27.688259],
- [9.683885, 28.144174],
- [9.859998, 28.95999],
- [9.805634, 29.424638],
- [9.48214, 30.307556],
- [9.970017, 30.539325],
- [10.056575, 30.961831],
- [9.950225, 31.37607],
- [10.636901, 31.761421],
- [10.94479, 32.081815],
- [11.432253, 32.368903],
- [11.488787, 33.136996],
- [12.66331, 32.79278],
- [13.08326, 32.87882],
- [13.91868, 32.71196],
- [15.24563, 32.26508],
- [15.71394, 31.37626],
- [16.61162, 31.18218],
- [18.02109, 30.76357],
- [19.08641, 30.26639],
- [19.57404, 30.52582],
- [20.05335, 30.98576],
- [19.82033, 31.75179],
- [20.13397, 32.2382],
- [20.85452, 32.7068],
- [21.54298, 32.8432],
- [22.89576, 32.63858],
- [23.2368, 32.19149],
- [23.60913, 32.18726],
- [23.9275, 32.01667],
- [24.92114, 31.89936],
- [25.16482, 31.56915],
- [24.80287, 31.08929],
- [24.95762, 30.6616],
- [24.70007, 30.04419],
- [25, 29.238655],
- [25, 25.6825],
- [25, 22],
- [25, 20.00304],
- [23.85, 20],
- [23.83766, 19.58047],
- [19.84926, 21.49509],
- [15.86085, 23.40972],
- [14.8513, 22.86295]
- ]
- ]
- },
- "id": "LBY"
- },
- {
- "type": "Feature",
- "properties": { "name": "Sri Lanka" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [81.787959, 7.523055],
- [81.637322, 6.481775],
- [81.21802, 6.197141],
- [80.348357, 5.96837],
- [79.872469, 6.763463],
- [79.695167, 8.200843],
- [80.147801, 9.824078],
- [80.838818, 9.268427],
- [81.304319, 8.564206],
- [81.787959, 7.523055]
- ]
- ]
- },
- "id": "LKA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Lesotho" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [28.978263, -28.955597],
- [29.325166, -29.257387],
- [29.018415, -29.743766],
- [28.8484, -30.070051],
- [28.291069, -30.226217],
- [28.107205, -30.545732],
- [27.749397, -30.645106],
- [26.999262, -29.875954],
- [27.532511, -29.242711],
- [28.074338, -28.851469],
- [28.5417, -28.647502],
- [28.978263, -28.955597]
- ]
- ]
- },
- "id": "LSO"
- },
- {
- "type": "Feature",
- "properties": { "name": "Lithuania" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [22.731099, 54.327537],
- [22.651052, 54.582741],
- [22.757764, 54.856574],
- [22.315724, 55.015299],
- [21.268449, 55.190482],
- [21.0558, 56.031076],
- [22.201157, 56.337802],
- [23.878264, 56.273671],
- [24.860684, 56.372528],
- [25.000934, 56.164531],
- [25.533047, 56.100297],
- [26.494331, 55.615107],
- [26.588279, 55.167176],
- [25.768433, 54.846963],
- [25.536354, 54.282423],
- [24.450684, 53.905702],
- [23.484128, 53.912498],
- [23.243987, 54.220567],
- [22.731099, 54.327537]
- ]
- ]
- },
- "id": "LTU"
- },
- {
- "type": "Feature",
- "properties": { "name": "Luxembourg" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [6.043073, 50.128052],
- [6.242751, 49.902226],
- [6.18632, 49.463803],
- [5.897759, 49.442667],
- [5.674052, 49.529484],
- [5.782417, 50.090328],
- [6.043073, 50.128052]
- ]
- ]
- },
- "id": "LUX"
- },
- {
- "type": "Feature",
- "properties": { "name": "Latvia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [21.0558, 56.031076],
- [21.090424, 56.783873],
- [21.581866, 57.411871],
- [22.524341, 57.753374],
- [23.318453, 57.006236],
- [24.12073, 57.025693],
- [24.312863, 57.793424],
- [25.164594, 57.970157],
- [25.60281, 57.847529],
- [26.463532, 57.476389],
- [27.288185, 57.474528],
- [27.770016, 57.244258],
- [27.855282, 56.759326],
- [28.176709, 56.16913],
- [27.10246, 55.783314],
- [26.494331, 55.615107],
- [25.533047, 56.100297],
- [25.000934, 56.164531],
- [24.860684, 56.372528],
- [23.878264, 56.273671],
- [22.201157, 56.337802],
- [21.0558, 56.031076]
- ]
- ]
- },
- "id": "LVA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Morocco" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-5.193863, 35.755182],
- [-4.591006, 35.330712],
- [-3.640057, 35.399855],
- [-2.604306, 35.179093],
- [-2.169914, 35.168396],
- [-1.792986, 34.527919],
- [-1.733455, 33.919713],
- [-1.388049, 32.864015],
- [-1.124551, 32.651522],
- [-1.307899, 32.262889],
- [-2.616605, 32.094346],
- [-3.06898, 31.724498],
- [-3.647498, 31.637294],
- [-3.690441, 30.896952],
- [-4.859646, 30.501188],
- [-5.242129, 30.000443],
- [-6.060632, 29.7317],
- [-7.059228, 29.579228],
- [-8.674116, 28.841289],
- [-8.66559, 27.656426],
- [-8.817809, 27.656426],
- [-8.817828, 27.656426],
- [-8.794884, 27.120696],
- [-9.413037, 27.088476],
- [-9.735343, 26.860945],
- [-10.189424, 26.860945],
- [-10.551263, 26.990808],
- [-11.392555, 26.883424],
- [-11.71822, 26.104092],
- [-12.030759, 26.030866],
- [-12.500963, 24.770116],
- [-13.89111, 23.691009],
- [-14.221168, 22.310163],
- [-14.630833, 21.86094],
- [-14.750955, 21.5006],
- [-17.002962, 21.420734],
- [-17.020428, 21.42231],
- [-16.973248, 21.885745],
- [-16.589137, 22.158234],
- [-16.261922, 22.67934],
- [-16.326414, 23.017768],
- [-15.982611, 23.723358],
- [-15.426004, 24.359134],
- [-15.089332, 24.520261],
- [-14.824645, 25.103533],
- [-14.800926, 25.636265],
- [-14.43994, 26.254418],
- [-13.773805, 26.618892],
- [-13.139942, 27.640148],
- [-13.121613, 27.654148],
- [-12.618837, 28.038186],
- [-11.688919, 28.148644],
- [-10.900957, 28.832142],
- [-10.399592, 29.098586],
- [-9.564811, 29.933574],
- [-9.814718, 31.177736],
- [-9.434793, 32.038096],
- [-9.300693, 32.564679],
- [-8.657476, 33.240245],
- [-7.654178, 33.697065],
- [-6.912544, 34.110476],
- [-6.244342, 35.145865],
- [-5.929994, 35.759988],
- [-5.193863, 35.755182]
- ]
- ]
- },
- "id": "MAR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Moldova" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [26.619337, 48.220726],
- [26.857824, 48.368211],
- [27.522537, 48.467119],
- [28.259547, 48.155562],
- [28.670891, 48.118149],
- [29.122698, 47.849095],
- [29.050868, 47.510227],
- [29.415135, 47.346645],
- [29.559674, 46.928583],
- [29.908852, 46.674361],
- [29.83821, 46.525326],
- [30.024659, 46.423937],
- [29.759972, 46.349988],
- [29.170654, 46.379262],
- [29.072107, 46.517678],
- [28.862972, 46.437889],
- [28.933717, 46.25883],
- [28.659987, 45.939987],
- [28.485269, 45.596907],
- [28.233554, 45.488283],
- [28.054443, 45.944586],
- [28.160018, 46.371563],
- [28.12803, 46.810476],
- [27.551166, 47.405117],
- [27.233873, 47.826771],
- [26.924176, 48.123264],
- [26.619337, 48.220726]
- ]
- ]
- },
- "id": "MDA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Madagascar" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [49.543519, -12.469833],
- [49.808981, -12.895285],
- [50.056511, -13.555761],
- [50.217431, -14.758789],
- [50.476537, -15.226512],
- [50.377111, -15.706069],
- [50.200275, -16.000263],
- [49.860606, -15.414253],
- [49.672607, -15.710204],
- [49.863344, -16.451037],
- [49.774564, -16.875042],
- [49.498612, -17.106036],
- [49.435619, -17.953064],
- [49.041792, -19.118781],
- [48.548541, -20.496888],
- [47.930749, -22.391501],
- [47.547723, -23.781959],
- [47.095761, -24.94163],
- [46.282478, -25.178463],
- [45.409508, -25.601434],
- [44.833574, -25.346101],
- [44.03972, -24.988345],
- [43.763768, -24.460677],
- [43.697778, -23.574116],
- [43.345654, -22.776904],
- [43.254187, -22.057413],
- [43.433298, -21.336475],
- [43.893683, -21.163307],
- [43.89637, -20.830459],
- [44.374325, -20.072366],
- [44.464397, -19.435454],
- [44.232422, -18.961995],
- [44.042976, -18.331387],
- [43.963084, -17.409945],
- [44.312469, -16.850496],
- [44.446517, -16.216219],
- [44.944937, -16.179374],
- [45.502732, -15.974373],
- [45.872994, -15.793454],
- [46.312243, -15.780018],
- [46.882183, -15.210182],
- [47.70513, -14.594303],
- [48.005215, -14.091233],
- [47.869047, -13.663869],
- [48.293828, -13.784068],
- [48.84506, -13.089175],
- [48.863509, -12.487868],
- [49.194651, -12.040557],
- [49.543519, -12.469833]
- ]
- ]
- },
- "id": "MDG"
- },
- {
- "type": "Feature",
- "properties": { "name": "Mexico" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-97.140008, 25.869997],
- [-97.528072, 24.992144],
- [-97.702946, 24.272343],
- [-97.776042, 22.93258],
- [-97.872367, 22.444212],
- [-97.699044, 21.898689],
- [-97.38896, 21.411019],
- [-97.189333, 20.635433],
- [-96.525576, 19.890931],
- [-96.292127, 19.320371],
- [-95.900885, 18.828024],
- [-94.839063, 18.562717],
- [-94.42573, 18.144371],
- [-93.548651, 18.423837],
- [-92.786114, 18.524839],
- [-92.037348, 18.704569],
- [-91.407903, 18.876083],
- [-90.77187, 19.28412],
- [-90.53359, 19.867418],
- [-90.451476, 20.707522],
- [-90.278618, 20.999855],
- [-89.601321, 21.261726],
- [-88.543866, 21.493675],
- [-87.658417, 21.458846],
- [-87.05189, 21.543543],
- [-86.811982, 21.331515],
- [-86.845908, 20.849865],
- [-87.383291, 20.255405],
- [-87.621054, 19.646553],
- [-87.43675, 19.472403],
- [-87.58656, 19.04013],
- [-87.837191, 18.259816],
- [-88.090664, 18.516648],
- [-88.300031, 18.499982],
- [-88.490123, 18.486831],
- [-88.848344, 17.883198],
- [-89.029857, 18.001511],
- [-89.150909, 17.955468],
- [-89.14308, 17.808319],
- [-90.067934, 17.819326],
- [-91.00152, 17.817595],
- [-91.002269, 17.254658],
- [-91.453921, 17.252177],
- [-91.08167, 16.918477],
- [-90.711822, 16.687483],
- [-90.600847, 16.470778],
- [-90.438867, 16.41011],
- [-90.464473, 16.069562],
- [-91.74796, 16.066565],
- [-92.229249, 15.251447],
- [-92.087216, 15.064585],
- [-92.20323, 14.830103],
- [-92.22775, 14.538829],
- [-93.359464, 15.61543],
- [-93.875169, 15.940164],
- [-94.691656, 16.200975],
- [-95.250227, 16.128318],
- [-96.053382, 15.752088],
- [-96.557434, 15.653515],
- [-97.263592, 15.917065],
- [-98.01303, 16.107312],
- [-98.947676, 16.566043],
- [-99.697397, 16.706164],
- [-100.829499, 17.171071],
- [-101.666089, 17.649026],
- [-101.918528, 17.91609],
- [-102.478132, 17.975751],
- [-103.50099, 18.292295],
- [-103.917527, 18.748572],
- [-104.99201, 19.316134],
- [-105.493038, 19.946767],
- [-105.731396, 20.434102],
- [-105.397773, 20.531719],
- [-105.500661, 20.816895],
- [-105.270752, 21.076285],
- [-105.265817, 21.422104],
- [-105.603161, 21.871146],
- [-105.693414, 22.26908],
- [-106.028716, 22.773752],
- [-106.90998, 23.767774],
- [-107.915449, 24.548915],
- [-108.401905, 25.172314],
- [-109.260199, 25.580609],
- [-109.444089, 25.824884],
- [-109.291644, 26.442934],
- [-109.801458, 26.676176],
- [-110.391732, 27.162115],
- [-110.641019, 27.859876],
- [-111.178919, 27.941241],
- [-111.759607, 28.467953],
- [-112.228235, 28.954409],
- [-112.271824, 29.266844],
- [-112.809594, 30.021114],
- [-113.163811, 30.786881],
- [-113.148669, 31.170966],
- [-113.871881, 31.567608],
- [-114.205737, 31.524045],
- [-114.776451, 31.799532],
- [-114.9367, 31.393485],
- [-114.771232, 30.913617],
- [-114.673899, 30.162681],
- [-114.330974, 29.750432],
- [-113.588875, 29.061611],
- [-113.424053, 28.826174],
- [-113.271969, 28.754783],
- [-113.140039, 28.411289],
- [-112.962298, 28.42519],
- [-112.761587, 27.780217],
- [-112.457911, 27.525814],
- [-112.244952, 27.171727],
- [-111.616489, 26.662817],
- [-111.284675, 25.73259],
- [-110.987819, 25.294606],
- [-110.710007, 24.826004],
- [-110.655049, 24.298595],
- [-110.172856, 24.265548],
- [-109.771847, 23.811183],
- [-109.409104, 23.364672],
- [-109.433392, 23.185588],
- [-109.854219, 22.818272],
- [-110.031392, 22.823078],
- [-110.295071, 23.430973],
- [-110.949501, 24.000964],
- [-111.670568, 24.484423],
- [-112.182036, 24.738413],
- [-112.148989, 25.470125],
- [-112.300711, 26.012004],
- [-112.777297, 26.32196],
- [-113.464671, 26.768186],
- [-113.59673, 26.63946],
- [-113.848937, 26.900064],
- [-114.465747, 27.14209],
- [-115.055142, 27.722727],
- [-114.982253, 27.7982],
- [-114.570366, 27.741485],
- [-114.199329, 28.115003],
- [-114.162018, 28.566112],
- [-114.931842, 29.279479],
- [-115.518654, 29.556362],
- [-115.887365, 30.180794],
- [-116.25835, 30.836464],
- [-116.721526, 31.635744],
- [-117.12776, 32.53534],
- [-115.99135, 32.61239],
- [-114.72139, 32.72083],
- [-114.815, 32.52528],
- [-113.30498, 32.03914],
- [-111.02361, 31.33472],
- [-109.035, 31.34194],
- [-108.24194, 31.34222],
- [-108.24, 31.754854],
- [-106.50759, 31.75452],
- [-106.1429, 31.39995],
- [-105.63159, 31.08383],
- [-105.03737, 30.64402],
- [-104.70575, 30.12173],
- [-104.45697, 29.57196],
- [-103.94, 29.27],
- [-103.11, 28.97],
- [-102.48, 29.76],
- [-101.6624, 29.7793],
- [-100.9576, 29.38071],
- [-100.45584, 28.69612],
- [-100.11, 28.11],
- [-99.52, 27.54],
- [-99.3, 26.84],
- [-99.02, 26.37],
- [-98.24, 26.06],
- [-97.53, 25.84],
- [-97.140008, 25.869997]
- ]
- ]
- },
- "id": "MEX"
- },
- {
- "type": "Feature",
- "properties": { "name": "Macedonia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [20.59023, 41.85541],
- [20.71731, 41.84711],
- [20.76216, 42.05186],
- [21.3527, 42.2068],
- [21.576636, 42.245224],
- [21.91708, 42.30364],
- [22.380526, 42.32026],
- [22.881374, 41.999297],
- [22.952377, 41.337994],
- [22.76177, 41.3048],
- [22.597308, 41.130487],
- [22.055378, 41.149866],
- [21.674161, 40.931275],
- [21.02004, 40.842727],
- [20.60518, 41.08622],
- [20.46315, 41.51509],
- [20.59023, 41.85541]
- ]
- ]
- },
- "id": "MKD"
- },
- {
- "type": "Feature",
- "properties": { "name": "Mali" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-12.17075, 14.616834],
- [-11.834208, 14.799097],
- [-11.666078, 15.388208],
- [-11.349095, 15.411256],
- [-10.650791, 15.132746],
- [-10.086846, 15.330486],
- [-9.700255, 15.264107],
- [-9.550238, 15.486497],
- [-5.537744, 15.50169],
- [-5.315277, 16.201854],
- [-5.488523, 16.325102],
- [-5.971129, 20.640833],
- [-6.453787, 24.956591],
- [-4.923337, 24.974574],
- [-1.550055, 22.792666],
- [1.823228, 20.610809],
- [2.060991, 20.142233],
- [2.683588, 19.85623],
- [3.146661, 19.693579],
- [3.158133, 19.057364],
- [4.267419, 19.155265],
- [4.27021, 16.852227],
- [3.723422, 16.184284],
- [3.638259, 15.56812],
- [2.749993, 15.409525],
- [1.385528, 15.323561],
- [1.015783, 14.968182],
- [0.374892, 14.928908],
- [-0.266257, 14.924309],
- [-0.515854, 15.116158],
- [-1.066363, 14.973815],
- [-2.001035, 14.559008],
- [-2.191825, 14.246418],
- [-2.967694, 13.79815],
- [-3.103707, 13.541267],
- [-3.522803, 13.337662],
- [-4.006391, 13.472485],
- [-4.280405, 13.228444],
- [-4.427166, 12.542646],
- [-5.220942, 11.713859],
- [-5.197843, 11.375146],
- [-5.470565, 10.95127],
- [-5.404342, 10.370737],
- [-5.816926, 10.222555],
- [-6.050452, 10.096361],
- [-6.205223, 10.524061],
- [-6.493965, 10.411303],
- [-6.666461, 10.430811],
- [-6.850507, 10.138994],
- [-7.622759, 10.147236],
- [-7.89959, 10.297382],
- [-8.029944, 10.206535],
- [-8.335377, 10.494812],
- [-8.282357, 10.792597],
- [-8.407311, 10.909257],
- [-8.620321, 10.810891],
- [-8.581305, 11.136246],
- [-8.376305, 11.393646],
- [-8.786099, 11.812561],
- [-8.905265, 12.088358],
- [-9.127474, 12.30806],
- [-9.327616, 12.334286],
- [-9.567912, 12.194243],
- [-9.890993, 12.060479],
- [-10.165214, 11.844084],
- [-10.593224, 11.923975],
- [-10.87083, 12.177887],
- [-11.036556, 12.211245],
- [-11.297574, 12.077971],
- [-11.456169, 12.076834],
- [-11.513943, 12.442988],
- [-11.467899, 12.754519],
- [-11.553398, 13.141214],
- [-11.927716, 13.422075],
- [-12.124887, 13.994727],
- [-12.17075, 14.616834]
- ]
- ]
- },
- "id": "MLI"
- },
- {
- "type": "Feature",
- "properties": { "name": "Myanmar" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [99.543309, 20.186598],
- [98.959676, 19.752981],
- [98.253724, 19.708203],
- [97.797783, 18.62708],
- [97.375896, 18.445438],
- [97.859123, 17.567946],
- [98.493761, 16.837836],
- [98.903348, 16.177824],
- [98.537376, 15.308497],
- [98.192074, 15.123703],
- [98.430819, 14.622028],
- [99.097755, 13.827503],
- [99.212012, 13.269294],
- [99.196354, 12.804748],
- [99.587286, 11.892763],
- [99.038121, 10.960546],
- [98.553551, 9.93296],
- [98.457174, 10.675266],
- [98.764546, 11.441292],
- [98.428339, 12.032987],
- [98.509574, 13.122378],
- [98.103604, 13.64046],
- [97.777732, 14.837286],
- [97.597072, 16.100568],
- [97.16454, 16.928734],
- [96.505769, 16.427241],
- [95.369352, 15.71439],
- [94.808405, 15.803454],
- [94.188804, 16.037936],
- [94.533486, 17.27724],
- [94.324817, 18.213514],
- [93.540988, 19.366493],
- [93.663255, 19.726962],
- [93.078278, 19.855145],
- [92.368554, 20.670883],
- [92.303234, 21.475485],
- [92.652257, 21.324048],
- [92.672721, 22.041239],
- [93.166128, 22.27846],
- [93.060294, 22.703111],
- [93.286327, 23.043658],
- [93.325188, 24.078556],
- [94.106742, 23.850741],
- [94.552658, 24.675238],
- [94.603249, 25.162495],
- [95.155153, 26.001307],
- [95.124768, 26.573572],
- [96.419366, 27.264589],
- [97.133999, 27.083774],
- [97.051989, 27.699059],
- [97.402561, 27.882536],
- [97.327114, 28.261583],
- [97.911988, 28.335945],
- [98.246231, 27.747221],
- [98.68269, 27.508812],
- [98.712094, 26.743536],
- [98.671838, 25.918703],
- [97.724609, 25.083637],
- [97.60472, 23.897405],
- [98.660262, 24.063286],
- [98.898749, 23.142722],
- [99.531992, 22.949039],
- [99.240899, 22.118314],
- [99.983489, 21.742937],
- [100.416538, 21.558839],
- [101.150033, 21.849984],
- [101.180005, 21.436573],
- [100.329101, 20.786122],
- [100.115988, 20.41785],
- [99.543309, 20.186598]
- ]
- ]
- },
- "id": "MMR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Montenegro" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [19.801613, 42.500093],
- [19.738051, 42.688247],
- [19.30449, 42.19574],
- [19.37177, 41.87755],
- [19.16246, 41.95502],
- [18.88214, 42.28151],
- [18.45, 42.48],
- [18.56, 42.65],
- [18.70648, 43.20011],
- [19.03165, 43.43253],
- [19.21852, 43.52384],
- [19.48389, 43.35229],
- [19.63, 43.21378],
- [19.95857, 43.10604],
- [20.3398, 42.89852],
- [20.25758, 42.81275],
- [20.0707, 42.58863],
- [19.801613, 42.500093]
- ]
- ]
- },
- "id": "MNE"
- },
- {
- "type": "Feature",
- "properties": { "name": "Mongolia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [87.751264, 49.297198],
- [88.805567, 49.470521],
- [90.713667, 50.331812],
- [92.234712, 50.802171],
- [93.104219, 50.49529],
- [94.147566, 50.480537],
- [94.815949, 50.013433],
- [95.814028, 49.977467],
- [97.259728, 49.726061],
- [98.231762, 50.422401],
- [97.82574, 51.010995],
- [98.861491, 52.047366],
- [99.981732, 51.634006],
- [100.88948, 51.516856],
- [102.065223, 51.259921],
- [102.255909, 50.510561],
- [103.676545, 50.089966],
- [104.621552, 50.275329],
- [105.886591, 50.406019],
- [106.888804, 50.274296],
- [107.868176, 49.793705],
- [108.475167, 49.282548],
- [109.402449, 49.292961],
- [110.662011, 49.130128],
- [111.581231, 49.377968],
- [112.89774, 49.543565],
- [114.362456, 50.248303],
- [114.96211, 50.140247],
- [115.485695, 49.805177],
- [116.678801, 49.888531],
- [116.191802, 49.134598],
- [115.485282, 48.135383],
- [115.742837, 47.726545],
- [116.308953, 47.85341],
- [117.295507, 47.697709],
- [118.064143, 48.06673],
- [118.866574, 47.74706],
- [119.772824, 47.048059],
- [119.66327, 46.69268],
- [118.874326, 46.805412],
- [117.421701, 46.672733],
- [116.717868, 46.388202],
- [115.985096, 45.727235],
- [114.460332, 45.339817],
- [113.463907, 44.808893],
- [112.436062, 45.011646],
- [111.873306, 45.102079],
- [111.348377, 44.457442],
- [111.667737, 44.073176],
- [111.829588, 43.743118],
- [111.129682, 43.406834],
- [110.412103, 42.871234],
- [109.243596, 42.519446],
- [107.744773, 42.481516],
- [106.129316, 42.134328],
- [104.964994, 41.59741],
- [104.522282, 41.908347],
- [103.312278, 41.907468],
- [101.83304, 42.514873],
- [100.845866, 42.663804],
- [99.515817, 42.524691],
- [97.451757, 42.74889],
- [96.349396, 42.725635],
- [95.762455, 43.319449],
- [95.306875, 44.241331],
- [94.688929, 44.352332],
- [93.480734, 44.975472],
- [92.133891, 45.115076],
- [90.94554, 45.286073],
- [90.585768, 45.719716],
- [90.970809, 46.888146],
- [90.280826, 47.693549],
- [88.854298, 48.069082],
- [88.013832, 48.599463],
- [87.751264, 49.297198]
- ]
- ]
- },
- "id": "MNG"
- },
- {
- "type": "Feature",
- "properties": { "name": "Mozambique" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [34.559989, -11.52002],
- [35.312398, -11.439146],
- [36.514082, -11.720938],
- [36.775151, -11.594537],
- [37.471284, -11.568751],
- [37.827645, -11.268769],
- [38.427557, -11.285202],
- [39.52103, -10.896854],
- [40.316589, -10.317096],
- [40.478387, -10.765441],
- [40.437253, -11.761711],
- [40.560811, -12.639177],
- [40.59962, -14.201975],
- [40.775475, -14.691764],
- [40.477251, -15.406294],
- [40.089264, -16.100774],
- [39.452559, -16.720891],
- [38.538351, -17.101023],
- [37.411133, -17.586368],
- [36.281279, -18.659688],
- [35.896497, -18.84226],
- [35.1984, -19.552811],
- [34.786383, -19.784012],
- [34.701893, -20.497043],
- [35.176127, -21.254361],
- [35.373428, -21.840837],
- [35.385848, -22.14],
- [35.562546, -22.09],
- [35.533935, -23.070788],
- [35.371774, -23.535359],
- [35.60747, -23.706563],
- [35.458746, -24.12261],
- [35.040735, -24.478351],
- [34.215824, -24.816314],
- [33.01321, -25.357573],
- [32.574632, -25.727318],
- [32.660363, -26.148584],
- [32.915955, -26.215867],
- [32.83012, -26.742192],
- [32.071665, -26.73382],
- [31.985779, -26.29178],
- [31.837778, -25.843332],
- [31.752408, -25.484284],
- [31.930589, -24.369417],
- [31.670398, -23.658969],
- [31.191409, -22.25151],
- [32.244988, -21.116489],
- [32.508693, -20.395292],
- [32.659743, -20.30429],
- [32.772708, -19.715592],
- [32.611994, -19.419383],
- [32.654886, -18.67209],
- [32.849861, -17.979057],
- [32.847639, -16.713398],
- [32.328239, -16.392074],
- [31.852041, -16.319417],
- [31.636498, -16.07199],
- [31.173064, -15.860944],
- [30.338955, -15.880839],
- [30.274256, -15.507787],
- [30.179481, -14.796099],
- [33.214025, -13.97186],
- [33.7897, -14.451831],
- [34.064825, -14.35995],
- [34.459633, -14.61301],
- [34.517666, -15.013709],
- [34.307291, -15.478641],
- [34.381292, -16.18356],
- [35.03381, -16.8013],
- [35.339063, -16.10744],
- [35.771905, -15.896859],
- [35.686845, -14.611046],
- [35.267956, -13.887834],
- [34.907151, -13.565425],
- [34.559989, -13.579998],
- [34.280006, -12.280025],
- [34.559989, -11.52002]
- ]
- ]
- },
- "id": "MOZ"
- },
- {
- "type": "Feature",
- "properties": { "name": "Mauritania" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-12.17075, 14.616834],
- [-12.830658, 15.303692],
- [-13.435738, 16.039383],
- [-14.099521, 16.304302],
- [-14.577348, 16.598264],
- [-15.135737, 16.587282],
- [-15.623666, 16.369337],
- [-16.12069, 16.455663],
- [-16.463098, 16.135036],
- [-16.549708, 16.673892],
- [-16.270552, 17.166963],
- [-16.146347, 18.108482],
- [-16.256883, 19.096716],
- [-16.377651, 19.593817],
- [-16.277838, 20.092521],
- [-16.536324, 20.567866],
- [-17.063423, 20.999752],
- [-16.845194, 21.333323],
- [-12.929102, 21.327071],
- [-13.118754, 22.77122],
- [-12.874222, 23.284832],
- [-11.937224, 23.374594],
- [-11.969419, 25.933353],
- [-8.687294, 25.881056],
- [-8.6844, 27.395744],
- [-4.923337, 24.974574],
- [-6.453787, 24.956591],
- [-5.971129, 20.640833],
- [-5.488523, 16.325102],
- [-5.315277, 16.201854],
- [-5.537744, 15.50169],
- [-9.550238, 15.486497],
- [-9.700255, 15.264107],
- [-10.086846, 15.330486],
- [-10.650791, 15.132746],
- [-11.349095, 15.411256],
- [-11.666078, 15.388208],
- [-11.834208, 14.799097],
- [-12.17075, 14.616834]
- ]
- ]
- },
- "id": "MRT"
- },
- {
- "type": "Feature",
- "properties": { "name": "Malawi" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [34.559989, -11.52002],
- [34.280006, -12.280025],
- [34.559989, -13.579998],
- [34.907151, -13.565425],
- [35.267956, -13.887834],
- [35.686845, -14.611046],
- [35.771905, -15.896859],
- [35.339063, -16.10744],
- [35.03381, -16.8013],
- [34.381292, -16.18356],
- [34.307291, -15.478641],
- [34.517666, -15.013709],
- [34.459633, -14.61301],
- [34.064825, -14.35995],
- [33.7897, -14.451831],
- [33.214025, -13.97186],
- [32.688165, -13.712858],
- [32.991764, -12.783871],
- [33.306422, -12.435778],
- [33.114289, -11.607198],
- [33.31531, -10.79655],
- [33.485688, -10.525559],
- [33.231388, -9.676722],
- [32.759375, -9.230599],
- [33.739729, -9.417151],
- [33.940838, -9.693674],
- [34.280006, -10.16],
- [34.559989, -11.52002]
- ]
- ]
- },
- "id": "MWI"
- },
- {
- "type": "Feature",
- "properties": { "name": "Malaysia" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [101.075516, 6.204867],
- [101.154219, 5.691384],
- [101.814282, 5.810808],
- [102.141187, 6.221636],
- [102.371147, 6.128205],
- [102.961705, 5.524495],
- [103.381215, 4.855001],
- [103.438575, 4.181606],
- [103.332122, 3.726698],
- [103.429429, 3.382869],
- [103.502448, 2.791019],
- [103.854674, 2.515454],
- [104.247932, 1.631141],
- [104.228811, 1.293048],
- [103.519707, 1.226334],
- [102.573615, 1.967115],
- [101.390638, 2.760814],
- [101.27354, 3.270292],
- [100.695435, 3.93914],
- [100.557408, 4.76728],
- [100.196706, 5.312493],
- [100.30626, 6.040562],
- [100.085757, 6.464489],
- [100.259596, 6.642825],
- [101.075516, 6.204867]
- ]
- ],
- [
- [
- [118.618321, 4.478202],
- [117.882035, 4.137551],
- [117.015214, 4.306094],
- [115.865517, 4.306559],
- [115.519078, 3.169238],
- [115.134037, 2.821482],
- [114.621355, 1.430688],
- [113.80585, 1.217549],
- [112.859809, 1.49779],
- [112.380252, 1.410121],
- [111.797548, 0.904441],
- [111.159138, 0.976478],
- [110.514061, 0.773131],
- [109.830227, 1.338136],
- [109.66326, 2.006467],
- [110.396135, 1.663775],
- [111.168853, 1.850637],
- [111.370081, 2.697303],
- [111.796928, 2.885897],
- [112.995615, 3.102395],
- [113.712935, 3.893509],
- [114.204017, 4.525874],
- [114.659596, 4.007637],
- [114.869557, 4.348314],
- [115.347461, 4.316636],
- [115.4057, 4.955228],
- [115.45071, 5.44773],
- [116.220741, 6.143191],
- [116.725103, 6.924771],
- [117.129626, 6.928053],
- [117.643393, 6.422166],
- [117.689075, 5.98749],
- [118.347691, 5.708696],
- [119.181904, 5.407836],
- [119.110694, 5.016128],
- [118.439727, 4.966519],
- [118.618321, 4.478202]
- ]
- ]
- ]
- },
- "id": "MYS"
- },
- {
- "type": "Feature",
- "properties": { "name": "Namibia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [16.344977, -28.576705],
- [15.601818, -27.821247],
- [15.210472, -27.090956],
- [14.989711, -26.117372],
- [14.743214, -25.39292],
- [14.408144, -23.853014],
- [14.385717, -22.656653],
- [14.257714, -22.111208],
- [13.868642, -21.699037],
- [13.352498, -20.872834],
- [12.826845, -19.673166],
- [12.608564, -19.045349],
- [11.794919, -18.069129],
- [11.734199, -17.301889],
- [12.215461, -17.111668],
- [12.814081, -16.941343],
- [13.462362, -16.971212],
- [14.058501, -17.423381],
- [14.209707, -17.353101],
- [18.263309, -17.309951],
- [18.956187, -17.789095],
- [21.377176, -17.930636],
- [23.215048, -17.523116],
- [24.033862, -17.295843],
- [24.682349, -17.353411],
- [25.07695, -17.578823],
- [25.084443, -17.661816],
- [24.520705, -17.887125],
- [24.217365, -17.889347],
- [23.579006, -18.281261],
- [23.196858, -17.869038],
- [21.65504, -18.219146],
- [20.910641, -18.252219],
- [20.881134, -21.814327],
- [19.895458, -21.849157],
- [19.895768, -24.76779],
- [19.894734, -28.461105],
- [19.002127, -28.972443],
- [18.464899, -29.045462],
- [17.836152, -28.856378],
- [17.387497, -28.783514],
- [17.218929, -28.355943],
- [16.824017, -28.082162],
- [16.344977, -28.576705]
- ]
- ]
- },
- "id": "NAM"
- },
- {
- "type": "Feature",
- "properties": { "name": "New Caledonia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [165.77999, -21.080005],
- [166.599991, -21.700019],
- [167.120011, -22.159991],
- [166.740035, -22.399976],
- [166.189732, -22.129708],
- [165.474375, -21.679607],
- [164.829815, -21.14982],
- [164.167995, -20.444747],
- [164.029606, -20.105646],
- [164.459967, -20.120012],
- [165.020036, -20.459991],
- [165.460009, -20.800022],
- [165.77999, -21.080005]
- ]
- ]
- },
- "id": "NCL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Niger" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [2.154474, 11.94015],
- [2.177108, 12.625018],
- [1.024103, 12.851826],
- [0.993046, 13.33575],
- [0.429928, 13.988733],
- [0.295646, 14.444235],
- [0.374892, 14.928908],
- [1.015783, 14.968182],
- [1.385528, 15.323561],
- [2.749993, 15.409525],
- [3.638259, 15.56812],
- [3.723422, 16.184284],
- [4.27021, 16.852227],
- [4.267419, 19.155265],
- [5.677566, 19.601207],
- [8.572893, 21.565661],
- [11.999506, 23.471668],
- [13.581425, 23.040506],
- [14.143871, 22.491289],
- [14.8513, 22.86295],
- [15.096888, 21.308519],
- [15.471077, 21.048457],
- [15.487148, 20.730415],
- [15.903247, 20.387619],
- [15.685741, 19.95718],
- [15.300441, 17.92795],
- [15.247731, 16.627306],
- [13.972202, 15.684366],
- [13.540394, 14.367134],
- [13.956699, 13.996691],
- [13.954477, 13.353449],
- [14.595781, 13.330427],
- [14.495787, 12.859396],
- [14.213531, 12.802035],
- [14.181336, 12.483657],
- [13.995353, 12.461565],
- [13.318702, 13.556356],
- [13.083987, 13.596147],
- [12.302071, 13.037189],
- [11.527803, 13.32898],
- [10.989593, 13.387323],
- [10.701032, 13.246918],
- [10.114814, 13.277252],
- [9.524928, 12.851102],
- [9.014933, 12.826659],
- [7.804671, 13.343527],
- [7.330747, 13.098038],
- [6.820442, 13.115091],
- [6.445426, 13.492768],
- [5.443058, 13.865924],
- [4.368344, 13.747482],
- [4.107946, 13.531216],
- [3.967283, 12.956109],
- [3.680634, 12.552903],
- [3.61118, 11.660167],
- [2.848643, 12.235636],
- [2.490164, 12.233052],
- [2.154474, 11.94015]
- ]
- ]
- },
- "id": "NER"
- },
- {
- "type": "Feature",
- "properties": { "name": "Nigeria" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [8.500288, 4.771983],
- [7.462108, 4.412108],
- [7.082596, 4.464689],
- [6.698072, 4.240594],
- [5.898173, 4.262453],
- [5.362805, 4.887971],
- [5.033574, 5.611802],
- [4.325607, 6.270651],
- [3.57418, 6.2583],
- [2.691702, 6.258817],
- [2.749063, 7.870734],
- [2.723793, 8.506845],
- [2.912308, 9.137608],
- [3.220352, 9.444153],
- [3.705438, 10.06321],
- [3.60007, 10.332186],
- [3.797112, 10.734746],
- [3.572216, 11.327939],
- [3.61118, 11.660167],
- [3.680634, 12.552903],
- [3.967283, 12.956109],
- [4.107946, 13.531216],
- [4.368344, 13.747482],
- [5.443058, 13.865924],
- [6.445426, 13.492768],
- [6.820442, 13.115091],
- [7.330747, 13.098038],
- [7.804671, 13.343527],
- [9.014933, 12.826659],
- [9.524928, 12.851102],
- [10.114814, 13.277252],
- [10.701032, 13.246918],
- [10.989593, 13.387323],
- [11.527803, 13.32898],
- [12.302071, 13.037189],
- [13.083987, 13.596147],
- [13.318702, 13.556356],
- [13.995353, 12.461565],
- [14.181336, 12.483657],
- [14.577178, 12.085361],
- [14.468192, 11.904752],
- [14.415379, 11.572369],
- [13.57295, 10.798566],
- [13.308676, 10.160362],
- [13.1676, 9.640626],
- [12.955468, 9.417772],
- [12.753672, 8.717763],
- [12.218872, 8.305824],
- [12.063946, 7.799808],
- [11.839309, 7.397042],
- [11.745774, 6.981383],
- [11.058788, 6.644427],
- [10.497375, 7.055358],
- [10.118277, 7.03877],
- [9.522706, 6.453482],
- [9.233163, 6.444491],
- [8.757533, 5.479666],
- [8.500288, 4.771983]
- ]
- ]
- },
- "id": "NGA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Nicaragua" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-85.71254, 11.088445],
- [-86.058488, 11.403439],
- [-86.52585, 11.806877],
- [-86.745992, 12.143962],
- [-87.167516, 12.458258],
- [-87.668493, 12.90991],
- [-87.557467, 13.064552],
- [-87.392386, 12.914018],
- [-87.316654, 12.984686],
- [-87.005769, 13.025794],
- [-86.880557, 13.254204],
- [-86.733822, 13.263093],
- [-86.755087, 13.754845],
- [-86.520708, 13.778487],
- [-86.312142, 13.771356],
- [-86.096264, 14.038187],
- [-85.801295, 13.836055],
- [-85.698665, 13.960078],
- [-85.514413, 14.079012],
- [-85.165365, 14.35437],
- [-85.148751, 14.560197],
- [-85.052787, 14.551541],
- [-84.924501, 14.790493],
- [-84.820037, 14.819587],
- [-84.649582, 14.666805],
- [-84.449336, 14.621614],
- [-84.228342, 14.748764],
- [-83.975721, 14.749436],
- [-83.628585, 14.880074],
- [-83.489989, 15.016267],
- [-83.147219, 14.995829],
- [-83.233234, 14.899866],
- [-83.284162, 14.676624],
- [-83.182126, 14.310703],
- [-83.4125, 13.970078],
- [-83.519832, 13.567699],
- [-83.552207, 13.127054],
- [-83.498515, 12.869292],
- [-83.473323, 12.419087],
- [-83.626104, 12.32085],
- [-83.719613, 11.893124],
- [-83.650858, 11.629032],
- [-83.85547, 11.373311],
- [-83.808936, 11.103044],
- [-83.655612, 10.938764],
- [-83.895054, 10.726839],
- [-84.190179, 10.79345],
- [-84.355931, 10.999226],
- [-84.673069, 11.082657],
- [-84.903003, 10.952303],
- [-85.561852, 11.217119],
- [-85.71254, 11.088445]
- ]
- ]
- },
- "id": "NIC"
- },
- {
- "type": "Feature",
- "properties": { "name": "Netherlands" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [6.074183, 53.510403],
- [6.90514, 53.482162],
- [7.092053, 53.144043],
- [6.84287, 52.22844],
- [6.589397, 51.852029],
- [5.988658, 51.851616],
- [6.156658, 50.803721],
- [5.606976, 51.037298],
- [4.973991, 51.475024],
- [4.047071, 51.267259],
- [3.314971, 51.345755],
- [3.830289, 51.620545],
- [4.705997, 53.091798],
- [6.074183, 53.510403]
- ]
- ]
- },
- "id": "NLD"
- },
- {
- "type": "Feature",
- "properties": { "name": "Norway" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [28.165547, 71.185474],
- [31.293418, 70.453788],
- [30.005435, 70.186259],
- [31.101079, 69.55808],
- [29.399581, 69.156916],
- [28.59193, 69.064777],
- [29.015573, 69.766491],
- [27.732292, 70.164193],
- [26.179622, 69.825299],
- [25.689213, 69.092114],
- [24.735679, 68.649557],
- [23.66205, 68.891247],
- [22.356238, 68.841741],
- [21.244936, 69.370443],
- [20.645593, 69.106247],
- [20.025269, 69.065139],
- [19.87856, 68.407194],
- [17.993868, 68.567391],
- [17.729182, 68.010552],
- [16.768879, 68.013937],
- [16.108712, 67.302456],
- [15.108411, 66.193867],
- [13.55569, 64.787028],
- [13.919905, 64.445421],
- [13.571916, 64.049114],
- [12.579935, 64.066219],
- [11.930569, 63.128318],
- [11.992064, 61.800362],
- [12.631147, 61.293572],
- [12.300366, 60.117933],
- [11.468272, 59.432393],
- [11.027369, 58.856149],
- [10.356557, 59.469807],
- [8.382, 58.313288],
- [7.048748, 58.078884],
- [5.665835, 58.588155],
- [5.308234, 59.663232],
- [4.992078, 61.970998],
- [5.9129, 62.614473],
- [8.553411, 63.454008],
- [10.527709, 64.486038],
- [12.358347, 65.879726],
- [14.761146, 67.810642],
- [16.435927, 68.563205],
- [19.184028, 69.817444],
- [21.378416, 70.255169],
- [23.023742, 70.202072],
- [24.546543, 71.030497],
- [26.37005, 70.986262],
- [28.165547, 71.185474]
- ]
- ],
- [
- [
- [24.72412, 77.85385],
- [22.49032, 77.44493],
- [20.72601, 77.67704],
- [21.41611, 77.93504],
- [20.8119, 78.25463],
- [22.88426, 78.45494],
- [23.28134, 78.07954],
- [24.72412, 77.85385]
- ]
- ],
- [
- [
- [18.25183, 79.70175],
- [21.54383, 78.95611],
- [19.02737, 78.5626],
- [18.47172, 77.82669],
- [17.59441, 77.63796],
- [17.1182, 76.80941],
- [15.91315, 76.77045],
- [13.76259, 77.38035],
- [14.66956, 77.73565],
- [13.1706, 78.02493],
- [11.22231, 78.8693],
- [10.44453, 79.65239],
- [13.17077, 80.01046],
- [13.71852, 79.66039],
- [15.14282, 79.67431],
- [15.52255, 80.01608],
- [16.99085, 80.05086],
- [18.25183, 79.70175]
- ]
- ],
- [
- [
- [25.447625, 80.40734],
- [27.407506, 80.056406],
- [25.924651, 79.517834],
- [23.024466, 79.400012],
- [20.075188, 79.566823],
- [19.897266, 79.842362],
- [18.462264, 79.85988],
- [17.368015, 80.318896],
- [20.455992, 80.598156],
- [21.907945, 80.357679],
- [22.919253, 80.657144],
- [25.447625, 80.40734]
- ]
- ]
- ]
- },
- "id": "NOR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Nepal" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [88.120441, 27.876542],
- [88.043133, 27.445819],
- [88.174804, 26.810405],
- [88.060238, 26.414615],
- [87.227472, 26.397898],
- [86.024393, 26.630985],
- [85.251779, 26.726198],
- [84.675018, 27.234901],
- [83.304249, 27.364506],
- [81.999987, 27.925479],
- [81.057203, 28.416095],
- [80.088425, 28.79447],
- [80.476721, 29.729865],
- [81.111256, 30.183481],
- [81.525804, 30.422717],
- [82.327513, 30.115268],
- [83.337115, 29.463732],
- [83.898993, 29.320226],
- [84.23458, 28.839894],
- [85.011638, 28.642774],
- [85.82332, 28.203576],
- [86.954517, 27.974262],
- [88.120441, 27.876542]
- ]
- ]
- },
- "id": "NPL"
- },
- {
- "type": "Feature",
- "properties": { "name": "New Zealand" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [173.020375, -40.919052],
- [173.247234, -41.331999],
- [173.958405, -40.926701],
- [174.247587, -41.349155],
- [174.248517, -41.770008],
- [173.876447, -42.233184],
- [173.22274, -42.970038],
- [172.711246, -43.372288],
- [173.080113, -43.853344],
- [172.308584, -43.865694],
- [171.452925, -44.242519],
- [171.185138, -44.897104],
- [170.616697, -45.908929],
- [169.831422, -46.355775],
- [169.332331, -46.641235],
- [168.411354, -46.619945],
- [167.763745, -46.290197],
- [166.676886, -46.219917],
- [166.509144, -45.852705],
- [167.046424, -45.110941],
- [168.303763, -44.123973],
- [168.949409, -43.935819],
- [169.667815, -43.555326],
- [170.52492, -43.031688],
- [171.12509, -42.512754],
- [171.569714, -41.767424],
- [171.948709, -41.514417],
- [172.097227, -40.956104],
- [172.79858, -40.493962],
- [173.020375, -40.919052]
- ]
- ],
- [
- [
- [174.612009, -36.156397],
- [175.336616, -37.209098],
- [175.357596, -36.526194],
- [175.808887, -36.798942],
- [175.95849, -37.555382],
- [176.763195, -37.881253],
- [177.438813, -37.961248],
- [178.010354, -37.579825],
- [178.517094, -37.695373],
- [178.274731, -38.582813],
- [177.97046, -39.166343],
- [177.206993, -39.145776],
- [176.939981, -39.449736],
- [177.032946, -39.879943],
- [176.885824, -40.065978],
- [176.508017, -40.604808],
- [176.01244, -41.289624],
- [175.239567, -41.688308],
- [175.067898, -41.425895],
- [174.650973, -41.281821],
- [175.22763, -40.459236],
- [174.900157, -39.908933],
- [173.824047, -39.508854],
- [173.852262, -39.146602],
- [174.574802, -38.797683],
- [174.743474, -38.027808],
- [174.697017, -37.381129],
- [174.292028, -36.711092],
- [174.319004, -36.534824],
- [173.840997, -36.121981],
- [173.054171, -35.237125],
- [172.636005, -34.529107],
- [173.007042, -34.450662],
- [173.551298, -35.006183],
- [174.32939, -35.265496],
- [174.612009, -36.156397]
- ]
- ]
- ]
- },
- "id": "NZL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Oman" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [58.861141, 21.114035],
- [58.487986, 20.428986],
- [58.034318, 20.481437],
- [57.826373, 20.243002],
- [57.665762, 19.736005],
- [57.7887, 19.06757],
- [57.694391, 18.94471],
- [57.234264, 18.947991],
- [56.609651, 18.574267],
- [56.512189, 18.087113],
- [56.283521, 17.876067],
- [55.661492, 17.884128],
- [55.269939, 17.632309],
- [55.2749, 17.228354],
- [54.791002, 16.950697],
- [54.239253, 17.044981],
- [53.570508, 16.707663],
- [53.108573, 16.651051],
- [52.782184, 17.349742],
- [52.00001, 19.000003],
- [54.999982, 19.999994],
- [55.666659, 22.000001],
- [55.208341, 22.70833],
- [55.234489, 23.110993],
- [55.525841, 23.524869],
- [55.528632, 23.933604],
- [55.981214, 24.130543],
- [55.804119, 24.269604],
- [55.886233, 24.920831],
- [56.396847, 24.924732],
- [56.84514, 24.241673],
- [57.403453, 23.878594],
- [58.136948, 23.747931],
- [58.729211, 23.565668],
- [59.180502, 22.992395],
- [59.450098, 22.660271],
- [59.80806, 22.533612],
- [59.806148, 22.310525],
- [59.442191, 21.714541],
- [59.282408, 21.433886],
- [58.861141, 21.114035]
- ]
- ],
- [
- [
- [56.391421, 25.895991],
- [56.261042, 25.714606],
- [56.070821, 26.055464],
- [56.362017, 26.395934],
- [56.485679, 26.309118],
- [56.391421, 25.895991]
- ]
- ]
- ]
- },
- "id": "OMN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Pakistan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [75.158028, 37.133031],
- [75.896897, 36.666806],
- [76.192848, 35.898403],
- [77.837451, 35.49401],
- [76.871722, 34.653544],
- [75.757061, 34.504923],
- [74.240203, 34.748887],
- [73.749948, 34.317699],
- [74.104294, 33.441473],
- [74.451559, 32.7649],
- [75.258642, 32.271105],
- [74.405929, 31.692639],
- [74.42138, 30.979815],
- [73.450638, 29.976413],
- [72.823752, 28.961592],
- [71.777666, 27.91318],
- [70.616496, 27.989196],
- [69.514393, 26.940966],
- [70.168927, 26.491872],
- [70.282873, 25.722229],
- [70.844699, 25.215102],
- [71.04324, 24.356524],
- [68.842599, 24.359134],
- [68.176645, 23.691965],
- [67.443667, 23.944844],
- [67.145442, 24.663611],
- [66.372828, 25.425141],
- [64.530408, 25.237039],
- [62.905701, 25.218409],
- [61.497363, 25.078237],
- [61.874187, 26.239975],
- [63.316632, 26.756532],
- [63.233898, 27.217047],
- [62.755426, 27.378923],
- [62.72783, 28.259645],
- [61.771868, 28.699334],
- [61.369309, 29.303276],
- [60.874248, 29.829239],
- [62.549857, 29.318572],
- [63.550261, 29.468331],
- [64.148002, 29.340819],
- [64.350419, 29.560031],
- [65.046862, 29.472181],
- [66.346473, 29.887943],
- [66.381458, 30.738899],
- [66.938891, 31.304911],
- [67.683394, 31.303154],
- [67.792689, 31.58293],
- [68.556932, 31.71331],
- [68.926677, 31.620189],
- [69.317764, 31.901412],
- [69.262522, 32.501944],
- [69.687147, 33.105499],
- [70.323594, 33.358533],
- [69.930543, 34.02012],
- [70.881803, 33.988856],
- [71.156773, 34.348911],
- [71.115019, 34.733126],
- [71.613076, 35.153203],
- [71.498768, 35.650563],
- [71.262348, 36.074388],
- [71.846292, 36.509942],
- [72.920025, 36.720007],
- [74.067552, 36.836176],
- [74.575893, 37.020841],
- [75.158028, 37.133031]
- ]
- ]
- },
- "id": "PAK"
- },
- {
- "type": "Feature",
- "properties": { "name": "Panama" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-77.881571, 7.223771],
- [-78.214936, 7.512255],
- [-78.429161, 8.052041],
- [-78.182096, 8.319182],
- [-78.435465, 8.387705],
- [-78.622121, 8.718124],
- [-79.120307, 8.996092],
- [-79.557877, 8.932375],
- [-79.760578, 8.584515],
- [-80.164481, 8.333316],
- [-80.382659, 8.298409],
- [-80.480689, 8.090308],
- [-80.00369, 7.547524],
- [-80.276671, 7.419754],
- [-80.421158, 7.271572],
- [-80.886401, 7.220541],
- [-81.059543, 7.817921],
- [-81.189716, 7.647906],
- [-81.519515, 7.70661],
- [-81.721311, 8.108963],
- [-82.131441, 8.175393],
- [-82.390934, 8.292362],
- [-82.820081, 8.290864],
- [-82.850958, 8.073823],
- [-82.965783, 8.225028],
- [-82.913176, 8.423517],
- [-82.829771, 8.626295],
- [-82.868657, 8.807266],
- [-82.719183, 8.925709],
- [-82.927155, 9.07433],
- [-82.932891, 9.476812],
- [-82.546196, 9.566135],
- [-82.187123, 9.207449],
- [-82.207586, 8.995575],
- [-81.808567, 8.950617],
- [-81.714154, 9.031955],
- [-81.439287, 8.786234],
- [-80.947302, 8.858504],
- [-80.521901, 9.111072],
- [-79.9146, 9.312765],
- [-79.573303, 9.61161],
- [-79.021192, 9.552931],
- [-79.05845, 9.454565],
- [-78.500888, 9.420459],
- [-78.055928, 9.24773],
- [-77.729514, 8.946844],
- [-77.353361, 8.670505],
- [-77.474723, 8.524286],
- [-77.242566, 7.935278],
- [-77.431108, 7.638061],
- [-77.753414, 7.70984],
- [-77.881571, 7.223771]
- ]
- ]
- },
- "id": "PAN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Peru" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-69.590424, -17.580012],
- [-69.858444, -18.092694],
- [-70.372572, -18.347975],
- [-71.37525, -17.773799],
- [-71.462041, -17.363488],
- [-73.44453, -16.359363],
- [-75.237883, -15.265683],
- [-76.009205, -14.649286],
- [-76.423469, -13.823187],
- [-76.259242, -13.535039],
- [-77.106192, -12.222716],
- [-78.092153, -10.377712],
- [-79.036953, -8.386568],
- [-79.44592, -7.930833],
- [-79.760578, -7.194341],
- [-80.537482, -6.541668],
- [-81.249996, -6.136834],
- [-80.926347, -5.690557],
- [-81.410943, -4.736765],
- [-81.09967, -4.036394],
- [-80.302561, -3.404856],
- [-80.184015, -3.821162],
- [-80.469295, -4.059287],
- [-80.442242, -4.425724],
- [-80.028908, -4.346091],
- [-79.624979, -4.454198],
- [-79.205289, -4.959129],
- [-78.639897, -4.547784],
- [-78.450684, -3.873097],
- [-77.837905, -3.003021],
- [-76.635394, -2.608678],
- [-75.544996, -1.56161],
- [-75.233723, -0.911417],
- [-75.373223, -0.152032],
- [-75.106625, -0.057205],
- [-74.441601, -0.53082],
- [-74.122395, -1.002833],
- [-73.659504, -1.260491],
- [-73.070392, -2.308954],
- [-72.325787, -2.434218],
- [-71.774761, -2.16979],
- [-71.413646, -2.342802],
- [-70.813476, -2.256865],
- [-70.047709, -2.725156],
- [-70.692682, -3.742872],
- [-70.394044, -3.766591],
- [-69.893635, -4.298187],
- [-70.794769, -4.251265],
- [-70.928843, -4.401591],
- [-71.748406, -4.593983],
- [-72.891928, -5.274561],
- [-72.964507, -5.741251],
- [-73.219711, -6.089189],
- [-73.120027, -6.629931],
- [-73.724487, -6.918595],
- [-73.723401, -7.340999],
- [-73.987235, -7.52383],
- [-73.571059, -8.424447],
- [-73.015383, -9.032833],
- [-73.226713, -9.462213],
- [-72.563033, -9.520194],
- [-72.184891, -10.053598],
- [-71.302412, -10.079436],
- [-70.481894, -9.490118],
- [-70.548686, -11.009147],
- [-70.093752, -11.123972],
- [-69.529678, -10.951734],
- [-68.66508, -12.5613],
- [-68.88008, -12.899729],
- [-68.929224, -13.602684],
- [-68.948887, -14.453639],
- [-69.339535, -14.953195],
- [-69.160347, -15.323974],
- [-69.389764, -15.660129],
- [-68.959635, -16.500698],
- [-69.590424, -17.580012]
- ]
- ]
- },
- "id": "PER"
- },
- {
- "type": "Feature",
- "properties": { "name": "Philippines" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [126.376814, 8.414706],
- [126.478513, 7.750354],
- [126.537424, 7.189381],
- [126.196773, 6.274294],
- [125.831421, 7.293715],
- [125.363852, 6.786485],
- [125.683161, 6.049657],
- [125.396512, 5.581003],
- [124.219788, 6.161355],
- [123.93872, 6.885136],
- [124.243662, 7.36061],
- [123.610212, 7.833527],
- [123.296071, 7.418876],
- [122.825506, 7.457375],
- [122.085499, 6.899424],
- [121.919928, 7.192119],
- [122.312359, 8.034962],
- [122.942398, 8.316237],
- [123.487688, 8.69301],
- [123.841154, 8.240324],
- [124.60147, 8.514158],
- [124.764612, 8.960409],
- [125.471391, 8.986997],
- [125.412118, 9.760335],
- [126.222714, 9.286074],
- [126.306637, 8.782487],
- [126.376814, 8.414706]
- ]
- ],
- [
- [
- [123.982438, 10.278779],
- [123.623183, 9.950091],
- [123.309921, 9.318269],
- [122.995883, 9.022189],
- [122.380055, 9.713361],
- [122.586089, 9.981045],
- [122.837081, 10.261157],
- [122.947411, 10.881868],
- [123.49885, 10.940624],
- [123.337774, 10.267384],
- [124.077936, 11.232726],
- [123.982438, 10.278779]
- ]
- ],
- [
- [
- [118.504581, 9.316383],
- [117.174275, 8.3675],
- [117.664477, 9.066889],
- [118.386914, 9.6845],
- [118.987342, 10.376292],
- [119.511496, 11.369668],
- [119.689677, 10.554291],
- [119.029458, 10.003653],
- [118.504581, 9.316383]
- ]
- ],
- [
- [
- [121.883548, 11.891755],
- [122.483821, 11.582187],
- [123.120217, 11.58366],
- [123.100838, 11.165934],
- [122.637714, 10.741308],
- [122.00261, 10.441017],
- [121.967367, 10.905691],
- [122.03837, 11.415841],
- [121.883548, 11.891755]
- ]
- ],
- [
- [
- [125.502552, 12.162695],
- [125.783465, 11.046122],
- [125.011884, 11.311455],
- [125.032761, 10.975816],
- [125.277449, 10.358722],
- [124.801819, 10.134679],
- [124.760168, 10.837995],
- [124.459101, 10.88993],
- [124.302522, 11.495371],
- [124.891013, 11.415583],
- [124.87799, 11.79419],
- [124.266762, 12.557761],
- [125.227116, 12.535721],
- [125.502552, 12.162695]
- ]
- ],
- [
- [
- [121.527394, 13.06959],
- [121.26219, 12.20556],
- [120.833896, 12.704496],
- [120.323436, 13.466413],
- [121.180128, 13.429697],
- [121.527394, 13.06959]
- ]
- ],
- [
- [
- [121.321308, 18.504065],
- [121.937601, 18.218552],
- [122.246006, 18.47895],
- [122.336957, 18.224883],
- [122.174279, 17.810283],
- [122.515654, 17.093505],
- [122.252311, 16.262444],
- [121.662786, 15.931018],
- [121.50507, 15.124814],
- [121.728829, 14.328376],
- [122.258925, 14.218202],
- [122.701276, 14.336541],
- [123.950295, 13.782131],
- [123.855107, 13.237771],
- [124.181289, 12.997527],
- [124.077419, 12.536677],
- [123.298035, 13.027526],
- [122.928652, 13.55292],
- [122.671355, 13.185836],
- [122.03465, 13.784482],
- [121.126385, 13.636687],
- [120.628637, 13.857656],
- [120.679384, 14.271016],
- [120.991819, 14.525393],
- [120.693336, 14.756671],
- [120.564145, 14.396279],
- [120.070429, 14.970869],
- [119.920929, 15.406347],
- [119.883773, 16.363704],
- [120.286488, 16.034629],
- [120.390047, 17.599081],
- [120.715867, 18.505227],
- [121.321308, 18.504065]
- ]
- ]
- ]
- },
- "id": "PHL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Papua New Guinea" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [155.880026, -6.819997],
- [155.599991, -6.919991],
- [155.166994, -6.535931],
- [154.729192, -5.900828],
- [154.514114, -5.139118],
- [154.652504, -5.042431],
- [154.759991, -5.339984],
- [155.062918, -5.566792],
- [155.547746, -6.200655],
- [156.019965, -6.540014],
- [155.880026, -6.819997]
- ]
- ],
- [
- [
- [151.982796, -5.478063],
- [151.459107, -5.56028],
- [151.30139, -5.840728],
- [150.754447, -6.083763],
- [150.241197, -6.317754],
- [149.709963, -6.316513],
- [148.890065, -6.02604],
- [148.318937, -5.747142],
- [148.401826, -5.437756],
- [149.298412, -5.583742],
- [149.845562, -5.505503],
- [149.99625, -5.026101],
- [150.139756, -5.001348],
- [150.236908, -5.53222],
- [150.807467, -5.455842],
- [151.089672, -5.113693],
- [151.647881, -4.757074],
- [151.537862, -4.167807],
- [152.136792, -4.14879],
- [152.338743, -4.312966],
- [152.318693, -4.867661],
- [151.982796, -5.478063]
- ]
- ],
- [
- [
- [147.191874, -7.388024],
- [148.084636, -8.044108],
- [148.734105, -9.104664],
- [149.306835, -9.071436],
- [149.266631, -9.514406],
- [150.038728, -9.684318],
- [149.738798, -9.872937],
- [150.801628, -10.293687],
- [150.690575, -10.582713],
- [150.028393, -10.652476],
- [149.78231, -10.393267],
- [148.923138, -10.280923],
- [147.913018, -10.130441],
- [147.135443, -9.492444],
- [146.567881, -8.942555],
- [146.048481, -8.067414],
- [144.744168, -7.630128],
- [143.897088, -7.91533],
- [143.286376, -8.245491],
- [143.413913, -8.983069],
- [142.628431, -9.326821],
- [142.068259, -9.159596],
- [141.033852, -9.117893],
- [141.017057, -5.859022],
- [141.00021, -2.600151],
- [142.735247, -3.289153],
- [144.583971, -3.861418],
- [145.27318, -4.373738],
- [145.829786, -4.876498],
- [145.981922, -5.465609],
- [147.648073, -6.083659],
- [147.891108, -6.614015],
- [146.970905, -6.721657],
- [147.191874, -7.388024]
- ]
- ],
- [
- [
- [153.140038, -4.499983],
- [152.827292, -4.766427],
- [152.638673, -4.176127],
- [152.406026, -3.789743],
- [151.953237, -3.462062],
- [151.384279, -3.035422],
- [150.66205, -2.741486],
- [150.939965, -2.500002],
- [151.479984, -2.779985],
- [151.820015, -2.999972],
- [152.239989, -3.240009],
- [152.640017, -3.659983],
- [153.019994, -3.980015],
- [153.140038, -4.499983]
- ]
- ]
- ]
- },
- "id": "PNG"
- },
- {
- "type": "Feature",
- "properties": { "name": "Poland" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [15.016996, 51.106674],
- [14.607098, 51.745188],
- [14.685026, 52.089947],
- [14.4376, 52.62485],
- [14.074521, 52.981263],
- [14.353315, 53.248171],
- [14.119686, 53.757029],
- [14.8029, 54.050706],
- [16.363477, 54.513159],
- [17.622832, 54.851536],
- [18.620859, 54.682606],
- [18.696255, 54.438719],
- [19.66064, 54.426084],
- [20.892245, 54.312525],
- [22.731099, 54.327537],
- [23.243987, 54.220567],
- [23.484128, 53.912498],
- [23.527536, 53.470122],
- [23.804935, 53.089731],
- [23.799199, 52.691099],
- [23.199494, 52.486977],
- [23.508002, 52.023647],
- [23.527071, 51.578454],
- [24.029986, 50.705407],
- [23.922757, 50.424881],
- [23.426508, 50.308506],
- [22.51845, 49.476774],
- [22.776419, 49.027395],
- [22.558138, 49.085738],
- [21.607808, 49.470107],
- [20.887955, 49.328772],
- [20.415839, 49.431453],
- [19.825023, 49.217125],
- [19.320713, 49.571574],
- [18.909575, 49.435846],
- [18.853144, 49.49623],
- [18.392914, 49.988629],
- [17.649445, 50.049038],
- [17.554567, 50.362146],
- [16.868769, 50.473974],
- [16.719476, 50.215747],
- [16.176253, 50.422607],
- [16.238627, 50.697733],
- [15.490972, 50.78473],
- [15.016996, 51.106674]
- ]
- ]
- },
- "id": "POL"
- },
- {
- "type": "Feature",
- "properties": { "name": "Puerto Rico" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-66.282434, 18.514762],
- [-65.771303, 18.426679],
- [-65.591004, 18.228035],
- [-65.847164, 17.975906],
- [-66.599934, 17.981823],
- [-67.184162, 17.946553],
- [-67.242428, 18.37446],
- [-67.100679, 18.520601],
- [-66.282434, 18.514762]
- ]
- ]
- },
- "id": "PRI"
- },
- {
- "type": "Feature",
- "properties": { "name": "North Korea" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [130.640016, 42.395009],
- [130.780007, 42.220007],
- [130.400031, 42.280004],
- [129.965949, 41.941368],
- [129.667362, 41.601104],
- [129.705189, 40.882828],
- [129.188115, 40.661808],
- [129.0104, 40.485436],
- [128.633368, 40.189847],
- [127.967414, 40.025413],
- [127.533436, 39.75685],
- [127.50212, 39.323931],
- [127.385434, 39.213472],
- [127.783343, 39.050898],
- [128.349716, 38.612243],
- [128.205746, 38.370397],
- [127.780035, 38.304536],
- [127.073309, 38.256115],
- [126.68372, 37.804773],
- [126.237339, 37.840378],
- [126.174759, 37.749686],
- [125.689104, 37.94001],
- [125.568439, 37.752089],
- [125.27533, 37.669071],
- [125.240087, 37.857224],
- [124.981033, 37.948821],
- [124.712161, 38.108346],
- [124.985994, 38.548474],
- [125.221949, 38.665857],
- [125.132859, 38.848559],
- [125.38659, 39.387958],
- [125.321116, 39.551385],
- [124.737482, 39.660344],
- [124.265625, 39.928493],
- [125.079942, 40.569824],
- [126.182045, 41.107336],
- [126.869083, 41.816569],
- [127.343783, 41.503152],
- [128.208433, 41.466772],
- [128.052215, 41.994285],
- [129.596669, 42.424982],
- [129.994267, 42.985387],
- [130.640016, 42.395009]
- ]
- ]
- },
- "id": "PRK"
- },
- {
- "type": "Feature",
- "properties": { "name": "Portugal" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-9.034818, 41.880571],
- [-8.671946, 42.134689],
- [-8.263857, 42.280469],
- [-8.013175, 41.790886],
- [-7.422513, 41.792075],
- [-7.251309, 41.918346],
- [-6.668606, 41.883387],
- [-6.389088, 41.381815],
- [-6.851127, 41.111083],
- [-6.86402, 40.330872],
- [-7.026413, 40.184524],
- [-7.066592, 39.711892],
- [-7.498632, 39.629571],
- [-7.098037, 39.030073],
- [-7.374092, 38.373059],
- [-7.029281, 38.075764],
- [-7.166508, 37.803894],
- [-7.537105, 37.428904],
- [-7.453726, 37.097788],
- [-7.855613, 36.838269],
- [-8.382816, 36.97888],
- [-8.898857, 36.868809],
- [-8.746101, 37.651346],
- [-8.839998, 38.266243],
- [-9.287464, 38.358486],
- [-9.526571, 38.737429],
- [-9.446989, 39.392066],
- [-9.048305, 39.755093],
- [-8.977353, 40.159306],
- [-8.768684, 40.760639],
- [-8.790853, 41.184334],
- [-8.990789, 41.543459],
- [-9.034818, 41.880571]
- ]
- ]
- },
- "id": "PRT"
- },
- {
- "type": "Feature",
- "properties": { "name": "Paraguay" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-62.685057, -22.249029],
- [-62.291179, -21.051635],
- [-62.265961, -20.513735],
- [-61.786326, -19.633737],
- [-60.043565, -19.342747],
- [-59.115042, -19.356906],
- [-58.183471, -19.868399],
- [-58.166392, -20.176701],
- [-57.870674, -20.732688],
- [-57.937156, -22.090176],
- [-56.88151, -22.282154],
- [-56.473317, -22.0863],
- [-55.797958, -22.35693],
- [-55.610683, -22.655619],
- [-55.517639, -23.571998],
- [-55.400747, -23.956935],
- [-55.027902, -24.001274],
- [-54.652834, -23.839578],
- [-54.29296, -24.021014],
- [-54.293476, -24.5708],
- [-54.428946, -25.162185],
- [-54.625291, -25.739255],
- [-54.788795, -26.621786],
- [-55.695846, -27.387837],
- [-56.486702, -27.548499],
- [-57.60976, -27.395899],
- [-58.618174, -27.123719],
- [-57.63366, -25.603657],
- [-57.777217, -25.16234],
- [-58.807128, -24.771459],
- [-60.028966, -24.032796],
- [-60.846565, -23.880713],
- [-62.685057, -22.249029]
- ]
- ]
- },
- "id": "PRY"
- },
- {
- "type": "Feature",
- "properties": { "name": "Qatar" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [50.810108, 24.754743],
- [50.743911, 25.482424],
- [51.013352, 26.006992],
- [51.286462, 26.114582],
- [51.589079, 25.801113],
- [51.6067, 25.21567],
- [51.389608, 24.627386],
- [51.112415, 24.556331],
- [50.810108, 24.754743]
- ]
- ]
- },
- "id": "QAT"
- },
- {
- "type": "Feature",
- "properties": { "name": "Romania" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [22.710531, 47.882194],
- [23.142236, 48.096341],
- [23.760958, 47.985598],
- [24.402056, 47.981878],
- [24.866317, 47.737526],
- [25.207743, 47.891056],
- [25.945941, 47.987149],
- [26.19745, 48.220881],
- [26.619337, 48.220726],
- [26.924176, 48.123264],
- [27.233873, 47.826771],
- [27.551166, 47.405117],
- [28.12803, 46.810476],
- [28.160018, 46.371563],
- [28.054443, 45.944586],
- [28.233554, 45.488283],
- [28.679779, 45.304031],
- [29.149725, 45.464925],
- [29.603289, 45.293308],
- [29.626543, 45.035391],
- [29.141612, 44.82021],
- [28.837858, 44.913874],
- [28.558081, 43.707462],
- [27.970107, 43.812468],
- [27.2424, 44.175986],
- [26.065159, 43.943494],
- [25.569272, 43.688445],
- [24.100679, 43.741051],
- [23.332302, 43.897011],
- [22.944832, 43.823785],
- [22.65715, 44.234923],
- [22.474008, 44.409228],
- [22.705726, 44.578003],
- [22.459022, 44.702517],
- [22.145088, 44.478422],
- [21.562023, 44.768947],
- [21.483526, 45.18117],
- [20.874313, 45.416375],
- [20.762175, 45.734573],
- [20.220192, 46.127469],
- [21.021952, 46.316088],
- [21.626515, 46.994238],
- [22.099768, 47.672439],
- [22.710531, 47.882194]
- ]
- ]
- },
- "id": "ROU"
- },
- {
- "type": "Feature",
- "properties": { "name": "Russia" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [143.648007, 50.7476],
- [144.654148, 48.976391],
- [143.173928, 49.306551],
- [142.558668, 47.861575],
- [143.533492, 46.836728],
- [143.505277, 46.137908],
- [142.747701, 46.740765],
- [142.09203, 45.966755],
- [141.906925, 46.805929],
- [142.018443, 47.780133],
- [141.904445, 48.859189],
- [142.1358, 49.615163],
- [142.179983, 50.952342],
- [141.594076, 51.935435],
- [141.682546, 53.301966],
- [142.606934, 53.762145],
- [142.209749, 54.225476],
- [142.654786, 54.365881],
- [142.914616, 53.704578],
- [143.260848, 52.74076],
- [143.235268, 51.75666],
- [143.648007, 50.7476]
- ]
- ],
- [
- [
- [22.731099, 54.327537],
- [20.892245, 54.312525],
- [19.66064, 54.426084],
- [19.888481, 54.86616],
- [21.268449, 55.190482],
- [22.315724, 55.015299],
- [22.757764, 54.856574],
- [22.651052, 54.582741],
- [22.731099, 54.327537]
- ]
- ],
- [
- [
- [-175.01425, 66.58435],
- [-174.33983, 66.33556],
- [-174.57182, 67.06219],
- [-171.85731, 66.91308],
- [-169.89958, 65.97724],
- [-170.89107, 65.54139],
- [-172.53025, 65.43791],
- [-172.555, 64.46079],
- [-172.95533, 64.25269],
- [-173.89184, 64.2826],
- [-174.65392, 64.63125],
- [-175.98353, 64.92288],
- [-176.20716, 65.35667],
- [-177.22266, 65.52024],
- [-178.35993, 65.39052],
- [-178.90332, 65.74044],
- [-178.68611, 66.11211],
- [-179.88377, 65.87456],
- [-179.43268, 65.40411],
- [-180, 64.979709],
- [-180, 68.963636],
- [-177.55, 68.2],
- [-174.92825, 67.20589],
- [-175.01425, 66.58435]
- ]
- ],
- [
- [
- [180, 70.832199],
- [178.903425, 70.78114],
- [178.7253, 71.0988],
- [180, 71.515714],
- [180, 70.832199]
- ]
- ],
- [
- [
- [-178.69378, 70.89302],
- [-180, 70.832199],
- [-180, 71.515714],
- [-179.871875, 71.55762],
- [-179.02433, 71.55553],
- [-177.577945, 71.26948],
- [-177.663575, 71.13277],
- [-178.69378, 70.89302]
- ]
- ],
- [
- [
- [143.60385, 73.21244],
- [142.08763, 73.20544],
- [140.038155, 73.31692],
- [139.86312, 73.36983],
- [140.81171, 73.76506],
- [142.06207, 73.85758],
- [143.48283, 73.47525],
- [143.60385, 73.21244]
- ]
- ],
- [
- [
- [150.73167, 75.08406],
- [149.575925, 74.68892],
- [147.977465, 74.778355],
- [146.11919, 75.17298],
- [146.358485, 75.49682],
- [148.22223, 75.345845],
- [150.73167, 75.08406]
- ]
- ],
- [
- [
- [145.086285, 75.562625],
- [144.3, 74.82],
- [140.61381, 74.84768],
- [138.95544, 74.61148],
- [136.97439, 75.26167],
- [137.51176, 75.94917],
- [138.831075, 76.13676],
- [141.471615, 76.09289],
- [145.086285, 75.562625]
- ]
- ],
- [
- [
- [57.535693, 70.720464],
- [56.944979, 70.632743],
- [53.677375, 70.762658],
- [53.412017, 71.206662],
- [51.601895, 71.474759],
- [51.455754, 72.014881],
- [52.478275, 72.229442],
- [52.444169, 72.774731],
- [54.427614, 73.627548],
- [53.50829, 73.749814],
- [55.902459, 74.627486],
- [55.631933, 75.081412],
- [57.868644, 75.60939],
- [61.170044, 76.251883],
- [64.498368, 76.439055],
- [66.210977, 76.809782],
- [68.15706, 76.939697],
- [68.852211, 76.544811],
- [68.180573, 76.233642],
- [64.637326, 75.737755],
- [61.583508, 75.260885],
- [58.477082, 74.309056],
- [56.986786, 73.333044],
- [55.419336, 72.371268],
- [55.622838, 71.540595],
- [57.535693, 70.720464]
- ]
- ],
- [
- [
- [106.97013, 76.97419],
- [107.24, 76.48],
- [108.1538, 76.72335],
- [111.07726, 76.71],
- [113.33151, 76.22224],
- [114.13417, 75.84764],
- [113.88539, 75.32779],
- [112.77918, 75.03186],
- [110.15125, 74.47673],
- [109.4, 74.18],
- [110.64, 74.04],
- [112.11919, 73.78774],
- [113.01954, 73.97693],
- [113.52958, 73.33505],
- [113.96881, 73.59488],
- [115.56782, 73.75285],
- [118.77633, 73.58772],
- [119.02, 73.12],
- [123.20066, 72.97122],
- [123.25777, 73.73503],
- [125.38, 73.56],
- [126.97644, 73.56549],
- [128.59126, 73.03871],
- [129.05157, 72.39872],
- [128.46, 71.98],
- [129.71599, 71.19304],
- [131.28858, 70.78699],
- [132.2535, 71.8363],
- [133.85766, 71.38642],
- [135.56193, 71.65525],
- [137.49755, 71.34763],
- [138.23409, 71.62803],
- [139.86983, 71.48783],
- [139.14791, 72.41619],
- [140.46817, 72.84941],
- [149.5, 72.2],
- [150.35118, 71.60643],
- [152.9689, 70.84222],
- [157.00688, 71.03141],
- [158.99779, 70.86672],
- [159.83031, 70.45324],
- [159.70866, 69.72198],
- [160.94053, 69.43728],
- [162.27907, 69.64204],
- [164.05248, 69.66823],
- [165.94037, 69.47199],
- [167.83567, 69.58269],
- [169.57763, 68.6938],
- [170.81688, 69.01363],
- [170.0082, 69.65276],
- [170.45345, 70.09703],
- [173.64391, 69.81743],
- [175.72403, 69.87725],
- [178.6, 69.4],
- [180, 68.963636],
- [180, 64.979709],
- [179.99281, 64.97433],
- [178.7072, 64.53493],
- [177.41128, 64.60821],
- [178.313, 64.07593],
- [178.90825, 63.25197],
- [179.37034, 62.98262],
- [179.48636, 62.56894],
- [179.22825, 62.3041],
- [177.3643, 62.5219],
- [174.56929, 61.76915],
- [173.68013, 61.65261],
- [172.15, 60.95],
- [170.6985, 60.33618],
- [170.33085, 59.88177],
- [168.90046, 60.57355],
- [166.29498, 59.78855],
- [165.84, 60.16],
- [164.87674, 59.7316],
- [163.53929, 59.86871],
- [163.21711, 59.21101],
- [162.01733, 58.24328],
- [162.05297, 57.83912],
- [163.19191, 57.61503],
- [163.05794, 56.15924],
- [162.12958, 56.12219],
- [161.70146, 55.28568],
- [162.11749, 54.85514],
- [160.36877, 54.34433],
- [160.02173, 53.20257],
- [158.53094, 52.95868],
- [158.23118, 51.94269],
- [156.78979, 51.01105],
- [156.42, 51.7],
- [155.99182, 53.15895],
- [155.43366, 55.38103],
- [155.91442, 56.76792],
- [156.75815, 57.3647],
- [156.81035, 57.83204],
- [158.36433, 58.05575],
- [160.15064, 59.31477],
- [161.87204, 60.343],
- [163.66969, 61.1409],
- [164.47355, 62.55061],
- [163.25842, 62.46627],
- [162.65791, 61.6425],
- [160.12148, 60.54423],
- [159.30232, 61.77396],
- [156.72068, 61.43442],
- [154.21806, 59.75818],
- [155.04375, 59.14495],
- [152.81185, 58.88385],
- [151.26573, 58.78089],
- [151.33815, 59.50396],
- [149.78371, 59.65573],
- [148.54481, 59.16448],
- [145.48722, 59.33637],
- [142.19782, 59.03998],
- [138.95848, 57.08805],
- [135.12619, 54.72959],
- [136.70171, 54.60355],
- [137.19342, 53.97732],
- [138.1647, 53.75501],
- [138.80463, 54.25455],
- [139.90151, 54.18968],
- [141.34531, 53.08957],
- [141.37923, 52.23877],
- [140.59742, 51.23967],
- [140.51308, 50.04553],
- [140.06193, 48.44671],
- [138.55472, 46.99965],
- [138.21971, 46.30795],
- [136.86232, 45.1435],
- [135.51535, 43.989],
- [134.86939, 43.39821],
- [133.53687, 42.81147],
- [132.90627, 42.79849],
- [132.27807, 43.28456],
- [130.93587, 42.55274],
- [130.78, 42.22],
- [130.64, 42.395],
- [130.633866, 42.903015],
- [131.144688, 42.92999],
- [131.288555, 44.11152],
- [131.02519, 44.96796],
- [131.883454, 45.321162],
- [133.09712, 45.14409],
- [133.769644, 46.116927],
- [134.11235, 47.21248],
- [134.50081, 47.57845],
- [135.026311, 48.47823],
- [133.373596, 48.183442],
- [132.50669, 47.78896],
- [130.98726, 47.79013],
- [130.582293, 48.729687],
- [129.397818, 49.4406],
- [127.6574, 49.76027],
- [127.287456, 50.739797],
- [126.939157, 51.353894],
- [126.564399, 51.784255],
- [125.946349, 52.792799],
- [125.068211, 53.161045],
- [123.57147, 53.4588],
- [122.245748, 53.431726],
- [121.003085, 53.251401],
- [120.177089, 52.753886],
- [120.725789, 52.516226],
- [120.7382, 51.96411],
- [120.18208, 51.64355],
- [119.27939, 50.58292],
- [119.288461, 50.142883],
- [117.879244, 49.510983],
- [116.678801, 49.888531],
- [115.485695, 49.805177],
- [114.96211, 50.140247],
- [114.362456, 50.248303],
- [112.89774, 49.543565],
- [111.581231, 49.377968],
- [110.662011, 49.130128],
- [109.402449, 49.292961],
- [108.475167, 49.282548],
- [107.868176, 49.793705],
- [106.888804, 50.274296],
- [105.886591, 50.406019],
- [104.62158, 50.27532],
- [103.676545, 50.089966],
- [102.25589, 50.51056],
- [102.06521, 51.25991],
- [100.88948, 51.516856],
- [99.981732, 51.634006],
- [98.861491, 52.047366],
- [97.82574, 51.010995],
- [98.231762, 50.422401],
- [97.25976, 49.72605],
- [95.81402, 49.97746],
- [94.815949, 50.013433],
- [94.147566, 50.480537],
- [93.10421, 50.49529],
- [92.234712, 50.802171],
- [90.713667, 50.331812],
- [88.805567, 49.470521],
- [87.751264, 49.297198],
- [87.35997, 49.214981],
- [86.829357, 49.826675],
- [85.54127, 49.692859],
- [85.11556, 50.117303],
- [84.416377, 50.3114],
- [83.935115, 50.889246],
- [83.383004, 51.069183],
- [81.945986, 50.812196],
- [80.568447, 51.388336],
- [80.03556, 50.864751],
- [77.800916, 53.404415],
- [76.525179, 54.177003],
- [76.8911, 54.490524],
- [74.38482, 53.54685],
- [73.425679, 53.48981],
- [73.508516, 54.035617],
- [72.22415, 54.376655],
- [71.180131, 54.133285],
- [70.865267, 55.169734],
- [69.068167, 55.38525],
- [68.1691, 54.970392],
- [65.66687, 54.60125],
- [65.178534, 54.354228],
- [61.4366, 54.00625],
- [60.978066, 53.664993],
- [61.699986, 52.979996],
- [60.739993, 52.719986],
- [60.927269, 52.447548],
- [59.967534, 51.96042],
- [61.588003, 51.272659],
- [61.337424, 50.79907],
- [59.932807, 50.842194],
- [59.642282, 50.545442],
- [58.36332, 51.06364],
- [56.77798, 51.04355],
- [55.71694, 50.62171],
- [54.532878, 51.02624],
- [52.328724, 51.718652],
- [50.766648, 51.692762],
- [48.702382, 50.605128],
- [48.577841, 49.87476],
- [47.54948, 50.454698],
- [46.751596, 49.356006],
- [47.043672, 49.152039],
- [46.466446, 48.394152],
- [47.31524, 47.71585],
- [48.05725, 47.74377],
- [48.694734, 47.075628],
- [48.59325, 46.56104],
- [49.10116, 46.39933],
- [48.64541, 45.80629],
- [47.67591, 45.64149],
- [46.68201, 44.6092],
- [47.59094, 43.66016],
- [47.49252, 42.98658],
- [48.58437, 41.80888],
- [47.987283, 41.405819],
- [47.815666, 41.151416],
- [47.373315, 41.219732],
- [46.686071, 41.827137],
- [46.404951, 41.860675],
- [45.7764, 42.09244],
- [45.470279, 42.502781],
- [44.537623, 42.711993],
- [43.93121, 42.55496],
- [43.75599, 42.74083],
- [42.3944, 43.2203],
- [40.92219, 43.38215],
- [40.076965, 43.553104],
- [39.955009, 43.434998],
- [38.68, 44.28],
- [37.53912, 44.65721],
- [36.67546, 45.24469],
- [37.40317, 45.40451],
- [38.23295, 46.24087],
- [37.67372, 46.63657],
- [39.14767, 47.04475],
- [39.1212, 47.26336],
- [38.223538, 47.10219],
- [38.255112, 47.5464],
- [38.77057, 47.82562],
- [39.738278, 47.898937],
- [39.89562, 48.23241],
- [39.67465, 48.78382],
- [40.080789, 49.30743],
- [40.06904, 49.60105],
- [38.594988, 49.926462],
- [38.010631, 49.915662],
- [37.39346, 50.383953],
- [36.626168, 50.225591],
- [35.356116, 50.577197],
- [35.37791, 50.77394],
- [35.022183, 51.207572],
- [34.224816, 51.255993],
- [34.141978, 51.566413],
- [34.391731, 51.768882],
- [33.7527, 52.335075],
- [32.715761, 52.238465],
- [32.412058, 52.288695],
- [32.15944, 52.06125],
- [31.78597, 52.10168],
- [31.540018, 52.742052],
- [31.305201, 53.073996],
- [31.49764, 53.16743],
- [32.304519, 53.132726],
- [32.693643, 53.351421],
- [32.405599, 53.618045],
- [31.731273, 53.794029],
- [31.791424, 53.974639],
- [31.384472, 54.157056],
- [30.757534, 54.811771],
- [30.971836, 55.081548],
- [30.873909, 55.550976],
- [29.896294, 55.789463],
- [29.371572, 55.670091],
- [29.229513, 55.918344],
- [28.176709, 56.16913],
- [27.855282, 56.759326],
- [27.770016, 57.244258],
- [27.288185, 57.474528],
- [27.716686, 57.791899],
- [27.42015, 58.72457],
- [28.131699, 59.300825],
- [27.98112, 59.47537],
- [29.1177, 60.02805],
- [28.07, 60.50352],
- [30.211107, 61.780028],
- [31.139991, 62.357693],
- [31.516092, 62.867687],
- [30.035872, 63.552814],
- [30.444685, 64.204453],
- [29.54443, 64.948672],
- [30.21765, 65.80598],
- [29.054589, 66.944286],
- [29.977426, 67.698297],
- [28.445944, 68.364613],
- [28.59193, 69.064777],
- [29.39955, 69.15692],
- [31.10108, 69.55811],
- [32.13272, 69.90595],
- [33.77547, 69.30142],
- [36.51396, 69.06342],
- [40.29234, 67.9324],
- [41.05987, 67.45713],
- [41.12595, 66.79158],
- [40.01583, 66.26618],
- [38.38295, 65.99953],
- [33.91871, 66.75961],
- [33.18444, 66.63253],
- [34.81477, 65.90015],
- [34.878574, 65.436213],
- [34.94391, 64.41437],
- [36.23129, 64.10945],
- [37.01273, 63.84983],
- [37.14197, 64.33471],
- [36.539579, 64.76446],
- [37.17604, 65.14322],
- [39.59345, 64.52079],
- [40.4356, 64.76446],
- [39.7626, 65.49682],
- [42.09309, 66.47623],
- [43.01604, 66.41858],
- [43.94975, 66.06908],
- [44.53226, 66.75634],
- [43.69839, 67.35245],
- [44.18795, 67.95051],
- [43.45282, 68.57079],
- [46.25, 68.25],
- [46.82134, 67.68997],
- [45.55517, 67.56652],
- [45.56202, 67.01005],
- [46.34915, 66.66767],
- [47.89416, 66.88455],
- [48.13876, 67.52238],
- [50.22766, 67.99867],
- [53.71743, 68.85738],
- [54.47171, 68.80815],
- [53.48582, 68.20131],
- [54.72628, 68.09702],
- [55.44268, 68.43866],
- [57.31702, 68.46628],
- [58.802, 68.88082],
- [59.94142, 68.27844],
- [61.07784, 68.94069],
- [60.03, 69.52],
- [60.55, 69.85],
- [63.504, 69.54739],
- [64.888115, 69.234835],
- [68.51216, 68.09233],
- [69.18068, 68.61563],
- [68.16444, 69.14436],
- [68.13522, 69.35649],
- [66.93008, 69.45461],
- [67.25976, 69.92873],
- [66.72492, 70.70889],
- [66.69466, 71.02897],
- [68.54006, 71.9345],
- [69.19636, 72.84336],
- [69.94, 73.04],
- [72.58754, 72.77629],
- [72.79603, 72.22006],
- [71.84811, 71.40898],
- [72.47011, 71.09019],
- [72.79188, 70.39114],
- [72.5647, 69.02085],
- [73.66787, 68.4079],
- [73.2387, 67.7404],
- [71.28, 66.32],
- [72.42301, 66.17267],
- [72.82077, 66.53267],
- [73.92099, 66.78946],
- [74.18651, 67.28429],
- [75.052, 67.76047],
- [74.46926, 68.32899],
- [74.93584, 68.98918],
- [73.84236, 69.07146],
- [73.60187, 69.62763],
- [74.3998, 70.63175],
- [73.1011, 71.44717],
- [74.89082, 72.12119],
- [74.65926, 72.83227],
- [75.15801, 72.85497],
- [75.68351, 72.30056],
- [75.28898, 71.33556],
- [76.35911, 71.15287],
- [75.90313, 71.87401],
- [77.57665, 72.26717],
- [79.65202, 72.32011],
- [81.5, 71.75],
- [80.61071, 72.58285],
- [80.51109, 73.6482],
- [82.25, 73.85],
- [84.65526, 73.80591],
- [86.8223, 73.93688],
- [86.00956, 74.45967],
- [87.16682, 75.11643],
- [88.31571, 75.14393],
- [90.26, 75.64],
- [92.90058, 75.77333],
- [93.23421, 76.0472],
- [95.86, 76.14],
- [96.67821, 75.91548],
- [98.92254, 76.44689],
- [100.75967, 76.43028],
- [101.03532, 76.86189],
- [101.99084, 77.28754],
- [104.3516, 77.69792],
- [106.06664, 77.37389],
- [104.705, 77.1274],
- [106.97013, 76.97419]
- ]
- ],
- [
- [
- [105.07547, 78.30689],
- [99.43814, 77.921],
- [101.2649, 79.23399],
- [102.08635, 79.34641],
- [102.837815, 79.28129],
- [105.37243, 78.71334],
- [105.07547, 78.30689]
- ]
- ],
- [
- [
- [51.136187, 80.54728],
- [49.793685, 80.415428],
- [48.894411, 80.339567],
- [48.754937, 80.175468],
- [47.586119, 80.010181],
- [46.502826, 80.247247],
- [47.072455, 80.559424],
- [44.846958, 80.58981],
- [46.799139, 80.771918],
- [48.318477, 80.78401],
- [48.522806, 80.514569],
- [49.09719, 80.753986],
- [50.039768, 80.918885],
- [51.522933, 80.699726],
- [51.136187, 80.54728]
- ]
- ],
- [
- [
- [99.93976, 78.88094],
- [97.75794, 78.7562],
- [94.97259, 79.044745],
- [93.31288, 79.4265],
- [92.5454, 80.14379],
- [91.18107, 80.34146],
- [93.77766, 81.0246],
- [95.940895, 81.2504],
- [97.88385, 80.746975],
- [100.186655, 79.780135],
- [99.93976, 78.88094]
- ]
- ]
- ]
- },
- "id": "RUS"
- },
- {
- "type": "Feature",
- "properties": { "name": "Rwanda" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [30.419105, -1.134659],
- [30.816135, -1.698914],
- [30.758309, -2.28725],
- [30.469696, -2.413858],
- [29.938359, -2.348487],
- [29.632176, -2.917858],
- [29.024926, -2.839258],
- [29.117479, -2.292211],
- [29.254835, -2.21511],
- [29.291887, -1.620056],
- [29.579466, -1.341313],
- [29.821519, -1.443322],
- [30.419105, -1.134659]
- ]
- ]
- },
- "id": "RWA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Western Sahara" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-8.794884, 27.120696],
- [-8.817828, 27.656426],
- [-8.66559, 27.656426],
- [-8.665124, 27.589479],
- [-8.6844, 27.395744],
- [-8.687294, 25.881056],
- [-11.969419, 25.933353],
- [-11.937224, 23.374594],
- [-12.874222, 23.284832],
- [-13.118754, 22.77122],
- [-12.929102, 21.327071],
- [-16.845194, 21.333323],
- [-17.063423, 20.999752],
- [-17.020428, 21.42231],
- [-17.002962, 21.420734],
- [-14.750955, 21.5006],
- [-14.630833, 21.86094],
- [-14.221168, 22.310163],
- [-13.89111, 23.691009],
- [-12.500963, 24.770116],
- [-12.030759, 26.030866],
- [-11.71822, 26.104092],
- [-11.392555, 26.883424],
- [-10.551263, 26.990808],
- [-10.189424, 26.860945],
- [-9.735343, 26.860945],
- [-9.413037, 27.088476],
- [-8.794884, 27.120696]
- ]
- ]
- },
- "id": "ESH"
- },
- {
- "type": "Feature",
- "properties": { "name": "Saudi Arabia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [42.779332, 16.347891],
- [42.649573, 16.774635],
- [42.347989, 17.075806],
- [42.270888, 17.474722],
- [41.754382, 17.833046],
- [41.221391, 18.6716],
- [40.939341, 19.486485],
- [40.247652, 20.174635],
- [39.801685, 20.338862],
- [39.139399, 21.291905],
- [39.023696, 21.986875],
- [39.066329, 22.579656],
- [38.492772, 23.688451],
- [38.02386, 24.078686],
- [37.483635, 24.285495],
- [37.154818, 24.858483],
- [37.209491, 25.084542],
- [36.931627, 25.602959],
- [36.639604, 25.826228],
- [36.249137, 26.570136],
- [35.640182, 27.37652],
- [35.130187, 28.063352],
- [34.632336, 28.058546],
- [34.787779, 28.607427],
- [34.83222, 28.957483],
- [34.956037, 29.356555],
- [36.068941, 29.197495],
- [36.501214, 29.505254],
- [36.740528, 29.865283],
- [37.503582, 30.003776],
- [37.66812, 30.338665],
- [37.998849, 30.5085],
- [37.002166, 31.508413],
- [39.004886, 32.010217],
- [39.195468, 32.161009],
- [40.399994, 31.889992],
- [41.889981, 31.190009],
- [44.709499, 29.178891],
- [46.568713, 29.099025],
- [47.459822, 29.002519],
- [47.708851, 28.526063],
- [48.416094, 28.552004],
- [48.807595, 27.689628],
- [49.299554, 27.461218],
- [49.470914, 27.109999],
- [50.152422, 26.689663],
- [50.212935, 26.277027],
- [50.113303, 25.943972],
- [50.239859, 25.60805],
- [50.527387, 25.327808],
- [50.660557, 24.999896],
- [50.810108, 24.754743],
- [51.112415, 24.556331],
- [51.389608, 24.627386],
- [51.579519, 24.245497],
- [51.617708, 24.014219],
- [52.000733, 23.001154],
- [55.006803, 22.496948],
- [55.208341, 22.70833],
- [55.666659, 22.000001],
- [54.999982, 19.999994],
- [52.00001, 19.000003],
- [49.116672, 18.616668],
- [48.183344, 18.166669],
- [47.466695, 17.116682],
- [47.000005, 16.949999],
- [46.749994, 17.283338],
- [46.366659, 17.233315],
- [45.399999, 17.333335],
- [45.216651, 17.433329],
- [44.062613, 17.410359],
- [43.791519, 17.319977],
- [43.380794, 17.579987],
- [43.115798, 17.08844],
- [43.218375, 16.66689],
- [42.779332, 16.347891]
- ]
- ]
- },
- "id": "SAU"
- },
- {
- "type": "Feature",
- "properties": { "name": "Sudan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [33.963393, 9.464285],
- [33.824963, 9.484061],
- [33.842131, 9.981915],
- [33.721959, 10.325262],
- [33.206938, 10.720112],
- [33.086766, 11.441141],
- [33.206938, 12.179338],
- [32.743419, 12.248008],
- [32.67475, 12.024832],
- [32.073892, 11.97333],
- [32.314235, 11.681484],
- [32.400072, 11.080626],
- [31.850716, 10.531271],
- [31.352862, 9.810241],
- [30.837841, 9.707237],
- [29.996639, 10.290927],
- [29.618957, 10.084919],
- [29.515953, 9.793074],
- [29.000932, 9.604232],
- [28.966597, 9.398224],
- [27.97089, 9.398224],
- [27.833551, 9.604232],
- [27.112521, 9.638567],
- [26.752006, 9.466893],
- [26.477328, 9.55273],
- [25.962307, 10.136421],
- [25.790633, 10.411099],
- [25.069604, 10.27376],
- [24.794926, 9.810241],
- [24.537415, 8.917538],
- [24.194068, 8.728696],
- [23.88698, 8.61973],
- [23.805813, 8.666319],
- [23.459013, 8.954286],
- [23.394779, 9.265068],
- [23.55725, 9.681218],
- [23.554304, 10.089255],
- [22.977544, 10.714463],
- [22.864165, 11.142395],
- [22.87622, 11.38461],
- [22.50869, 11.67936],
- [22.49762, 12.26024],
- [22.28801, 12.64605],
- [21.93681, 12.58818],
- [22.03759, 12.95546],
- [22.29658, 13.37232],
- [22.18329, 13.78648],
- [22.51202, 14.09318],
- [22.30351, 14.32682],
- [22.56795, 14.94429],
- [23.02459, 15.68072],
- [23.88689, 15.61084],
- [23.83766, 19.58047],
- [23.85, 20],
- [25, 20.00304],
- [25, 22],
- [29.02, 22],
- [32.9, 22],
- [36.86623, 22],
- [37.18872, 21.01885],
- [36.96941, 20.83744],
- [37.1147, 19.80796],
- [37.48179, 18.61409],
- [37.86276, 18.36786],
- [38.41009, 17.998307],
- [37.904, 17.42754],
- [37.16747, 17.26314],
- [36.85253, 16.95655],
- [36.75389, 16.29186],
- [36.32322, 14.82249],
- [36.42951, 14.42211],
- [36.27022, 13.56333],
- [35.86363, 12.57828],
- [35.26049, 12.08286],
- [34.83163, 11.31896],
- [34.73115, 10.91017],
- [34.25745, 10.63009],
- [33.96162, 9.58358],
- [33.963393, 9.464285]
- ]
- ]
- },
- "id": "SDN"
- },
- {
- "type": "Feature",
- "properties": { "name": "South Sudan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [33.963393, 9.464285],
- [33.97498, 8.68456],
- [33.8255, 8.37916],
- [33.2948, 8.35458],
- [32.95418, 7.78497],
- [33.56829, 7.71334],
- [34.0751, 7.22595],
- [34.25032, 6.82607],
- [34.70702, 6.59422],
- [35.298007, 5.506],
- [34.620196, 4.847123],
- [34.005, 4.249885],
- [33.39, 3.79],
- [32.68642, 3.79232],
- [31.88145, 3.55827],
- [31.24556, 3.7819],
- [30.83385, 3.50917],
- [29.95349, 4.1737],
- [29.715995, 4.600805],
- [29.159078, 4.389267],
- [28.696678, 4.455077],
- [28.428994, 4.287155],
- [27.979977, 4.408413],
- [27.374226, 5.233944],
- [27.213409, 5.550953],
- [26.465909, 5.946717],
- [26.213418, 6.546603],
- [25.796648, 6.979316],
- [25.124131, 7.500085],
- [25.114932, 7.825104],
- [24.567369, 8.229188],
- [23.88698, 8.61973],
- [24.194068, 8.728696],
- [24.537415, 8.917538],
- [24.794926, 9.810241],
- [25.069604, 10.27376],
- [25.790633, 10.411099],
- [25.962307, 10.136421],
- [26.477328, 9.55273],
- [26.752006, 9.466893],
- [27.112521, 9.638567],
- [27.833551, 9.604232],
- [27.97089, 9.398224],
- [28.966597, 9.398224],
- [29.000932, 9.604232],
- [29.515953, 9.793074],
- [29.618957, 10.084919],
- [29.996639, 10.290927],
- [30.837841, 9.707237],
- [31.352862, 9.810241],
- [31.850716, 10.531271],
- [32.400072, 11.080626],
- [32.314235, 11.681484],
- [32.073892, 11.97333],
- [32.67475, 12.024832],
- [32.743419, 12.248008],
- [33.206938, 12.179338],
- [33.086766, 11.441141],
- [33.206938, 10.720112],
- [33.721959, 10.325262],
- [33.842131, 9.981915],
- [33.824963, 9.484061],
- [33.963393, 9.464285]
- ]
- ]
- },
- "id": "SDS"
- },
- {
- "type": "Feature",
- "properties": { "name": "Senegal" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-16.713729, 13.594959],
- [-17.126107, 14.373516],
- [-17.625043, 14.729541],
- [-17.185173, 14.919477],
- [-16.700706, 15.621527],
- [-16.463098, 16.135036],
- [-16.12069, 16.455663],
- [-15.623666, 16.369337],
- [-15.135737, 16.587282],
- [-14.577348, 16.598264],
- [-14.099521, 16.304302],
- [-13.435738, 16.039383],
- [-12.830658, 15.303692],
- [-12.17075, 14.616834],
- [-12.124887, 13.994727],
- [-11.927716, 13.422075],
- [-11.553398, 13.141214],
- [-11.467899, 12.754519],
- [-11.513943, 12.442988],
- [-11.658301, 12.386583],
- [-12.203565, 12.465648],
- [-12.278599, 12.35444],
- [-12.499051, 12.33209],
- [-13.217818, 12.575874],
- [-13.700476, 12.586183],
- [-15.548477, 12.62817],
- [-15.816574, 12.515567],
- [-16.147717, 12.547762],
- [-16.677452, 12.384852],
- [-16.841525, 13.151394],
- [-15.931296, 13.130284],
- [-15.691001, 13.270353],
- [-15.511813, 13.27857],
- [-15.141163, 13.509512],
- [-14.712197, 13.298207],
- [-14.277702, 13.280585],
- [-13.844963, 13.505042],
- [-14.046992, 13.794068],
- [-14.376714, 13.62568],
- [-14.687031, 13.630357],
- [-15.081735, 13.876492],
- [-15.39877, 13.860369],
- [-15.624596, 13.623587],
- [-16.713729, 13.594959]
- ]
- ]
- },
- "id": "SEN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Solomon Islands" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [162.119025, -10.482719],
- [162.398646, -10.826367],
- [161.700032, -10.820011],
- [161.319797, -10.204751],
- [161.917383, -10.446701],
- [162.119025, -10.482719]
- ]
- ],
- [
- [
- [160.852229, -9.872937],
- [160.462588, -9.89521],
- [159.849447, -9.794027],
- [159.640003, -9.63998],
- [159.702945, -9.24295],
- [160.362956, -9.400304],
- [160.688518, -9.610162],
- [160.852229, -9.872937]
- ]
- ],
- [
- [
- [161.679982, -9.599982],
- [161.529397, -9.784312],
- [160.788253, -8.917543],
- [160.579997, -8.320009],
- [160.920028, -8.320009],
- [161.280006, -9.120011],
- [161.679982, -9.599982]
- ]
- ],
- [
- [
- [159.875027, -8.33732],
- [159.917402, -8.53829],
- [159.133677, -8.114181],
- [158.586114, -7.754824],
- [158.21115, -7.421872],
- [158.359978, -7.320018],
- [158.820001, -7.560003],
- [159.640003, -8.020027],
- [159.875027, -8.33732]
- ]
- ],
- [
- [
- [157.538426, -7.34782],
- [157.33942, -7.404767],
- [156.90203, -7.176874],
- [156.491358, -6.765943],
- [156.542828, -6.599338],
- [157.14, -7.021638],
- [157.538426, -7.34782]
- ]
- ]
- ]
- },
- "id": "SLB"
- },
- {
- "type": "Feature",
- "properties": { "name": "Sierra Leone" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-11.438779, 6.785917],
- [-11.708195, 6.860098],
- [-12.428099, 7.262942],
- [-12.949049, 7.798646],
- [-13.124025, 8.163946],
- [-13.24655, 8.903049],
- [-12.711958, 9.342712],
- [-12.596719, 9.620188],
- [-12.425929, 9.835834],
- [-12.150338, 9.858572],
- [-11.917277, 10.046984],
- [-11.117481, 10.045873],
- [-10.839152, 9.688246],
- [-10.622395, 9.26791],
- [-10.65477, 8.977178],
- [-10.494315, 8.715541],
- [-10.505477, 8.348896],
- [-10.230094, 8.406206],
- [-10.695595, 7.939464],
- [-11.146704, 7.396706],
- [-11.199802, 7.105846],
- [-11.438779, 6.785917]
- ]
- ]
- },
- "id": "SLE"
- },
- {
- "type": "Feature",
- "properties": { "name": "El Salvador" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-87.793111, 13.38448],
- [-87.904112, 13.149017],
- [-88.483302, 13.163951],
- [-88.843228, 13.259734],
- [-89.256743, 13.458533],
- [-89.812394, 13.520622],
- [-90.095555, 13.735338],
- [-90.064678, 13.88197],
- [-89.721934, 14.134228],
- [-89.534219, 14.244816],
- [-89.587343, 14.362586],
- [-89.353326, 14.424133],
- [-89.058512, 14.340029],
- [-88.843073, 14.140507],
- [-88.541231, 13.980155],
- [-88.503998, 13.845486],
- [-88.065343, 13.964626],
- [-87.859515, 13.893312],
- [-87.723503, 13.78505],
- [-87.793111, 13.38448]
- ]
- ]
- },
- "id": "SLV"
- },
- {
- "type": "Feature",
- "properties": { "name": "Somaliland" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [48.93813, 9.451749],
- [48.486736, 8.837626],
- [47.78942, 8.003],
- [46.948328, 7.996877],
- [43.67875, 9.18358],
- [43.296975, 9.540477],
- [42.92812, 10.02194],
- [42.55876, 10.57258],
- [42.776852, 10.926879],
- [43.145305, 11.46204],
- [43.47066, 11.27771],
- [43.666668, 10.864169],
- [44.117804, 10.445538],
- [44.614259, 10.442205],
- [45.556941, 10.698029],
- [46.645401, 10.816549],
- [47.525658, 11.127228],
- [48.021596, 11.193064],
- [48.378784, 11.375482],
- [48.948206, 11.410622],
- [48.942005, 11.394266],
- [48.938491, 10.982327],
- [48.938233, 9.9735],
- [48.93813, 9.451749]
- ]
- ]
- },
- "id": "ABV"
- },
- {
- "type": "Feature",
- "properties": { "name": "Somalia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [49.72862, 11.5789],
- [50.25878, 11.67957],
- [50.73202, 12.0219],
- [51.1112, 12.02464],
- [51.13387, 11.74815],
- [51.04153, 11.16651],
- [51.04531, 10.6409],
- [50.83418, 10.27972],
- [50.55239, 9.19874],
- [50.07092, 8.08173],
- [49.4527, 6.80466],
- [48.59455, 5.33911],
- [47.74079, 4.2194],
- [46.56476, 2.85529],
- [45.56399, 2.04576],
- [44.06815, 1.05283],
- [43.13597, 0.2922],
- [42.04157, -0.91916],
- [41.81095, -1.44647],
- [41.58513, -1.68325],
- [40.993, -0.85829],
- [40.98105, 2.78452],
- [41.855083, 3.918912],
- [42.12861, 4.23413],
- [42.76967, 4.25259],
- [43.66087, 4.95755],
- [44.9636, 5.00162],
- [47.78942, 8.003],
- [48.486736, 8.837626],
- [48.93813, 9.451749],
- [48.938233, 9.9735],
- [48.938491, 10.982327],
- [48.942005, 11.394266],
- [48.948205, 11.410617],
- [49.26776, 11.43033],
- [49.72862, 11.5789]
- ]
- ]
- },
- "id": "SOM"
- },
- {
- "type": "Feature",
- "properties": { "name": "Republic of Serbia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [20.874313, 45.416375],
- [21.483526, 45.18117],
- [21.562023, 44.768947],
- [22.145088, 44.478422],
- [22.459022, 44.702517],
- [22.705726, 44.578003],
- [22.474008, 44.409228],
- [22.65715, 44.234923],
- [22.410446, 44.008063],
- [22.500157, 43.642814],
- [22.986019, 43.211161],
- [22.604801, 42.898519],
- [22.436595, 42.580321],
- [22.545012, 42.461362],
- [22.380526, 42.32026],
- [21.91708, 42.30364],
- [21.576636, 42.245224],
- [21.54332, 42.32025],
- [21.66292, 42.43922],
- [21.77505, 42.6827],
- [21.63302, 42.67717],
- [21.43866, 42.86255],
- [21.27421, 42.90959],
- [21.143395, 43.068685],
- [20.95651, 43.13094],
- [20.81448, 43.27205],
- [20.63508, 43.21671],
- [20.49679, 42.88469],
- [20.25758, 42.81275],
- [20.3398, 42.89852],
- [19.95857, 43.10604],
- [19.63, 43.21378],
- [19.48389, 43.35229],
- [19.21852, 43.52384],
- [19.454, 43.5681],
- [19.59976, 44.03847],
- [19.11761, 44.42307],
- [19.36803, 44.863],
- [19.00548, 44.86023],
- [19.390476, 45.236516],
- [19.072769, 45.521511],
- [18.82982, 45.90888],
- [19.596045, 46.17173],
- [20.220192, 46.127469],
- [20.762175, 45.734573],
- [20.874313, 45.416375]
- ]
- ]
- },
- "id": "SRB"
- },
- {
- "type": "Feature",
- "properties": { "name": "Suriname" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-57.147436, 5.97315],
- [-55.949318, 5.772878],
- [-55.84178, 5.953125],
- [-55.03325, 6.025291],
- [-53.958045, 5.756548],
- [-54.478633, 4.896756],
- [-54.399542, 4.212611],
- [-54.006931, 3.620038],
- [-54.181726, 3.18978],
- [-54.269705, 2.732392],
- [-54.524754, 2.311849],
- [-55.097587, 2.523748],
- [-55.569755, 2.421506],
- [-55.973322, 2.510364],
- [-56.073342, 2.220795],
- [-55.9056, 2.021996],
- [-55.995698, 1.817667],
- [-56.539386, 1.899523],
- [-57.150098, 2.768927],
- [-57.281433, 3.333492],
- [-57.601569, 3.334655],
- [-58.044694, 4.060864],
- [-57.86021, 4.576801],
- [-57.914289, 4.812626],
- [-57.307246, 5.073567],
- [-57.147436, 5.97315]
- ]
- ]
- },
- "id": "SUR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Slovakia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [18.853144, 49.49623],
- [18.909575, 49.435846],
- [19.320713, 49.571574],
- [19.825023, 49.217125],
- [20.415839, 49.431453],
- [20.887955, 49.328772],
- [21.607808, 49.470107],
- [22.558138, 49.085738],
- [22.280842, 48.825392],
- [22.085608, 48.422264],
- [21.872236, 48.319971],
- [20.801294, 48.623854],
- [20.473562, 48.56285],
- [20.239054, 48.327567],
- [19.769471, 48.202691],
- [19.661364, 48.266615],
- [19.174365, 48.111379],
- [18.777025, 48.081768],
- [18.696513, 47.880954],
- [17.857133, 47.758429],
- [17.488473, 47.867466],
- [16.979667, 48.123497],
- [16.879983, 48.470013],
- [16.960288, 48.596982],
- [17.101985, 48.816969],
- [17.545007, 48.800019],
- [17.886485, 48.903475],
- [17.913512, 48.996493],
- [18.104973, 49.043983],
- [18.170498, 49.271515],
- [18.399994, 49.315001],
- [18.554971, 49.495015],
- [18.853144, 49.49623]
- ]
- ]
- },
- "id": "SVK"
- },
- {
- "type": "Feature",
- "properties": { "name": "Slovenia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [13.806475, 46.509306],
- [14.632472, 46.431817],
- [15.137092, 46.658703],
- [16.011664, 46.683611],
- [16.202298, 46.852386],
- [16.370505, 46.841327],
- [16.564808, 46.503751],
- [15.768733, 46.238108],
- [15.67153, 45.834154],
- [15.323954, 45.731783],
- [15.327675, 45.452316],
- [14.935244, 45.471695],
- [14.595109, 45.634941],
- [14.411968, 45.466166],
- [13.71506, 45.500324],
- [13.93763, 45.591016],
- [13.69811, 46.016778],
- [13.806475, 46.509306]
- ]
- ]
- },
- "id": "SVN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Sweden" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [22.183173, 65.723741],
- [21.213517, 65.026005],
- [21.369631, 64.413588],
- [19.778876, 63.609554],
- [17.847779, 62.7494],
- [17.119555, 61.341166],
- [17.831346, 60.636583],
- [18.787722, 60.081914],
- [17.869225, 58.953766],
- [16.829185, 58.719827],
- [16.44771, 57.041118],
- [15.879786, 56.104302],
- [14.666681, 56.200885],
- [14.100721, 55.407781],
- [12.942911, 55.361737],
- [12.625101, 56.30708],
- [11.787942, 57.441817],
- [11.027369, 58.856149],
- [11.468272, 59.432393],
- [12.300366, 60.117933],
- [12.631147, 61.293572],
- [11.992064, 61.800362],
- [11.930569, 63.128318],
- [12.579935, 64.066219],
- [13.571916, 64.049114],
- [13.919905, 64.445421],
- [13.55569, 64.787028],
- [15.108411, 66.193867],
- [16.108712, 67.302456],
- [16.768879, 68.013937],
- [17.729182, 68.010552],
- [17.993868, 68.567391],
- [19.87856, 68.407194],
- [20.025269, 69.065139],
- [20.645593, 69.106247],
- [21.978535, 68.616846],
- [23.539473, 67.936009],
- [23.56588, 66.396051],
- [23.903379, 66.006927],
- [22.183173, 65.723741]
- ]
- ]
- },
- "id": "SWE"
- },
- {
- "type": "Feature",
- "properties": { "name": "Swaziland" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [32.071665, -26.73382],
- [31.86806, -27.177927],
- [31.282773, -27.285879],
- [30.685962, -26.743845],
- [30.676609, -26.398078],
- [30.949667, -26.022649],
- [31.04408, -25.731452],
- [31.333158, -25.660191],
- [31.837778, -25.843332],
- [31.985779, -26.29178],
- [32.071665, -26.73382]
- ]
- ]
- },
- "id": "SWZ"
- },
- {
- "type": "Feature",
- "properties": { "name": "Syria" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [38.792341, 33.378686],
- [36.834062, 32.312938],
- [35.719918, 32.709192],
- [35.700798, 32.716014],
- [35.836397, 32.868123],
- [35.821101, 33.277426],
- [36.06646, 33.824912],
- [36.61175, 34.201789],
- [36.448194, 34.593935],
- [35.998403, 34.644914],
- [35.905023, 35.410009],
- [36.149763, 35.821535],
- [36.41755, 36.040617],
- [36.685389, 36.259699],
- [36.739494, 36.81752],
- [37.066761, 36.623036],
- [38.167727, 36.90121],
- [38.699891, 36.712927],
- [39.52258, 36.716054],
- [40.673259, 37.091276],
- [41.212089, 37.074352],
- [42.349591, 37.229873],
- [41.837064, 36.605854],
- [41.289707, 36.358815],
- [41.383965, 35.628317],
- [41.006159, 34.419372],
- [38.792341, 33.378686]
- ]
- ]
- },
- "id": "SYR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Chad" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [14.495787, 12.859396],
- [14.595781, 13.330427],
- [13.954477, 13.353449],
- [13.956699, 13.996691],
- [13.540394, 14.367134],
- [13.97217, 15.68437],
- [15.247731, 16.627306],
- [15.300441, 17.92795],
- [15.685741, 19.95718],
- [15.903247, 20.387619],
- [15.487148, 20.730415],
- [15.47106, 21.04845],
- [15.096888, 21.308519],
- [14.8513, 22.86295],
- [15.86085, 23.40972],
- [19.84926, 21.49509],
- [23.83766, 19.58047],
- [23.88689, 15.61084],
- [23.02459, 15.68072],
- [22.56795, 14.94429],
- [22.30351, 14.32682],
- [22.51202, 14.09318],
- [22.18329, 13.78648],
- [22.29658, 13.37232],
- [22.03759, 12.95546],
- [21.93681, 12.58818],
- [22.28801, 12.64605],
- [22.49762, 12.26024],
- [22.50869, 11.67936],
- [22.87622, 11.38461],
- [22.864165, 11.142395],
- [22.231129, 10.971889],
- [21.723822, 10.567056],
- [21.000868, 9.475985],
- [20.059685, 9.012706],
- [19.094008, 9.074847],
- [18.81201, 8.982915],
- [18.911022, 8.630895],
- [18.389555, 8.281304],
- [17.96493, 7.890914],
- [16.705988, 7.508328],
- [16.456185, 7.734774],
- [16.290562, 7.754307],
- [16.106232, 7.497088],
- [15.27946, 7.421925],
- [15.436092, 7.692812],
- [15.120866, 8.38215],
- [14.979996, 8.796104],
- [14.544467, 8.965861],
- [13.954218, 9.549495],
- [14.171466, 10.021378],
- [14.627201, 9.920919],
- [14.909354, 9.992129],
- [15.467873, 9.982337],
- [14.923565, 10.891325],
- [14.960152, 11.555574],
- [14.89336, 12.21905],
- [14.495787, 12.859396]
- ]
- ]
- },
- "id": "TCD"
- },
- {
- "type": "Feature",
- "properties": { "name": "Togo" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [1.865241, 6.142158],
- [1.060122, 5.928837],
- [0.836931, 6.279979],
- [0.570384, 6.914359],
- [0.490957, 7.411744],
- [0.712029, 8.312465],
- [0.461192, 8.677223],
- [0.365901, 9.465004],
- [0.36758, 10.191213],
- [-0.049785, 10.706918],
- [0.023803, 11.018682],
- [0.899563, 10.997339],
- [0.772336, 10.470808],
- [1.077795, 10.175607],
- [1.425061, 9.825395],
- [1.463043, 9.334624],
- [1.664478, 9.12859],
- [1.618951, 6.832038],
- [1.865241, 6.142158]
- ]
- ]
- },
- "id": "TGO"
- },
- {
- "type": "Feature",
- "properties": { "name": "Thailand" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [102.584932, 12.186595],
- [101.687158, 12.64574],
- [100.83181, 12.627085],
- [100.978467, 13.412722],
- [100.097797, 13.406856],
- [100.018733, 12.307001],
- [99.478921, 10.846367],
- [99.153772, 9.963061],
- [99.222399, 9.239255],
- [99.873832, 9.207862],
- [100.279647, 8.295153],
- [100.459274, 7.429573],
- [101.017328, 6.856869],
- [101.623079, 6.740622],
- [102.141187, 6.221636],
- [101.814282, 5.810808],
- [101.154219, 5.691384],
- [101.075516, 6.204867],
- [100.259596, 6.642825],
- [100.085757, 6.464489],
- [99.690691, 6.848213],
- [99.519642, 7.343454],
- [98.988253, 7.907993],
- [98.503786, 8.382305],
- [98.339662, 7.794512],
- [98.150009, 8.350007],
- [98.25915, 8.973923],
- [98.553551, 9.93296],
- [99.038121, 10.960546],
- [99.587286, 11.892763],
- [99.196354, 12.804748],
- [99.212012, 13.269294],
- [99.097755, 13.827503],
- [98.430819, 14.622028],
- [98.192074, 15.123703],
- [98.537376, 15.308497],
- [98.903348, 16.177824],
- [98.493761, 16.837836],
- [97.859123, 17.567946],
- [97.375896, 18.445438],
- [97.797783, 18.62708],
- [98.253724, 19.708203],
- [98.959676, 19.752981],
- [99.543309, 20.186598],
- [100.115988, 20.41785],
- [100.548881, 20.109238],
- [100.606294, 19.508344],
- [101.282015, 19.462585],
- [101.035931, 18.408928],
- [101.059548, 17.512497],
- [102.113592, 18.109102],
- [102.413005, 17.932782],
- [102.998706, 17.961695],
- [103.200192, 18.309632],
- [103.956477, 18.240954],
- [104.716947, 17.428859],
- [104.779321, 16.441865],
- [105.589039, 15.570316],
- [105.544338, 14.723934],
- [105.218777, 14.273212],
- [104.281418, 14.416743],
- [102.988422, 14.225721],
- [102.348099, 13.394247],
- [102.584932, 12.186595]
- ]
- ]
- },
- "id": "THA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Tajikistan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [71.014198, 40.244366],
- [70.648019, 39.935754],
- [69.55961, 40.103211],
- [69.464887, 39.526683],
- [70.549162, 39.604198],
- [71.784694, 39.279463],
- [73.675379, 39.431237],
- [73.928852, 38.505815],
- [74.257514, 38.606507],
- [74.864816, 38.378846],
- [74.829986, 37.990007],
- [74.980002, 37.41999],
- [73.948696, 37.421566],
- [73.260056, 37.495257],
- [72.63689, 37.047558],
- [72.193041, 36.948288],
- [71.844638, 36.738171],
- [71.448693, 37.065645],
- [71.541918, 37.905774],
- [71.239404, 37.953265],
- [71.348131, 38.258905],
- [70.806821, 38.486282],
- [70.376304, 38.138396],
- [70.270574, 37.735165],
- [70.116578, 37.588223],
- [69.518785, 37.608997],
- [69.196273, 37.151144],
- [68.859446, 37.344336],
- [68.135562, 37.023115],
- [67.83, 37.144994],
- [68.392033, 38.157025],
- [68.176025, 38.901553],
- [67.44222, 39.140144],
- [67.701429, 39.580478],
- [68.536416, 39.533453],
- [69.011633, 40.086158],
- [69.329495, 40.727824],
- [70.666622, 40.960213],
- [70.45816, 40.496495],
- [70.601407, 40.218527],
- [71.014198, 40.244366]
- ]
- ]
- },
- "id": "TJK"
- },
- {
- "type": "Feature",
- "properties": { "name": "Turkmenistan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [61.210817, 35.650072],
- [61.123071, 36.491597],
- [60.377638, 36.527383],
- [59.234762, 37.412988],
- [58.436154, 37.522309],
- [57.330434, 38.029229],
- [56.619366, 38.121394],
- [56.180375, 37.935127],
- [55.511578, 37.964117],
- [54.800304, 37.392421],
- [53.921598, 37.198918],
- [53.735511, 37.906136],
- [53.880929, 38.952093],
- [53.101028, 39.290574],
- [53.357808, 39.975286],
- [52.693973, 40.033629],
- [52.915251, 40.876523],
- [53.858139, 40.631034],
- [54.736845, 40.951015],
- [54.008311, 41.551211],
- [53.721713, 42.123191],
- [52.91675, 41.868117],
- [52.814689, 41.135371],
- [52.50246, 41.783316],
- [52.944293, 42.116034],
- [54.079418, 42.324109],
- [54.755345, 42.043971],
- [55.455251, 41.259859],
- [55.968191, 41.308642],
- [57.096391, 41.32231],
- [56.932215, 41.826026],
- [57.78653, 42.170553],
- [58.629011, 42.751551],
- [59.976422, 42.223082],
- [60.083341, 41.425146],
- [60.465953, 41.220327],
- [61.547179, 41.26637],
- [61.882714, 41.084857],
- [62.37426, 40.053886],
- [63.518015, 39.363257],
- [64.170223, 38.892407],
- [65.215999, 38.402695],
- [66.54615, 37.974685],
- [66.518607, 37.362784],
- [66.217385, 37.39379],
- [65.745631, 37.661164],
- [65.588948, 37.305217],
- [64.746105, 37.111818],
- [64.546479, 36.312073],
- [63.982896, 36.007957],
- [63.193538, 35.857166],
- [62.984662, 35.404041],
- [62.230651, 35.270664],
- [61.210817, 35.650072]
- ]
- ]
- },
- "id": "TKM"
- },
- {
- "type": "Feature",
- "properties": { "name": "East Timor" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [124.968682, -8.89279],
- [125.086246, -8.656887],
- [125.947072, -8.432095],
- [126.644704, -8.398247],
- [126.957243, -8.273345],
- [127.335928, -8.397317],
- [126.967992, -8.668256],
- [125.925885, -9.106007],
- [125.08852, -9.393173],
- [125.07002, -9.089987],
- [124.968682, -8.89279]
- ]
- ]
- },
- "id": "TLS"
- },
- {
- "type": "Feature",
- "properties": { "name": "Trinidad and Tobago" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-61.68, 10.76],
- [-61.105, 10.89],
- [-60.895, 10.855],
- [-60.935, 10.11],
- [-61.77, 10],
- [-61.95, 10.09],
- [-61.66, 10.365],
- [-61.68, 10.76]
- ]
- ]
- },
- "id": "TTO"
- },
- {
- "type": "Feature",
- "properties": { "name": "Tunisia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [9.48214, 30.307556],
- [9.055603, 32.102692],
- [8.439103, 32.506285],
- [8.430473, 32.748337],
- [7.612642, 33.344115],
- [7.524482, 34.097376],
- [8.140981, 34.655146],
- [8.376368, 35.479876],
- [8.217824, 36.433177],
- [8.420964, 36.946427],
- [9.509994, 37.349994],
- [10.210002, 37.230002],
- [10.18065, 36.724038],
- [11.028867, 37.092103],
- [11.100026, 36.899996],
- [10.600005, 36.41],
- [10.593287, 35.947444],
- [10.939519, 35.698984],
- [10.807847, 34.833507],
- [10.149593, 34.330773],
- [10.339659, 33.785742],
- [10.856836, 33.76874],
- [11.108501, 33.293343],
- [11.488787, 33.136996],
- [11.432253, 32.368903],
- [10.94479, 32.081815],
- [10.636901, 31.761421],
- [9.950225, 31.37607],
- [10.056575, 30.961831],
- [9.970017, 30.539325],
- [9.48214, 30.307556]
- ]
- ]
- },
- "id": "TUN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Turkey" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [36.913127, 41.335358],
- [38.347665, 40.948586],
- [39.512607, 41.102763],
- [40.373433, 41.013673],
- [41.554084, 41.535656],
- [42.619549, 41.583173],
- [43.582746, 41.092143],
- [43.752658, 40.740201],
- [43.656436, 40.253564],
- [44.400009, 40.005],
- [44.79399, 39.713003],
- [44.109225, 39.428136],
- [44.421403, 38.281281],
- [44.225756, 37.971584],
- [44.772699, 37.170445],
- [44.293452, 37.001514],
- [43.942259, 37.256228],
- [42.779126, 37.385264],
- [42.349591, 37.229873],
- [41.212089, 37.074352],
- [40.673259, 37.091276],
- [39.52258, 36.716054],
- [38.699891, 36.712927],
- [38.167727, 36.90121],
- [37.066761, 36.623036],
- [36.739494, 36.81752],
- [36.685389, 36.259699],
- [36.41755, 36.040617],
- [36.149763, 35.821535],
- [35.782085, 36.274995],
- [36.160822, 36.650606],
- [35.550936, 36.565443],
- [34.714553, 36.795532],
- [34.026895, 36.21996],
- [32.509158, 36.107564],
- [31.699595, 36.644275],
- [30.621625, 36.677865],
- [30.391096, 36.262981],
- [29.699976, 36.144357],
- [28.732903, 36.676831],
- [27.641187, 36.658822],
- [27.048768, 37.653361],
- [26.318218, 38.208133],
- [26.8047, 38.98576],
- [26.170785, 39.463612],
- [27.28002, 40.420014],
- [28.819978, 40.460011],
- [29.240004, 41.219991],
- [31.145934, 41.087622],
- [32.347979, 41.736264],
- [33.513283, 42.01896],
- [35.167704, 42.040225],
- [36.913127, 41.335358]
- ]
- ],
- [
- [
- [27.192377, 40.690566],
- [26.358009, 40.151994],
- [26.043351, 40.617754],
- [26.056942, 40.824123],
- [26.294602, 40.936261],
- [26.604196, 41.562115],
- [26.117042, 41.826905],
- [27.135739, 42.141485],
- [27.99672, 42.007359],
- [28.115525, 41.622886],
- [28.988443, 41.299934],
- [28.806438, 41.054962],
- [27.619017, 40.999823],
- [27.192377, 40.690566]
- ]
- ]
- ]
- },
- "id": "TUR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Taiwan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [121.777818, 24.394274],
- [121.175632, 22.790857],
- [120.74708, 21.970571],
- [120.220083, 22.814861],
- [120.106189, 23.556263],
- [120.69468, 24.538451],
- [121.495044, 25.295459],
- [121.951244, 24.997596],
- [121.777818, 24.394274]
- ]
- ]
- },
- "id": "TWN"
- },
- {
- "type": "Feature",
- "properties": { "name": "United Republic of Tanzania" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [33.903711, -0.95],
- [34.07262, -1.05982],
- [37.69869, -3.09699],
- [37.7669, -3.67712],
- [39.20222, -4.67677],
- [38.74054, -5.90895],
- [38.79977, -6.47566],
- [39.44, -6.84],
- [39.47, -7.1],
- [39.19469, -7.7039],
- [39.25203, -8.00781],
- [39.18652, -8.48551],
- [39.53574, -9.11237],
- [39.9496, -10.0984],
- [40.31659, -10.3171],
- [39.521, -10.89688],
- [38.427557, -11.285202],
- [37.82764, -11.26879],
- [37.47129, -11.56876],
- [36.775151, -11.594537],
- [36.514082, -11.720938],
- [35.312398, -11.439146],
- [34.559989, -11.52002],
- [34.28, -10.16],
- [33.940838, -9.693674],
- [33.73972, -9.41715],
- [32.759375, -9.230599],
- [32.191865, -8.930359],
- [31.556348, -8.762049],
- [31.157751, -8.594579],
- [30.74, -8.34],
- [30.2, -7.08],
- [29.62, -6.52],
- [29.419993, -5.939999],
- [29.519987, -5.419979],
- [29.339998, -4.499983],
- [29.753512, -4.452389],
- [30.11632, -4.09012],
- [30.50554, -3.56858],
- [30.75224, -3.35931],
- [30.74301, -3.03431],
- [30.52766, -2.80762],
- [30.46967, -2.41383],
- [30.758309, -2.28725],
- [30.816135, -1.698914],
- [30.419105, -1.134659],
- [30.76986, -1.01455],
- [31.86617, -1.02736],
- [33.903711, -0.95]
- ]
- ]
- },
- "id": "TZA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Uganda" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [31.86617, -1.02736],
- [30.76986, -1.01455],
- [30.419105, -1.134659],
- [29.821519, -1.443322],
- [29.579466, -1.341313],
- [29.587838, -0.587406],
- [29.8195, -0.2053],
- [29.875779, 0.59738],
- [30.086154, 1.062313],
- [30.468508, 1.583805],
- [30.85267, 1.849396],
- [31.174149, 2.204465],
- [30.77332, 2.33989],
- [30.83385, 3.50917],
- [31.24556, 3.7819],
- [31.88145, 3.55827],
- [32.68642, 3.79232],
- [33.39, 3.79],
- [34.005, 4.249885],
- [34.47913, 3.5556],
- [34.59607, 3.05374],
- [35.03599, 1.90584],
- [34.6721, 1.17694],
- [34.18, 0.515],
- [33.893569, 0.109814],
- [33.903711, -0.95],
- [31.86617, -1.02736]
- ]
- ]
- },
- "id": "UGA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Ukraine" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [31.785998, 52.101678],
- [32.159412, 52.061267],
- [32.412058, 52.288695],
- [32.715761, 52.238465],
- [33.7527, 52.335075],
- [34.391731, 51.768882],
- [34.141978, 51.566413],
- [34.224816, 51.255993],
- [35.022183, 51.207572],
- [35.377924, 50.773955],
- [35.356116, 50.577197],
- [36.626168, 50.225591],
- [37.39346, 50.383953],
- [38.010631, 49.915662],
- [38.594988, 49.926462],
- [40.069058, 49.601055],
- [40.080789, 49.30743],
- [39.674664, 48.783818],
- [39.895632, 48.232405],
- [39.738278, 47.898937],
- [38.770585, 47.825608],
- [38.255112, 47.5464],
- [38.223538, 47.10219],
- [37.425137, 47.022221],
- [36.759855, 46.6987],
- [35.823685, 46.645964],
- [34.962342, 46.273197],
- [35.020788, 45.651219],
- [35.510009, 45.409993],
- [36.529998, 45.46999],
- [36.334713, 45.113216],
- [35.239999, 44.939996],
- [33.882511, 44.361479],
- [33.326421, 44.564877],
- [33.546924, 45.034771],
- [32.454174, 45.327466],
- [32.630804, 45.519186],
- [33.588162, 45.851569],
- [33.298567, 46.080598],
- [31.74414, 46.333348],
- [31.675307, 46.706245],
- [30.748749, 46.5831],
- [30.377609, 46.03241],
- [29.603289, 45.293308],
- [29.149725, 45.464925],
- [28.679779, 45.304031],
- [28.233554, 45.488283],
- [28.485269, 45.596907],
- [28.659987, 45.939987],
- [28.933717, 46.25883],
- [28.862972, 46.437889],
- [29.072107, 46.517678],
- [29.170654, 46.379262],
- [29.759972, 46.349988],
- [30.024659, 46.423937],
- [29.83821, 46.525326],
- [29.908852, 46.674361],
- [29.559674, 46.928583],
- [29.415135, 47.346645],
- [29.050868, 47.510227],
- [29.122698, 47.849095],
- [28.670891, 48.118149],
- [28.259547, 48.155562],
- [27.522537, 48.467119],
- [26.857824, 48.368211],
- [26.619337, 48.220726],
- [26.19745, 48.220881],
- [25.945941, 47.987149],
- [25.207743, 47.891056],
- [24.866317, 47.737526],
- [24.402056, 47.981878],
- [23.760958, 47.985598],
- [23.142236, 48.096341],
- [22.710531, 47.882194],
- [22.64082, 48.15024],
- [22.085608, 48.422264],
- [22.280842, 48.825392],
- [22.558138, 49.085738],
- [22.776419, 49.027395],
- [22.51845, 49.476774],
- [23.426508, 50.308506],
- [23.922757, 50.424881],
- [24.029986, 50.705407],
- [23.527071, 51.578454],
- [24.005078, 51.617444],
- [24.553106, 51.888461],
- [25.327788, 51.910656],
- [26.337959, 51.832289],
- [27.454066, 51.592303],
- [28.241615, 51.572227],
- [28.617613, 51.427714],
- [28.992835, 51.602044],
- [29.254938, 51.368234],
- [30.157364, 51.416138],
- [30.555117, 51.319503],
- [30.619454, 51.822806],
- [30.927549, 52.042353],
- [31.785998, 52.101678]
- ]
- ]
- },
- "id": "UKR"
- },
- {
- "type": "Feature",
- "properties": { "name": "Uruguay" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-57.625133, -30.216295],
- [-56.976026, -30.109686],
- [-55.973245, -30.883076],
- [-55.60151, -30.853879],
- [-54.572452, -31.494511],
- [-53.787952, -32.047243],
- [-53.209589, -32.727666],
- [-53.650544, -33.202004],
- [-53.373662, -33.768378],
- [-53.806426, -34.396815],
- [-54.935866, -34.952647],
- [-55.67409, -34.752659],
- [-56.215297, -34.859836],
- [-57.139685, -34.430456],
- [-57.817861, -34.462547],
- [-58.427074, -33.909454],
- [-58.349611, -33.263189],
- [-58.132648, -33.040567],
- [-58.14244, -32.044504],
- [-57.874937, -31.016556],
- [-57.625133, -30.216295]
- ]
- ]
- },
- "id": "URY"
- },
- {
- "type": "Feature",
- "properties": { "name": "USA" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [-155.54211, 19.08348],
- [-155.68817, 18.91619],
- [-155.93665, 19.05939],
- [-155.90806, 19.33888],
- [-156.07347, 19.70294],
- [-156.02368, 19.81422],
- [-155.85008, 19.97729],
- [-155.91907, 20.17395],
- [-155.86108, 20.26721],
- [-155.78505, 20.2487],
- [-155.40214, 20.07975],
- [-155.22452, 19.99302],
- [-155.06226, 19.8591],
- [-154.80741, 19.50871],
- [-154.83147, 19.45328],
- [-155.22217, 19.23972],
- [-155.54211, 19.08348]
- ]
- ],
- [
- [
- [-156.07926, 20.64397],
- [-156.41445, 20.57241],
- [-156.58673, 20.783],
- [-156.70167, 20.8643],
- [-156.71055, 20.92676],
- [-156.61258, 21.01249],
- [-156.25711, 20.91745],
- [-155.99566, 20.76404],
- [-156.07926, 20.64397]
- ]
- ],
- [
- [
- [-156.75824, 21.17684],
- [-156.78933, 21.06873],
- [-157.32521, 21.09777],
- [-157.25027, 21.21958],
- [-156.75824, 21.17684]
- ]
- ],
- [
- [
- [-157.65283, 21.32217],
- [-157.70703, 21.26442],
- [-157.7786, 21.27729],
- [-158.12667, 21.31244],
- [-158.2538, 21.53919],
- [-158.29265, 21.57912],
- [-158.0252, 21.71696],
- [-157.94161, 21.65272],
- [-157.65283, 21.32217]
- ]
- ],
- [
- [
- [-159.34512, 21.982],
- [-159.46372, 21.88299],
- [-159.80051, 22.06533],
- [-159.74877, 22.1382],
- [-159.5962, 22.23618],
- [-159.36569, 22.21494],
- [-159.34512, 21.982]
- ]
- ],
- [
- [
- [-94.81758, 49.38905],
- [-94.64, 48.84],
- [-94.32914, 48.67074],
- [-93.63087, 48.60926],
- [-92.61, 48.45],
- [-91.64, 48.14],
- [-90.83, 48.27],
- [-89.6, 48.01],
- [-89.272917, 48.019808],
- [-88.378114, 48.302918],
- [-87.439793, 47.94],
- [-86.461991, 47.553338],
- [-85.652363, 47.220219],
- [-84.87608, 46.900083],
- [-84.779238, 46.637102],
- [-84.543749, 46.538684],
- [-84.6049, 46.4396],
- [-84.3367, 46.40877],
- [-84.14212, 46.512226],
- [-84.091851, 46.275419],
- [-83.890765, 46.116927],
- [-83.616131, 46.116927],
- [-83.469551, 45.994686],
- [-83.592851, 45.816894],
- [-82.550925, 45.347517],
- [-82.337763, 44.44],
- [-82.137642, 43.571088],
- [-82.43, 42.98],
- [-82.9, 42.43],
- [-83.12, 42.08],
- [-83.142, 41.975681],
- [-83.02981, 41.832796],
- [-82.690089, 41.675105],
- [-82.439278, 41.675105],
- [-81.277747, 42.209026],
- [-80.247448, 42.3662],
- [-78.939362, 42.863611],
- [-78.92, 42.965],
- [-79.01, 43.27],
- [-79.171674, 43.466339],
- [-78.72028, 43.625089],
- [-77.737885, 43.629056],
- [-76.820034, 43.628784],
- [-76.5, 44.018459],
- [-76.375, 44.09631],
- [-75.31821, 44.81645],
- [-74.867, 45.00048],
- [-73.34783, 45.00738],
- [-71.50506, 45.0082],
- [-71.405, 45.255],
- [-71.08482, 45.30524],
- [-70.66, 45.46],
- [-70.305, 45.915],
- [-69.99997, 46.69307],
- [-69.237216, 47.447781],
- [-68.905, 47.185],
- [-68.23444, 47.35486],
- [-67.79046, 47.06636],
- [-67.79134, 45.70281],
- [-67.13741, 45.13753],
- [-66.96466, 44.8097],
- [-68.03252, 44.3252],
- [-69.06, 43.98],
- [-70.11617, 43.68405],
- [-70.645476, 43.090238],
- [-70.81489, 42.8653],
- [-70.825, 42.335],
- [-70.495, 41.805],
- [-70.08, 41.78],
- [-70.185, 42.145],
- [-69.88497, 41.92283],
- [-69.96503, 41.63717],
- [-70.64, 41.475],
- [-71.12039, 41.49445],
- [-71.86, 41.32],
- [-72.295, 41.27],
- [-72.87643, 41.22065],
- [-73.71, 40.931102],
- [-72.24126, 41.11948],
- [-71.945, 40.93],
- [-73.345, 40.63],
- [-73.982, 40.628],
- [-73.952325, 40.75075],
- [-74.25671, 40.47351],
- [-73.96244, 40.42763],
- [-74.17838, 39.70926],
- [-74.90604, 38.93954],
- [-74.98041, 39.1964],
- [-75.20002, 39.24845],
- [-75.52805, 39.4985],
- [-75.32, 38.96],
- [-75.071835, 38.782032],
- [-75.05673, 38.40412],
- [-75.37747, 38.01551],
- [-75.94023, 37.21689],
- [-76.03127, 37.2566],
- [-75.72205, 37.93705],
- [-76.23287, 38.319215],
- [-76.35, 39.15],
- [-76.542725, 38.717615],
- [-76.32933, 38.08326],
- [-76.989998, 38.239992],
- [-76.30162, 37.917945],
- [-76.25874, 36.9664],
- [-75.9718, 36.89726],
- [-75.86804, 36.55125],
- [-75.72749, 35.55074],
- [-76.36318, 34.80854],
- [-77.397635, 34.51201],
- [-78.05496, 33.92547],
- [-78.55435, 33.86133],
- [-79.06067, 33.49395],
- [-79.20357, 33.15839],
- [-80.301325, 32.509355],
- [-80.86498, 32.0333],
- [-81.33629, 31.44049],
- [-81.49042, 30.72999],
- [-81.31371, 30.03552],
- [-80.98, 29.18],
- [-80.535585, 28.47213],
- [-80.53, 28.04],
- [-80.056539, 26.88],
- [-80.088015, 26.205765],
- [-80.13156, 25.816775],
- [-80.38103, 25.20616],
- [-80.68, 25.08],
- [-81.17213, 25.20126],
- [-81.33, 25.64],
- [-81.71, 25.87],
- [-82.24, 26.73],
- [-82.70515, 27.49504],
- [-82.85526, 27.88624],
- [-82.65, 28.55],
- [-82.93, 29.1],
- [-83.70959, 29.93656],
- [-84.1, 30.09],
- [-85.10882, 29.63615],
- [-85.28784, 29.68612],
- [-85.7731, 30.15261],
- [-86.4, 30.4],
- [-87.53036, 30.27433],
- [-88.41782, 30.3849],
- [-89.18049, 30.31598],
- [-89.593831, 30.159994],
- [-89.413735, 29.89419],
- [-89.43, 29.48864],
- [-89.21767, 29.29108],
- [-89.40823, 29.15961],
- [-89.77928, 29.30714],
- [-90.15463, 29.11743],
- [-90.880225, 29.148535],
- [-91.626785, 29.677],
- [-92.49906, 29.5523],
- [-93.22637, 29.78375],
- [-93.84842, 29.71363],
- [-94.69, 29.48],
- [-95.60026, 28.73863],
- [-96.59404, 28.30748],
- [-97.14, 27.83],
- [-97.37, 27.38],
- [-97.38, 26.69],
- [-97.33, 26.21],
- [-97.14, 25.87],
- [-97.53, 25.84],
- [-98.24, 26.06],
- [-99.02, 26.37],
- [-99.3, 26.84],
- [-99.52, 27.54],
- [-100.11, 28.11],
- [-100.45584, 28.69612],
- [-100.9576, 29.38071],
- [-101.6624, 29.7793],
- [-102.48, 29.76],
- [-103.11, 28.97],
- [-103.94, 29.27],
- [-104.45697, 29.57196],
- [-104.70575, 30.12173],
- [-105.03737, 30.64402],
- [-105.63159, 31.08383],
- [-106.1429, 31.39995],
- [-106.50759, 31.75452],
- [-108.24, 31.754854],
- [-108.24194, 31.34222],
- [-109.035, 31.34194],
- [-111.02361, 31.33472],
- [-113.30498, 32.03914],
- [-114.815, 32.52528],
- [-114.72139, 32.72083],
- [-115.99135, 32.61239],
- [-117.12776, 32.53534],
- [-117.295938, 33.046225],
- [-117.944, 33.621236],
- [-118.410602, 33.740909],
- [-118.519895, 34.027782],
- [-119.081, 34.078],
- [-119.438841, 34.348477],
- [-120.36778, 34.44711],
- [-120.62286, 34.60855],
- [-120.74433, 35.15686],
- [-121.71457, 36.16153],
- [-122.54747, 37.55176],
- [-122.51201, 37.78339],
- [-122.95319, 38.11371],
- [-123.7272, 38.95166],
- [-123.86517, 39.76699],
- [-124.39807, 40.3132],
- [-124.17886, 41.14202],
- [-124.2137, 41.99964],
- [-124.53284, 42.76599],
- [-124.14214, 43.70838],
- [-124.020535, 44.615895],
- [-123.89893, 45.52341],
- [-124.079635, 46.86475],
- [-124.39567, 47.72017],
- [-124.68721, 48.184433],
- [-124.566101, 48.379715],
- [-123.12, 48.04],
- [-122.58736, 47.096],
- [-122.34, 47.36],
- [-122.5, 48.18],
- [-122.84, 49],
- [-120, 49],
- [-117.03121, 49],
- [-116.04818, 49],
- [-113, 49],
- [-110.05, 49],
- [-107.05, 49],
- [-104.04826, 48.99986],
- [-100.65, 49],
- [-97.22872, 49.0007],
- [-95.15907, 49],
- [-95.15609, 49.38425],
- [-94.81758, 49.38905]
- ]
- ],
- [
- [
- [-153.006314, 57.115842],
- [-154.00509, 56.734677],
- [-154.516403, 56.992749],
- [-154.670993, 57.461196],
- [-153.76278, 57.816575],
- [-153.228729, 57.968968],
- [-152.564791, 57.901427],
- [-152.141147, 57.591059],
- [-153.006314, 57.115842]
- ]
- ],
- [
- [
- [-165.579164, 59.909987],
- [-166.19277, 59.754441],
- [-166.848337, 59.941406],
- [-167.455277, 60.213069],
- [-166.467792, 60.38417],
- [-165.67443, 60.293607],
- [-165.579164, 59.909987]
- ]
- ],
- [
- [
- [-171.731657, 63.782515],
- [-171.114434, 63.592191],
- [-170.491112, 63.694975],
- [-169.682505, 63.431116],
- [-168.689439, 63.297506],
- [-168.771941, 63.188598],
- [-169.52944, 62.976931],
- [-170.290556, 63.194438],
- [-170.671386, 63.375822],
- [-171.553063, 63.317789],
- [-171.791111, 63.405846],
- [-171.731657, 63.782515]
- ]
- ],
- [
- [
- [-155.06779, 71.147776],
- [-154.344165, 70.696409],
- [-153.900006, 70.889989],
- [-152.210006, 70.829992],
- [-152.270002, 70.600006],
- [-150.739992, 70.430017],
- [-149.720003, 70.53001],
- [-147.613362, 70.214035],
- [-145.68999, 70.12001],
- [-144.920011, 69.989992],
- [-143.589446, 70.152514],
- [-142.07251, 69.851938],
- [-140.985988, 69.711998],
- [-140.985988, 69.711998],
- [-140.992499, 66.000029],
- [-140.99777, 60.306397],
- [-140.012998, 60.276838],
- [-139.039, 60.000007],
- [-138.34089, 59.56211],
- [-137.4525, 58.905],
- [-136.47972, 59.46389],
- [-135.47583, 59.78778],
- [-134.945, 59.27056],
- [-134.27111, 58.86111],
- [-133.355549, 58.410285],
- [-132.73042, 57.69289],
- [-131.70781, 56.55212],
- [-130.00778, 55.91583],
- [-129.979994, 55.284998],
- [-130.53611, 54.802753],
- [-131.085818, 55.178906],
- [-131.967211, 55.497776],
- [-132.250011, 56.369996],
- [-133.539181, 57.178887],
- [-134.078063, 58.123068],
- [-135.038211, 58.187715],
- [-136.628062, 58.212209],
- [-137.800006, 58.499995],
- [-139.867787, 59.537762],
- [-140.825274, 59.727517],
- [-142.574444, 60.084447],
- [-143.958881, 59.99918],
- [-145.925557, 60.45861],
- [-147.114374, 60.884656],
- [-148.224306, 60.672989],
- [-148.018066, 59.978329],
- [-148.570823, 59.914173],
- [-149.727858, 59.705658],
- [-150.608243, 59.368211],
- [-151.716393, 59.155821],
- [-151.859433, 59.744984],
- [-151.409719, 60.725803],
- [-150.346941, 61.033588],
- [-150.621111, 61.284425],
- [-151.895839, 60.727198],
- [-152.57833, 60.061657],
- [-154.019172, 59.350279],
- [-153.287511, 58.864728],
- [-154.232492, 58.146374],
- [-155.307491, 57.727795],
- [-156.308335, 57.422774],
- [-156.556097, 56.979985],
- [-158.117217, 56.463608],
- [-158.433321, 55.994154],
- [-159.603327, 55.566686],
- [-160.28972, 55.643581],
- [-161.223048, 55.364735],
- [-162.237766, 55.024187],
- [-163.069447, 54.689737],
- [-164.785569, 54.404173],
- [-164.942226, 54.572225],
- [-163.84834, 55.039431],
- [-162.870001, 55.348043],
- [-161.804175, 55.894986],
- [-160.563605, 56.008055],
- [-160.07056, 56.418055],
- [-158.684443, 57.016675],
- [-158.461097, 57.216921],
- [-157.72277, 57.570001],
- [-157.550274, 58.328326],
- [-157.041675, 58.918885],
- [-158.194731, 58.615802],
- [-158.517218, 58.787781],
- [-159.058606, 58.424186],
- [-159.711667, 58.93139],
- [-159.981289, 58.572549],
- [-160.355271, 59.071123],
- [-161.355003, 58.670838],
- [-161.968894, 58.671665],
- [-162.054987, 59.266925],
- [-161.874171, 59.633621],
- [-162.518059, 59.989724],
- [-163.818341, 59.798056],
- [-164.662218, 60.267484],
- [-165.346388, 60.507496],
- [-165.350832, 61.073895],
- [-166.121379, 61.500019],
- [-165.734452, 62.074997],
- [-164.919179, 62.633076],
- [-164.562508, 63.146378],
- [-163.753332, 63.219449],
- [-163.067224, 63.059459],
- [-162.260555, 63.541936],
- [-161.53445, 63.455817],
- [-160.772507, 63.766108],
- [-160.958335, 64.222799],
- [-161.518068, 64.402788],
- [-160.777778, 64.788604],
- [-161.391926, 64.777235],
- [-162.45305, 64.559445],
- [-162.757786, 64.338605],
- [-163.546394, 64.55916],
- [-164.96083, 64.446945],
- [-166.425288, 64.686672],
- [-166.845004, 65.088896],
- [-168.11056, 65.669997],
- [-166.705271, 66.088318],
- [-164.47471, 66.57666],
- [-163.652512, 66.57666],
- [-163.788602, 66.077207],
- [-161.677774, 66.11612],
- [-162.489715, 66.735565],
- [-163.719717, 67.116395],
- [-164.430991, 67.616338],
- [-165.390287, 68.042772],
- [-166.764441, 68.358877],
- [-166.204707, 68.883031],
- [-164.430811, 68.915535],
- [-163.168614, 69.371115],
- [-162.930566, 69.858062],
- [-161.908897, 70.33333],
- [-160.934797, 70.44769],
- [-159.039176, 70.891642],
- [-158.119723, 70.824721],
- [-156.580825, 71.357764],
- [-155.06779, 71.147776]
- ]
- ]
- ]
- },
- "id": "USA"
- },
- {
- "type": "Feature",
- "properties": { "name": "Uzbekistan" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [66.518607, 37.362784],
- [66.54615, 37.974685],
- [65.215999, 38.402695],
- [64.170223, 38.892407],
- [63.518015, 39.363257],
- [62.37426, 40.053886],
- [61.882714, 41.084857],
- [61.547179, 41.26637],
- [60.465953, 41.220327],
- [60.083341, 41.425146],
- [59.976422, 42.223082],
- [58.629011, 42.751551],
- [57.78653, 42.170553],
- [56.932215, 41.826026],
- [57.096391, 41.32231],
- [55.968191, 41.308642],
- [55.928917, 44.995858],
- [58.503127, 45.586804],
- [58.689989, 45.500014],
- [60.239972, 44.784037],
- [61.05832, 44.405817],
- [62.0133, 43.504477],
- [63.185787, 43.650075],
- [64.900824, 43.728081],
- [66.098012, 42.99766],
- [66.023392, 41.994646],
- [66.510649, 41.987644],
- [66.714047, 41.168444],
- [67.985856, 41.135991],
- [68.259896, 40.662325],
- [68.632483, 40.668681],
- [69.070027, 41.384244],
- [70.388965, 42.081308],
- [70.962315, 42.266154],
- [71.259248, 42.167711],
- [70.420022, 41.519998],
- [71.157859, 41.143587],
- [71.870115, 41.3929],
- [73.055417, 40.866033],
- [71.774875, 40.145844],
- [71.014198, 40.244366],
- [70.601407, 40.218527],
- [70.45816, 40.496495],
- [70.666622, 40.960213],
- [69.329495, 40.727824],
- [69.011633, 40.086158],
- [68.536416, 39.533453],
- [67.701429, 39.580478],
- [67.44222, 39.140144],
- [68.176025, 38.901553],
- [68.392033, 38.157025],
- [67.83, 37.144994],
- [67.075782, 37.356144],
- [66.518607, 37.362784]
- ]
- ]
- },
- "id": "UZB"
- },
- {
- "type": "Feature",
- "properties": { "name": "Venezuela" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [-71.331584, 11.776284],
- [-71.360006, 11.539994],
- [-71.94705, 11.423282],
- [-71.620868, 10.96946],
- [-71.633064, 10.446494],
- [-72.074174, 9.865651],
- [-71.695644, 9.072263],
- [-71.264559, 9.137195],
- [-71.039999, 9.859993],
- [-71.350084, 10.211935],
- [-71.400623, 10.968969],
- [-70.155299, 11.375482],
- [-70.293843, 11.846822],
- [-69.943245, 12.162307],
- [-69.5843, 11.459611],
- [-68.882999, 11.443385],
- [-68.233271, 10.885744],
- [-68.194127, 10.554653],
- [-67.296249, 10.545868],
- [-66.227864, 10.648627],
- [-65.655238, 10.200799],
- [-64.890452, 10.077215],
- [-64.329479, 10.389599],
- [-64.318007, 10.641418],
- [-63.079322, 10.701724],
- [-61.880946, 10.715625],
- [-62.730119, 10.420269],
- [-62.388512, 9.948204],
- [-61.588767, 9.873067],
- [-60.830597, 9.38134],
- [-60.671252, 8.580174],
- [-60.150096, 8.602757],
- [-59.758285, 8.367035],
- [-60.550588, 7.779603],
- [-60.637973, 7.415],
- [-60.295668, 7.043911],
- [-60.543999, 6.856584],
- [-61.159336, 6.696077],
- [-61.139415, 6.234297],
- [-61.410303, 5.959068],
- [-60.733574, 5.200277],
- [-60.601179, 4.918098],
- [-60.966893, 4.536468],
- [-62.08543, 4.162124],
- [-62.804533, 4.006965],
- [-63.093198, 3.770571],
- [-63.888343, 4.02053],
- [-64.628659, 4.148481],
- [-64.816064, 4.056445],
- [-64.368494, 3.79721],
- [-64.408828, 3.126786],
- [-64.269999, 2.497006],
- [-63.422867, 2.411068],
- [-63.368788, 2.2009],
- [-64.083085, 1.916369],
- [-64.199306, 1.492855],
- [-64.611012, 1.328731],
- [-65.354713, 1.095282],
- [-65.548267, 0.789254],
- [-66.325765, 0.724452],
- [-66.876326, 1.253361],
- [-67.181294, 2.250638],
- [-67.447092, 2.600281],
- [-67.809938, 2.820655],
- [-67.303173, 3.318454],
- [-67.337564, 3.542342],
- [-67.621836, 3.839482],
- [-67.823012, 4.503937],
- [-67.744697, 5.221129],
- [-67.521532, 5.55687],
- [-67.34144, 6.095468],
- [-67.695087, 6.267318],
- [-68.265052, 6.153268],
- [-68.985319, 6.206805],
- [-69.38948, 6.099861],
- [-70.093313, 6.960376],
- [-70.674234, 7.087785],
- [-71.960176, 6.991615],
- [-72.198352, 7.340431],
- [-72.444487, 7.423785],
- [-72.479679, 7.632506],
- [-72.360901, 8.002638],
- [-72.439862, 8.405275],
- [-72.660495, 8.625288],
- [-72.78873, 9.085027],
- [-73.304952, 9.152],
- [-73.027604, 9.73677],
- [-72.905286, 10.450344],
- [-72.614658, 10.821975],
- [-72.227575, 11.108702],
- [-71.973922, 11.608672],
- [-71.331584, 11.776284]
- ]
- ]
- },
- "id": "VEN"
- },
- {
- "type": "Feature",
- "properties": { "name": "Vietnam" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [108.05018, 21.55238],
- [106.715068, 20.696851],
- [105.881682, 19.75205],
- [105.662006, 19.058165],
- [106.426817, 18.004121],
- [107.361954, 16.697457],
- [108.269495, 16.079742],
- [108.877107, 15.276691],
- [109.33527, 13.426028],
- [109.200136, 11.666859],
- [108.36613, 11.008321],
- [107.220929, 10.364484],
- [106.405113, 9.53084],
- [105.158264, 8.59976],
- [104.795185, 9.241038],
- [105.076202, 9.918491],
- [104.334335, 10.486544],
- [105.199915, 10.88931],
- [106.24967, 10.961812],
- [105.810524, 11.567615],
- [107.491403, 12.337206],
- [107.614548, 13.535531],
- [107.382727, 14.202441],
- [107.564525, 15.202173],
- [107.312706, 15.908538],
- [106.556008, 16.604284],
- [105.925762, 17.485315],
- [105.094598, 18.666975],
- [103.896532, 19.265181],
- [104.183388, 19.624668],
- [104.822574, 19.886642],
- [104.435, 20.758733],
- [103.203861, 20.766562],
- [102.754896, 21.675137],
- [102.170436, 22.464753],
- [102.706992, 22.708795],
- [103.504515, 22.703757],
- [104.476858, 22.81915],
- [105.329209, 23.352063],
- [105.811247, 22.976892],
- [106.725403, 22.794268],
- [106.567273, 22.218205],
- [107.04342, 21.811899],
- [108.05018, 21.55238]
- ]
- ]
- },
- "id": "VNM"
- },
- {
- "type": "Feature",
- "properties": { "name": "Vanuatu" },
- "geometry": {
- "type": "MultiPolygon",
- "coordinates": [
- [
- [
- [167.844877, -16.466333],
- [167.515181, -16.59785],
- [167.180008, -16.159995],
- [167.216801, -15.891846],
- [167.844877, -16.466333]
- ]
- ],
- [
- [
- [167.107712, -14.93392],
- [167.270028, -15.740021],
- [167.001207, -15.614602],
- [166.793158, -15.668811],
- [166.649859, -15.392704],
- [166.629137, -14.626497],
- [167.107712, -14.93392]
- ]
- ]
- ]
- },
- "id": "VUT"
- },
- {
- "type": "Feature",
- "properties": { "name": "West Bank" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [35.545665, 32.393992],
- [35.545252, 31.782505],
- [35.397561, 31.489086],
- [34.927408, 31.353435],
- [34.970507, 31.616778],
- [35.225892, 31.754341],
- [34.974641, 31.866582],
- [35.18393, 32.532511],
- [35.545665, 32.393992]
- ]
- ]
- },
- "id": "PSE"
- },
- {
- "type": "Feature",
- "properties": { "name": "Yemen" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [53.108573, 16.651051],
- [52.385206, 16.382411],
- [52.191729, 15.938433],
- [52.168165, 15.59742],
- [51.172515, 15.17525],
- [49.574576, 14.708767],
- [48.679231, 14.003202],
- [48.238947, 13.94809],
- [47.938914, 14.007233],
- [47.354454, 13.59222],
- [46.717076, 13.399699],
- [45.877593, 13.347764],
- [45.62505, 13.290946],
- [45.406459, 13.026905],
- [45.144356, 12.953938],
- [44.989533, 12.699587],
- [44.494576, 12.721653],
- [44.175113, 12.58595],
- [43.482959, 12.6368],
- [43.222871, 13.22095],
- [43.251448, 13.767584],
- [43.087944, 14.06263],
- [42.892245, 14.802249],
- [42.604873, 15.213335],
- [42.805015, 15.261963],
- [42.702438, 15.718886],
- [42.823671, 15.911742],
- [42.779332, 16.347891],
- [43.218375, 16.66689],
- [43.115798, 17.08844],
- [43.380794, 17.579987],
- [43.791519, 17.319977],
- [44.062613, 17.410359],
- [45.216651, 17.433329],
- [45.399999, 17.333335],
- [46.366659, 17.233315],
- [46.749994, 17.283338],
- [47.000005, 16.949999],
- [47.466695, 17.116682],
- [48.183344, 18.166669],
- [49.116672, 18.616668],
- [52.00001, 19.000003],
- [52.782184, 17.349742],
- [53.108573, 16.651051]
- ]
- ]
- },
- "id": "YEM"
- },
- {
- "type": "Feature",
- "properties": { "name": "South Africa" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [31.521001, -29.257387],
- [31.325561, -29.401978],
- [30.901763, -29.909957],
- [30.622813, -30.423776],
- [30.055716, -31.140269],
- [28.925553, -32.172041],
- [28.219756, -32.771953],
- [27.464608, -33.226964],
- [26.419452, -33.61495],
- [25.909664, -33.66704],
- [25.780628, -33.944646],
- [25.172862, -33.796851],
- [24.677853, -33.987176],
- [23.594043, -33.794474],
- [22.988189, -33.916431],
- [22.574157, -33.864083],
- [21.542799, -34.258839],
- [20.689053, -34.417175],
- [20.071261, -34.795137],
- [19.616405, -34.819166],
- [19.193278, -34.462599],
- [18.855315, -34.444306],
- [18.424643, -33.997873],
- [18.377411, -34.136521],
- [18.244499, -33.867752],
- [18.25008, -33.281431],
- [17.92519, -32.611291],
- [18.24791, -32.429131],
- [18.221762, -31.661633],
- [17.566918, -30.725721],
- [17.064416, -29.878641],
- [17.062918, -29.875954],
- [16.344977, -28.576705],
- [16.824017, -28.082162],
- [17.218929, -28.355943],
- [17.387497, -28.783514],
- [17.836152, -28.856378],
- [18.464899, -29.045462],
- [19.002127, -28.972443],
- [19.894734, -28.461105],
- [19.895768, -24.76779],
- [20.165726, -24.917962],
- [20.758609, -25.868136],
- [20.66647, -26.477453],
- [20.889609, -26.828543],
- [21.605896, -26.726534],
- [22.105969, -26.280256],
- [22.579532, -25.979448],
- [22.824271, -25.500459],
- [23.312097, -25.26869],
- [23.73357, -25.390129],
- [24.211267, -25.670216],
- [25.025171, -25.71967],
- [25.664666, -25.486816],
- [25.765849, -25.174845],
- [25.941652, -24.696373],
- [26.485753, -24.616327],
- [26.786407, -24.240691],
- [27.11941, -23.574323],
- [28.017236, -22.827754],
- [29.432188, -22.091313],
- [29.839037, -22.102216],
- [30.322883, -22.271612],
- [30.659865, -22.151567],
- [31.191409, -22.25151],
- [31.670398, -23.658969],
- [31.930589, -24.369417],
- [31.752408, -25.484284],
- [31.837778, -25.843332],
- [31.333158, -25.660191],
- [31.04408, -25.731452],
- [30.949667, -26.022649],
- [30.676609, -26.398078],
- [30.685962, -26.743845],
- [31.282773, -27.285879],
- [31.86806, -27.177927],
- [32.071665, -26.73382],
- [32.83012, -26.742192],
- [32.580265, -27.470158],
- [32.462133, -28.301011],
- [32.203389, -28.752405],
- [31.521001, -29.257387]
- ],
- [
- [28.978263, -28.955597],
- [28.5417, -28.647502],
- [28.074338, -28.851469],
- [27.532511, -29.242711],
- [26.999262, -29.875954],
- [27.749397, -30.645106],
- [28.107205, -30.545732],
- [28.291069, -30.226217],
- [28.8484, -30.070051],
- [29.018415, -29.743766],
- [29.325166, -29.257387],
- [28.978263, -28.955597]
- ]
- ]
- },
- "id": "ZAF"
- },
- {
- "type": "Feature",
- "properties": { "name": "Zambia" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [32.759375, -9.230599],
- [33.231388, -9.676722],
- [33.485688, -10.525559],
- [33.31531, -10.79655],
- [33.114289, -11.607198],
- [33.306422, -12.435778],
- [32.991764, -12.783871],
- [32.688165, -13.712858],
- [33.214025, -13.97186],
- [30.179481, -14.796099],
- [30.274256, -15.507787],
- [29.516834, -15.644678],
- [28.947463, -16.043051],
- [28.825869, -16.389749],
- [28.467906, -16.4684],
- [27.598243, -17.290831],
- [27.044427, -17.938026],
- [26.706773, -17.961229],
- [26.381935, -17.846042],
- [25.264226, -17.73654],
- [25.084443, -17.661816],
- [25.07695, -17.578823],
- [24.682349, -17.353411],
- [24.033862, -17.295843],
- [23.215048, -17.523116],
- [22.562478, -16.898451],
- [21.887843, -16.08031],
- [21.933886, -12.898437],
- [24.016137, -12.911046],
- [23.930922, -12.565848],
- [24.079905, -12.191297],
- [23.904154, -11.722282],
- [24.017894, -11.237298],
- [23.912215, -10.926826],
- [24.257155, -10.951993],
- [24.314516, -11.262826],
- [24.78317, -11.238694],
- [25.418118, -11.330936],
- [25.75231, -11.784965],
- [26.553088, -11.92444],
- [27.16442, -11.608748],
- [27.388799, -12.132747],
- [28.155109, -12.272481],
- [28.523562, -12.698604],
- [28.934286, -13.248958],
- [29.699614, -13.257227],
- [29.616001, -12.178895],
- [29.341548, -12.360744],
- [28.642417, -11.971569],
- [28.372253, -11.793647],
- [28.49607, -10.789884],
- [28.673682, -9.605925],
- [28.449871, -9.164918],
- [28.734867, -8.526559],
- [29.002912, -8.407032],
- [30.346086, -8.238257],
- [30.740015, -8.340007],
- [31.157751, -8.594579],
- [31.556348, -8.762049],
- [32.191865, -8.930359],
- [32.759375, -9.230599]
- ]
- ]
- },
- "id": "ZMB"
- },
- {
- "type": "Feature",
- "properties": { "name": "Zimbabwe" },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [31.191409, -22.25151],
- [30.659865, -22.151567],
- [30.322883, -22.271612],
- [29.839037, -22.102216],
- [29.432188, -22.091313],
- [28.794656, -21.639454],
- [28.02137, -21.485975],
- [27.727228, -20.851802],
- [27.724747, -20.499059],
- [27.296505, -20.39152],
- [26.164791, -19.293086],
- [25.850391, -18.714413],
- [25.649163, -18.536026],
- [25.264226, -17.73654],
- [26.381935, -17.846042],
- [26.706773, -17.961229],
- [27.044427, -17.938026],
- [27.598243, -17.290831],
- [28.467906, -16.4684],
- [28.825869, -16.389749],
- [28.947463, -16.043051],
- [29.516834, -15.644678],
- [30.274256, -15.507787],
- [30.338955, -15.880839],
- [31.173064, -15.860944],
- [31.636498, -16.07199],
- [31.852041, -16.319417],
- [32.328239, -16.392074],
- [32.847639, -16.713398],
- [32.849861, -17.979057],
- [32.654886, -18.67209],
- [32.611994, -19.419383],
- [32.772708, -19.715592],
- [32.659743, -20.30429],
- [32.508693, -20.395292],
- [32.244988, -21.116489],
- [31.191409, -22.25151]
- ]
- ]
- },
- "id": "ZWE"
- }
- ]
-}
diff --git a/explorer/src/lib/constants/addressCharPropertiesDefaults.js b/explorer/src/lib/constants/addressCharPropertiesDefaults.js
deleted file mode 100644
index 2b7aec7cf3..0000000000
--- a/explorer/src/lib/constants/addressCharPropertiesDefaults.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export const addressCharPropertiesDefaults = {
- maxCharCount: 25,
- maxScreenWidth: 1024,
- minCharCount: 4,
- minScreenWidth: 320,
-};
diff --git a/explorer/src/lib/constants/index.js b/explorer/src/lib/constants/index.js
deleted file mode 100644
index 2d5a75bd4a..0000000000
--- a/explorer/src/lib/constants/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { addressCharPropertiesDefaults } from "./addressCharPropertiesDefaults.js";
diff --git a/explorer/src/lib/containers/__tests__/StatisticsPanel.spec.js b/explorer/src/lib/containers/__tests__/StatisticsPanel.spec.js
deleted file mode 100644
index 61d0aa2ac6..0000000000
--- a/explorer/src/lib/containers/__tests__/StatisticsPanel.spec.js
+++ /dev/null
@@ -1,76 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { get } from "svelte/store";
-
-import { resolveAfter } from "$lib/dusk/promise";
-import { duskAPI } from "$lib/services";
-import { appStore } from "$lib/stores";
-
-import { StatisticsPanel } from "..";
-
-const marketDataSettleTime = vi.hoisted(() => {
- vi.useFakeTimers();
-
- return 100;
-});
-vi.mock("$lib/services", async (importOriginal) => {
- /** @type {import("$lib/services")} */
- const original = await importOriginal();
- const { apiMarketData, apiStats, nodeLocationsCount } =
- await import("$lib/mock-data");
- const { current_price: currentPrice, market_cap: marketCap } =
- apiMarketData.market_data;
-
- return {
- ...original,
- duskAPI: {
- ...original.duskAPI,
- getMarketData: () =>
- resolveAfter(marketDataSettleTime, { currentPrice, marketCap }),
- getNodeLocations: vi.fn().mockResolvedValue(nodeLocationsCount),
- getStats: vi.fn().mockResolvedValue(apiStats),
- },
- };
-});
-
-describe("StatisticsPanel", () => {
- const { statsFetchInterval } = get(appStore);
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- vi.doUnmock("$lib/services");
- });
-
- it("should render the StatisticsPanel, query for the necessary info, start polling for stats and stop the polling when unmounted", async () => {
- const { container, unmount } = render(StatisticsPanel);
-
- expect(container.firstChild).toMatchSnapshot();
- expect(duskAPI.getStats).toHaveBeenCalledTimes(1);
- expect(duskAPI.getStats).toHaveBeenNthCalledWith(1);
-
- await vi.advanceTimersByTimeAsync(marketDataSettleTime);
-
- // snapshot with received data from APIs
- expect(container.firstChild).toMatchSnapshot();
-
- await vi.advanceTimersByTimeAsync(
- statsFetchInterval - marketDataSettleTime
- );
-
- expect(duskAPI.getStats).toHaveBeenCalledTimes(2);
- expect(duskAPI.getStats).toHaveBeenNthCalledWith(2);
-
- await vi.advanceTimersByTimeAsync(statsFetchInterval);
-
- expect(duskAPI.getStats).toHaveBeenCalledTimes(3);
- expect(duskAPI.getStats).toHaveBeenNthCalledWith(3);
-
- unmount();
-
- await vi.advanceTimersByTimeAsync(statsFetchInterval * 10);
-
- expect(duskAPI.getStats).toHaveBeenCalledTimes(3);
- });
-});
diff --git a/explorer/src/lib/containers/__tests__/__snapshots__/StatisticsPanel.spec.js.snap b/explorer/src/lib/containers/__tests__/__snapshots__/StatisticsPanel.spec.js.snap
deleted file mode 100644
index ee09547fef..0000000000
--- a/explorer/src/lib/containers/__tests__/__snapshots__/StatisticsPanel.spec.js.snap
+++ /dev/null
@@ -1,764 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`StatisticsPanel > should render the StatisticsPanel, query for the necessary info, start polling for stats and stop the polling when unmounted 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
-
- Dusk Price
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
-
- Total Market Cap
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Current Stake
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Pending Stake
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Last Block
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Total Transactions
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Active Provisioners
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Pending Provisioners
-
-
-
-
-
-
-
-
-
-
-
-
-
- 15
-
-
-
-
-
-
-
- Largest Node Cluster
-
-
-
-
-
-
-
-
-
-
- North Bergen, US
-
-
-
-
-
-
-
- Largest Cluster Location
-
-
-
-
-
-
-`;
-
-exports[`StatisticsPanel > should render the StatisticsPanel, query for the necessary info, start polling for stats and stop the polling when unmounted 2`] = `
-
-
-
-
-
-
-
-
-
-
-
- 0.368
-
-
-
-
-
-
-
-
- Dusk Price
-
-
-
-
-
-
-
-
-
-
- 168.00M
-
-
-
-
-
-
-
-
- Total Market Cap
-
-
-
-
-
-
-
-
-
-
-
-
-
- 58.23M
-
-
-
-
-
-
-
- Current Stake
-
-
-
-
-
-
-
-
-
-
- 2.57M
-
-
-
-
-
-
-
- Pending Stake
-
-
-
-
-
-
-
-
-
-
-
-
-
- 487,596
-
-
-
-
-
-
-
- Last Block
-
-
-
-
-
-
-
-
-
-
- 16,363
-
-
-
-
-
-
-
- Total Transactions
-
-
-
-
-
-
-
-
-
-
-
-
-
- 945
-
-
-
-
-
-
-
- Active Provisioners
-
-
-
-
-
-
-
-
-
-
- 34
-
-
-
-
-
-
-
- Pending Provisioners
-
-
-
-
-
-
-
-
-
-
-
-
-
- 15
-
-
-
-
-
-
-
- Largest Node Cluster
-
-
-
-
-
-
-
-
-
-
- North Bergen, US
-
-
-
-
-
-
-
- Largest Cluster Location
-
-
-
-
-
-
-`;
diff --git a/explorer/src/lib/containers/index.js b/explorer/src/lib/containers/index.js
deleted file mode 100644
index 0293d57451..0000000000
--- a/explorer/src/lib/containers/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as SearchField } from "./search-field/SearchField.svelte";
-export { default as StatisticsPanel } from "./statistics-panel/StatisticsPanel.svelte";
diff --git a/explorer/src/lib/containers/search-field/SearchField.svelte b/explorer/src/lib/containers/search-field/SearchField.svelte
deleted file mode 100644
index 4f743d55ba..0000000000
--- a/explorer/src/lib/containers/search-field/SearchField.svelte
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
diff --git a/explorer/src/lib/containers/statistics-panel/StatisticsPanel.css b/explorer/src/lib/containers/statistics-panel/StatisticsPanel.css
deleted file mode 100644
index c5a9ca32db..0000000000
--- a/explorer/src/lib/containers/statistics-panel/StatisticsPanel.css
+++ /dev/null
@@ -1,122 +0,0 @@
-.statistics-panel {
- display: flex;
- padding: 1rem 1.375rem;
- flex-direction: column;
- row-gap: 0.75rem;
- border-radius: 1.5rem;
- background-color: var(--surface-color);
- width: 100%;
-
- --desktop-gap: 1.25rem;
- --mobile-gap: 1.5rem;
-}
-
-.statistics-panel__statistics {
- display: grid;
- grid-template-columns: 1fr;
- gap: var(--mobile-gap);
- overflow: hidden;
- width: 100%;
-}
-
-.statistics-panel__statistics-column {
- display: flex;
- flex-direction: column;
- gap: var(--mobile-gap);
-}
-
-.statistics-panel__statistics-item {
- display: flex;
- flex-direction: column;
- row-gap: 0.3125rem;
- position: relative;
- justify-content: center;
-}
-
-.statistics-panel__statistics-item[data-tooltip-id] {
- cursor: help;
-}
-
-.approximate::before {
- display: inline;
- content: "~";
-}
-
-.statistics-panel__statistics-item::after,
-.statistics-panel__statistics-item::before {
- content: "";
- position: absolute;
- background-color: var(--taupe-grey);
- z-index: 1;
-}
-
-.statistics-panel__statistics-item::after {
- inline-size: 100vw;
- block-size: 1px;
- inset-inline-start: 0;
- inset-block-start: calc(calc(var(--mobile-gap) / 2) * -1);
-}
-
-.statistics-panel__statistics-item::before {
- inline-size: 1px;
- block-size: 100%;
- inset-block-start: 0;
- inset-inline-start: calc(calc(var(--desktop-gap) / 2) * -1);
-}
-
-.statistics-panel__statistics-item-value-container {
- display: flex;
- flex-direction: row;
- column-gap: 0.3125rem;
- font-weight: 500;
- font-size: 1rem;
-}
-
-.statistics-panel__statistics-item-title {
- text-transform: uppercase;
- font-size: 0.75rem;
-}
-
-@media (min-width: 992px) {
- .statistics-panel {
- flex-direction: row;
- }
-
- .statistics-panel__statistics {
- grid-template-columns: repeat(2, 1fr);
- gap: var(--desktop-gap);
- }
-
- .statistics-panel__statistics-column {
- gap: var(--desktop-gap);
- }
-
- .statistics-panel__statistics-column:nth-child(5) {
- display: contents;
- }
-
- .statistics-panel__statistics-item-value {
- display: flex;
- align-items: center;
- gap: 0.625rem;
- }
-
- .statistics-panel__statistics-item-value-container {
- font-size: 1.125rem;
- }
-
- .statistics-panel__statistics-item-title {
- font-size: 0.875rem;
- }
-}
-
-@media (min-width: 1330px) {
- .statistics-panel__statistics {
- grid-template-columns: repeat(5, 1fr);
- align-items: center;
- }
-
- .statistics-panel__statistics-column:nth-child(5) {
- display: flex;
- }
-}
diff --git a/explorer/src/lib/containers/statistics-panel/StatisticsPanel.svelte b/explorer/src/lib/containers/statistics-panel/StatisticsPanel.svelte
deleted file mode 100644
index 6d3dfa70e2..0000000000
--- a/explorer/src/lib/containers/statistics-panel/StatisticsPanel.svelte
+++ /dev/null
@@ -1,219 +0,0 @@
-
-
-
-
-
-
- {#each statistics as statistic, index (index)}
-
- {#each statistic as item (`${item.title}`)}
-
-
-
-
-
- {#if item.compact}
- {formatter(item.data)}
- {:else if item.compact === null}
- {item.data}
- {:else}
- {valueFormatter(item.data)}
- {/if}
-
- {#if item.canBeStale}
-
- {/if}
-
-
-
{item.title}
-
- {/each}
-
- {/each}
-
-
diff --git a/explorer/src/lib/contexts/contexts.js b/explorer/src/lib/contexts/contexts.js
deleted file mode 100644
index 53a16f79d2..0000000000
--- a/explorer/src/lib/contexts/contexts.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export default {
- LIST_ITEM: {
- DETAIL_LIST: "list-item:detail-list",
- },
-};
diff --git a/explorer/src/lib/contexts/index.js b/explorer/src/lib/contexts/index.js
deleted file mode 100644
index d5e21eb59b..0000000000
--- a/explorer/src/lib/contexts/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import contexts from "./contexts";
-export default contexts;
diff --git a/explorer/src/lib/dusk/array/__tests__/arraySum.spec.js b/explorer/src/lib/dusk/array/__tests__/arraySum.spec.js
deleted file mode 100644
index 13c715306a..0000000000
--- a/explorer/src/lib/dusk/array/__tests__/arraySum.spec.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { arraySum } from "..";
-
-describe("arraySum", () => {
- const testArr = [-0, 1, 2, 3, 4, 5];
-
- it("should sum the values contained in an array of numbers", () => {
- expect(arraySum(testArr)).toBe(15);
- });
-
- it("should throw an exception if the received array is empty", () => {
- expect(() => arraySum([])).toThrow(TypeError);
- });
-});
diff --git a/explorer/src/lib/dusk/array/__tests__/arraySumByKey.spec.js b/explorer/src/lib/dusk/array/__tests__/arraySumByKey.spec.js
deleted file mode 100644
index fc80c995a8..0000000000
--- a/explorer/src/lib/dusk/array/__tests__/arraySumByKey.spec.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { arraySumByKey } from "..";
-
-describe("arraySumByKey", () => {
- const testArr = [
- { uid: "id1", value: 5 },
- { uid: "id2", value: 3 },
- { uid: "id3", value: 6 },
- ];
-
- it("should sum the numeric values contained in a key in an array of objects", () => {
- expect(arraySumByKey("value")(testArr)).toBe(14);
- });
-
- it("should throw an exception if the build function receives an empty array", () => {
- expect(() => arraySumByKey("value")([])).toThrow(TypeError);
- });
-});
diff --git a/explorer/src/lib/dusk/array/arraySum.js b/explorer/src/lib/dusk/array/arraySum.js
deleted file mode 100644
index e65cd95710..0000000000
--- a/explorer/src/lib/dusk/array/arraySum.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { reduceWith, sum } from "lamb";
-
-/**
- * Sums the values in the given array.
- *
- * @example
- * arraySum([1, 2, 3, 4, 5]) // => 15
- *
- * @throws {TypeError} If the received array is empty.
- * @type {(source: number[]) => number}
- */
-const arraySum = reduceWith(sum);
-
-export default arraySum;
diff --git a/explorer/src/lib/dusk/array/arraySumByKey.js b/explorer/src/lib/dusk/array/arraySumByKey.js
deleted file mode 100644
index 0a7b9de6ea..0000000000
--- a/explorer/src/lib/dusk/array/arraySumByKey.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { compose, pluck } from "lamb";
-
-import { arraySum } from ".";
-
-/**
- * Builds a function that sums the values in the given key in an array of objects.
- * The built function will throw a `TypeError` if the received array is empty.
- *
- * @example
- * const scores = [
- * { score: 7, user: "John" },
- * { score: 9, user: "Jane" },
- * { score: 5, user: "Mario" }
- * ];
- * const sumScores = arraySumByKey("score");
- *
- * sumScores(scores) // => 21
- *
- * @template {string} K
- * @param {K} key
- * @returns {(source: ArrayLike<{ [P in K]: number } & Record>) => number}
- */
-const arraySumByKey = (key) => compose(arraySum, pluck(key));
-
-export default arraySumByKey;
diff --git a/explorer/src/lib/dusk/array/index.js b/explorer/src/lib/dusk/array/index.js
deleted file mode 100644
index 34fec79caf..0000000000
--- a/explorer/src/lib/dusk/array/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as arraySum } from "./arraySum";
-export { default as arraySumByKey } from "./arraySumByKey";
diff --git a/explorer/src/lib/dusk/components/__tests__/Anchor.spec.js b/explorer/src/lib/dusk/components/__tests__/Anchor.spec.js
deleted file mode 100644
index a049bb1217..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Anchor.spec.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup } from "@testing-library/svelte";
-
-import { renderWithSimpleContent } from "$lib/dusk/test-helpers";
-
-import { Anchor } from "..";
-
-describe("Anchor", () => {
- const baseProps = {
- href: "https://example.com",
- };
-
- const baseOptions = {
- props: baseProps,
- };
-
- afterEach(cleanup);
-
- it("should render the Anchor component", () => {
- const { container } = renderWithSimpleContent(Anchor, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should pass additional class names and attributes to the rendered element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- href: "https://dusk.network",
- title: "Some title",
- };
- const { container } = renderWithSimpleContent(Anchor, {
- ...baseOptions,
- props,
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/AnchorButton.spec.js b/explorer/src/lib/dusk/components/__tests__/AnchorButton.spec.js
deleted file mode 100644
index 092f84d019..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/AnchorButton.spec.js
+++ /dev/null
@@ -1,87 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { mdiFolderOutline } from "@mdi/js";
-
-import { AnchorButton } from "..";
-
-describe("AnchorButton", () => {
- const baseProps = {
- href: "/some-url",
- text: "some text",
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
- const iconPositions = /** @type {const} */ (["after", "before", undefined]);
-
- afterEach(cleanup);
-
- it("should render the AnchorButton component", () => {
- const { container } = render(AnchorButton, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should add a disabled class if the related property is `true`", () => {
- const props = {
- ...baseProps,
- disabled: true,
- };
- const { container } = render(AnchorButton, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should pass additional class names and attributes to the rendered element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- id: "some-id",
- };
- const { container } = render(AnchorButton, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render a AnchorButton without a text", () => {
- const props = {
- ...baseProps,
- text: "",
- };
- const { container } = render(AnchorButton, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should be able to render a AnchorButton with an icon and text", () => {
- iconPositions.forEach((position) => {
- const props = {
- ...baseProps,
- icon: {
- path: mdiFolderOutline,
- position,
- },
- };
- const { container } = render(AnchorButton, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
- });
-
- it("should be able to render a AnchorButton with an icon only", () => {
- iconPositions.forEach((position) => {
- const props = {
- ...baseProps,
- icon: {
- path: mdiFolderOutline,
- position,
- },
- text: "",
- };
- const { container } = render(AnchorButton, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Badge.spec.js b/explorer/src/lib/dusk/components/__tests__/Badge.spec.js
deleted file mode 100644
index 6d7f43e225..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Badge.spec.js
+++ /dev/null
@@ -1,57 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-
-import { Badge } from "..";
-
-describe("Badge", () => {
- const baseProps = {
- text: "Badge",
- };
-
- afterEach(cleanup);
-
- it('should render the Badge component using the type "neutral" as a default', () => {
- const { container } = render(Badge, baseProps);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it('should render the Badge component using the type "warning" variant', () => {
- const { container } = render(Badge, { ...baseProps, variant: "warning" });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it('should render the Badge component using the type "error" variant', () => {
- const { container } = render(Badge, { ...baseProps, variant: "error" });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it('should render the Badge component using the type "success" variant', () => {
- const { container } = render(Badge, { ...baseProps, variant: "success" });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should pass additional class names and attributes to the root element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- id: "some-id",
- };
- const { container } = render(Badge, { ...props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should only display a string 10 characters long", () => {
- const props = {
- ...baseProps,
- maxlength: 10,
- text: "ABCDEFGHIJK",
- };
- const { container } = render(Badge, { ...props });
- expect(container.firstChild?.textContent?.length).toBe(10);
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Button.spec.js b/explorer/src/lib/dusk/components/__tests__/Button.spec.js
deleted file mode 100644
index e236d59dfd..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Button.spec.js
+++ /dev/null
@@ -1,84 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { mdiFolderOutline } from "@mdi/js";
-
-import { Button } from "..";
-
-describe("Button", () => {
- const baseProps = {
- text: "some text",
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it('should render the Button component using the type "button" as a default', () => {
- const { container } = render(Button, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render a button of the desired type", () => {
- ["button", "reset", "submit", "toggle"].forEach((type) => {
- const props = { ...baseProps, type };
- const { container } = render(Button, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
- });
-
- it("should pass additional class names and attributes to the rendered element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- id: "some-id",
- };
- const { container } = render(Button, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render a button without a text", () => {
- const props = {
- ...baseProps,
- text: "",
- };
- const { container } = render(Button, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should be able to render a button with an icon and text", () => {
- ["after", "before"].forEach((position) => {
- const props = {
- ...baseProps,
- icon: {
- path: mdiFolderOutline,
- position,
- },
- };
- const { container } = render(Button, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
- });
-
- it("should be able to render a button with an icon only", () => {
- ["after", "before"].forEach((position) => {
- const props = {
- ...baseProps,
- icon: {
- path: mdiFolderOutline,
- position,
- },
- text: "",
- };
- const { container } = render(Button, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Card.spec.js b/explorer/src/lib/dusk/components/__tests__/Card.spec.js
deleted file mode 100644
index 8f1f3df495..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Card.spec.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup } from "@testing-library/svelte";
-
-import { renderWithSimpleContent } from "$lib/dusk/test-helpers";
-
-import { Card } from "..";
-
-describe("Card", () => {
- afterEach(cleanup);
-
- it("renders the Card component", () => {
- const { container } = renderWithSimpleContent(Card, {});
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Icon.spec.js b/explorer/src/lib/dusk/components/__tests__/Icon.spec.js
deleted file mode 100644
index ef0b5cb535..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Icon.spec.js
+++ /dev/null
@@ -1,64 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-
-import { Icon } from "..";
-
-describe("Icon", () => {
- const baseProps = {
- path: "M3,3H21V21H3V3M5,5V19H19V5H5Z",
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("should render the Icon component", () => {
- const { container } = render(Icon, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should accept a custom role for the SVG component", () => {
- const props = {
- ...baseProps,
- role: "presentation",
- };
- const { container } = render(Icon, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the icon inside a `g` element if it's part of a stack", () => {
- const props = {
- ...baseProps,
- isInStack: true,
- };
- const { container } = render(Icon, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should pass additional class names and attributes to the rendered element", async () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- "data-baz": "baz",
- };
- const { container, rerender } = render(Icon, { ...baseOptions, props });
- const icon = container.firstChild;
-
- expect(icon).toHaveClass("foo bar");
- expect(icon).toHaveAttribute("data-baz", "baz");
- expect(icon).toMatchSnapshot();
-
- await rerender({ ...props, isInStack: true });
-
- const icon2 = container.firstChild;
-
- expect(icon2).toHaveClass("foo bar");
- expect(icon2).toHaveAttribute("data-baz", "baz");
- expect(icon2).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/NavList.spec.js b/explorer/src/lib/dusk/components/__tests__/NavList.spec.js
deleted file mode 100644
index 012d720cf1..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/NavList.spec.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { NavList } from "..";
-
-describe("NavList", () => {
- const baseProps = {
- navigation: [
- {
- link: "https://dusk.network",
- title: "Dusk",
- },
- {
- link: "https://explorer.dusk.network",
- title: "Explorer",
- },
- ],
- };
-
- afterEach(cleanup);
-
- it("renders the NavList component", () => {
- const { container } = render(NavList, baseProps);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the Nav List with the correct information", () => {
- const { container } = render(NavList, baseProps);
-
- baseProps.navigation.forEach((item, index) => {
- expect(
- container.getElementsByClassName("dusk-nav-list__link")[index].innerHTML
- ).toBe(item.title);
-
- expect(
- container.getElementsByClassName("dusk-nav-list__link")[index]
- ).toHaveAttribute("href", item.link);
- });
- });
-
- it("should pass additional class names and attributes to the rendered element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- };
- const { container } = render(NavList, props);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/ProgressBar.spec.js b/explorer/src/lib/dusk/components/__tests__/ProgressBar.spec.js
deleted file mode 100644
index 2f223988b2..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/ProgressBar.spec.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import { afterEach, describe, expect, it } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-
-import { ProgressBar } from "..";
-
-describe("ProgressBar", () => {
- const baseProps = {
- ariaLabel: "Loading",
- currentPercentage: 0,
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("renders the `ProgressBar` component with no current percentage set", () => {
- const { container } = render(ProgressBar, {
- ...baseOptions,
- props: { ariaLabel: baseProps.ariaLabel },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("renders the `ProgressBar` component with current percentage set as zero", () => {
- const { container } = render(ProgressBar, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("re-renders the `ProgressBar` component when the current percentage property changes", async () => {
- const { container, rerender } = render(ProgressBar, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
-
- await rerender({ currentPercentage: 50 });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should pass additional class names to the rendered element", () => {
- const { container } = render(ProgressBar, {
- ...baseOptions,
- props: { ...baseProps, className: "foo bar" },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/RelativeTime.spec.js b/explorer/src/lib/dusk/components/__tests__/RelativeTime.spec.js
deleted file mode 100644
index 798cfbc984..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/RelativeTime.spec.js
+++ /dev/null
@@ -1,94 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-
-import RelativeTimeCustomContent from "./test-components/RelativeTimeCustomContent.svelte";
-
-import { RelativeTime } from "..";
-
-describe("RelativeTime", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 20, 15, 25, 30));
-
- const baseProps = {
- date: new Date(2024, 4, 20, 15, 25, 10),
- };
-
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("should render the relative time of the given date and should not updated it by default", async () => {
- const { container } = render(RelativeTime, baseOptions);
- const textContent = container.firstChild?.textContent;
-
- expect(container.firstChild).toMatchSnapshot();
- expect(textContent).toMatchInlineSnapshot(`"20 seconds ago"`);
-
- await vi.advanceTimersByTimeAsync(10000);
-
- expect(container.firstChild?.textContent).toBe(textContent);
- });
-
- it("should pass additional class names and attributes to the rendered element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- "data-baz": "baz",
- };
- const { container } = render(RelativeTime, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should update the relative time every second if the `autoRefresh` property is set to `true`", async () => {
- const props = { ...baseProps, autoRefresh: true };
- const { container } = render(RelativeTime, { ...baseOptions, props });
-
- expect(container.firstChild?.textContent).toMatchInlineSnapshot(
- `"30 seconds ago"`
- );
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.firstChild?.textContent).toMatchInlineSnapshot(
- `"31 seconds ago"`
- );
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.firstChild?.textContent).toMatchInlineSnapshot(
- `"32 seconds ago"`
- );
- });
-
- it("should allow to put custom content in the default slot", async () => {
- const { container } = render(RelativeTimeCustomContent, {
- ...baseOptions,
- props: { date: baseProps.date },
- });
-
- expect(container.firstChild).toMatchSnapshot();
- expect(container.firstChild?.textContent).toMatchInlineSnapshot(
- `"The relative time now is 32 seconds ago"`
- );
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.firstChild?.textContent).toMatchInlineSnapshot(
- `"The relative time now is 33 seconds ago"`
- );
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.firstChild?.textContent).toMatchInlineSnapshot(
- `"The relative time now is 34 seconds ago"`
- );
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Rerender.spec.js b/explorer/src/lib/dusk/components/__tests__/Rerender.spec.js
deleted file mode 100644
index e6bae9a2b2..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Rerender.spec.js
+++ /dev/null
@@ -1,176 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-
-import RerenderCounter from "./test-components/RerenderCounter.svelte";
-import RerenderGenerateValue1 from "./test-components/RerenderGenerateValue1.svelte";
-import RerenderGenerateValue2 from "./test-components/RerenderGenerateValue2.svelte";
-
-describe("renderWithSimpleContent", () => {
- vi.useFakeTimers();
-
- let domMutations = 0;
-
- const incrementMutations = () => domMutations++;
- const mutationObserver = new MutationObserver(incrementMutations);
-
- /**
- * @param {Parameters[0]} component
- * @param {Parameters[1]} options
- */
- const renderAndObserveContainer = (component, options) => {
- const renderResult = render(component, options);
-
- mutationObserver.observe(renderResult.container, {
- childList: true,
- subtree: true,
- });
-
- return renderResult;
- };
-
- const baseOptions = {
- target: document.body,
- };
-
- afterEach(() => {
- mutationObserver.disconnect();
- domMutations = 0;
- cleanup();
- });
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("should render its content and re-render it every second by default", async () => {
- const { container } = renderAndObserveContainer(
- RerenderCounter,
- baseOptions
- );
-
- expect(container.innerHTML).toMatchInlineSnapshot(`"0"`);
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toMatchInlineSnapshot(`"1"`);
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toMatchInlineSnapshot(`"2"`);
-
- expect(domMutations).toBe(2);
- });
-
- it("should accept a custom interval for re-renders", async () => {
- const props = { interval: 2000 };
- const { container } = renderAndObserveContainer(RerenderCounter, {
- ...baseOptions,
- props,
- });
-
- expect(container.innerHTML).toMatchInlineSnapshot(`"0"`);
-
- await vi.advanceTimersByTimeAsync(props.interval / 2);
-
- expect(container.innerHTML).toMatchInlineSnapshot(`"0"`);
-
- await vi.advanceTimersByTimeAsync(props.interval / 2);
-
- expect(container.innerHTML).toMatchInlineSnapshot(`"1"`);
-
- await vi.advanceTimersByTimeAsync(props.interval / 2);
-
- expect(container.innerHTML).toMatchInlineSnapshot(`"1"`);
-
- await vi.advanceTimersByTimeAsync(props.interval / 2);
-
- expect(container.innerHTML).toMatchInlineSnapshot(`"2"`);
- expect(domMutations).toBe(2);
- });
-
- it("should accept a custom `generateValue` function and use its result both as re-render key and as the default slot content", async () => {
- const values = [1, 2];
- const { container } = renderAndObserveContainer(RerenderGenerateValue1, {
- ...baseOptions,
- props: { values },
- });
-
- expect(container.innerHTML).toBe("1");
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toBe("2");
- expect(domMutations).toBe(1);
- });
-
- it("should not trigger a re-render if the generated value is equal to the previous one by the `SameValueZero` comparison", async () => {
- const values = [1, 2, 0, -0, NaN, NaN, 3, 3, 4];
- const { container } = renderAndObserveContainer(RerenderGenerateValue1, {
- ...baseOptions,
- props: { values },
- });
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toBe("2");
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toBe("0");
- expect(domMutations).toBe(2);
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toBe("0");
- expect(domMutations).toBe(2);
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toBe("NaN");
- expect(domMutations).toBe(3);
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toBe("NaN");
- expect(domMutations).toBe(3);
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toBe("3");
- expect(domMutations).toBe(4);
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toBe("3");
- expect(domMutations).toBe(4);
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toBe("4");
- expect(domMutations).toBe(5);
- });
-
- it("should expose the custom generated value and let it be used as part of custom content", async () => {
- const { container } = renderAndObserveContainer(
- RerenderGenerateValue2,
- baseOptions
- );
-
- expect(container.innerHTML).toMatchInlineSnapshot(
- `"now the value is: 0 "`
- );
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toMatchInlineSnapshot(
- `"now the value is: 1 "`
- );
-
- await vi.advanceTimersByTimeAsync(1000);
-
- expect(container.innerHTML).toMatchInlineSnapshot(
- `"now the value is: 2 "`
- );
- expect(domMutations).toBe(2);
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Select.spec.js b/explorer/src/lib/dusk/components/__tests__/Select.spec.js
deleted file mode 100644
index e33a87e4cb..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Select.spec.js
+++ /dev/null
@@ -1,146 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render, screen } from "@testing-library/svelte";
-
-import { Select } from "../";
-
-const stringOptions = ["one", "two", "three", "four"];
-
-/** @type {SelectOption[]} */
-const objectOptions = [
- { label: "one", value: "1" },
- { label: "two", value: "2" },
- { disabled: true, label: "three", value: "3" },
- { label: "four", value: "4" },
-];
-
-/** @type {GroupedSelectOptions} */
-const groupedOptions = {
- "Group one": [
- { label: "one", value: "1" },
- { label: "two", value: "2" },
- { disabled: true, label: "three", value: "3" },
- ],
- "Group two": [
- { label: "four", value: "4" },
- { label: "five", value: "5" },
- ],
-};
-
-/** @type {GroupedSelectOptions} */
-const groupedOptionsStrings = {
- "Group one": ["one", "two", "three", "four"],
- "Group two": ["five", "six", "seven"],
-};
-
-describe("Select", () => {
- const baseProps = {
- options: stringOptions,
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it("should render the Select component", () => {
- const { container } = render(Select, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should accept a change event handler", async () => {
- const changeHandler = vi.fn();
- const props = {
- ...baseProps,
- "data-testid": "my-select",
- value: "two",
- };
- const { component } = render(Select, { ...baseOptions, props });
-
- /** @type {HTMLSelectElement} */
- const select = screen.getByTestId("my-select");
- const target = select.querySelector("option[value='four']");
-
- component.$on("change", changeHandler);
-
- await fireEvent.change(select, { target });
-
- expect(changeHandler).toHaveBeenCalledTimes(1);
- expect(changeHandler).toHaveBeenCalledWith(expect.any(Event));
- expect(select.value).toBe("four");
- });
-
- it("should pass additional class names and attributes to the rendered element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- id: "some-id",
- };
- const { container } = render(Select, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should accept an array of objects as options", () => {
- const props = {
- ...baseProps,
- options: objectOptions,
- };
- const { container } = render(Select, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should use the value as label if an object is missing it", () => {
- const objectOptions2 = objectOptions.concat({ value: "5" });
- const props = {
- ...baseProps,
- options: objectOptions2,
- };
- const { container } = render(Select, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should accept an empty string as label and use it instead of falling back to the value", () => {
- const objectOptions2 = objectOptions.concat({ label: "", value: "5" });
- const props = {
- ...baseProps,
- options: objectOptions2,
- };
- const { container } = render(Select, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should accept an array of strings as `options` and use each string as both label and value", () => {
- const props = {
- ...baseProps,
- options: groupedOptionsStrings["Group one"],
- };
- const { container } = render(Select, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should accept a grouped object as `options` and create option groups", () => {
- const props = {
- ...baseProps,
- options: groupedOptions,
- };
- const { container } = render(Select, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should accept an array of string as values of a grouped object", () => {
- const props = {
- ...baseProps,
- options: groupedOptionsStrings,
- };
- const { container } = render(Select, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Switch.spec.js b/explorer/src/lib/dusk/components/__tests__/Switch.spec.js
deleted file mode 100644
index d7702cb1de..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Switch.spec.js
+++ /dev/null
@@ -1,138 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-
-import { Switch } from "..";
-
-describe("Switch", () => {
- const baseProps = {};
-
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it('should render the "Switch" component with a default tab index of `0`', async () => {
- const { container, rerender } = render(Switch, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
-
- await rerender({ ...baseProps, value: true });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should use the received tab index", () => {
- const props = {
- ...baseProps,
- tabindex: 5,
- };
- const { container } = render(Switch, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the component in a disabled status with a tabindex of `-1`", async () => {
- const props = {
- ...baseProps,
- disabled: true,
- tabindex: 5,
- };
- const { container, rerender } = render(Switch, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
-
- await rerender({ ...props, value: true });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should pass additional class names and attributes to the root element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- id: "some-id",
- };
- const { container } = render(Switch, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- describe("Event handlers", () => {
- it("should dispatch a `change` event when the switch is clicked", async () => {
- const { component, getByRole } = render(Switch, baseOptions);
- const switchElement = getByRole("switch");
- const handler = vi.fn();
-
- component.$on("change", handler);
-
- await fireEvent.click(switchElement);
- await fireEvent.click(switchElement);
-
- expect(handler).toHaveBeenCalledTimes(2);
- expect(handler).toHaveBeenNthCalledWith(
- 1,
- expect.objectContaining({ detail: true })
- );
- expect(handler).toHaveBeenNthCalledWith(
- 2,
- expect.objectContaining({ detail: false })
- );
- });
-
- it("should dispatch a `change` event when the user presses space on the switch", async () => {
- const { component, getByRole } = render(Switch, baseOptions);
- const switchElement = getByRole("switch");
- const handler = vi.fn();
-
- component.$on("change", handler);
-
- await fireEvent.keyDown(switchElement, { key: " " });
- await fireEvent.keyDown(switchElement, { key: " " });
-
- expect(handler).toHaveBeenCalledTimes(2);
- expect(handler).toHaveBeenNthCalledWith(
- 1,
- expect.objectContaining({ detail: true })
- );
- expect(handler).toHaveBeenNthCalledWith(
- 2,
- expect.objectContaining({ detail: false })
- );
- });
-
- it("should not dispatch an event if the user presses another key", async () => {
- const { component, getByRole } = render(Switch, baseOptions);
- const switchElement = getByRole("switch");
- const handler = vi.fn();
-
- component.$on("change", handler);
-
- await fireEvent.keyDown(switchElement, { key: "Enter" });
- await fireEvent.keyDown(switchElement, { key: "a" });
-
- expect(handler).not.toHaveBeenCalled();
- });
-
- it("should not dispatch an event if the switch is disabled", async () => {
- const props = {
- ...baseProps,
- disabled: true,
- };
- const { component, getByRole } = render(Switch, {
- ...baseOptions,
- props,
- });
- const switchElement = getByRole("switch");
- const handler = vi.fn();
-
- component.$on("change", handler);
-
- await fireEvent.click(switchElement);
- await fireEvent.keyDown(switchElement, { key: " " });
-
- expect(handler).not.toHaveBeenCalled();
- });
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Textbox.spec.js b/explorer/src/lib/dusk/components/__tests__/Textbox.spec.js
deleted file mode 100644
index 300f3efeed..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Textbox.spec.js
+++ /dev/null
@@ -1,115 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-
-import { Textbox } from "..";
-
-describe("Textbox", () => {
- const baseProps = {};
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- afterEach(cleanup);
-
- it('should render a Textbox of type "text" as a default', () => {
- const { container } = render(Textbox, baseOptions);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render a Textbox component of the desired type", () => {
- [
- "email",
- "hidden",
- "multiline",
- "number",
- "password",
- "search",
- "tel",
- "text",
- "url",
- ].forEach((type) => {
- const props = {
- ...baseProps,
- type,
- };
- const { container } = render(Textbox, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
-
- cleanup();
- });
- });
-
- it("should pass additional class names and attributes to the rendered element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- id: "some-id",
- value: "some textbox text",
- };
- const { container } = render(Textbox, { ...baseOptions, props });
-
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should change value before forwarding the `input` event", async () => {
- const initialValue = "some textbox text";
- const newValue = "new value";
- const props = {
- ...baseProps,
- className: "foo bar",
- id: "some-id",
- value: initialValue,
- };
-
- const changeHandler = vi.fn();
-
- const { component, getByRole } = render(Textbox, { ...baseOptions, props });
-
- const input = getByRole("textbox");
-
- expect(input).toHaveValue(initialValue);
-
- component.$on("input", changeHandler);
-
- await fireEvent.input(input, { target: { value: newValue } });
-
- expect(input).toHaveValue(newValue);
-
- expect(changeHandler).toHaveBeenCalledTimes(1);
- expect(changeHandler).toHaveBeenCalledWith(
- expect.objectContaining({
- target: expect.objectContaining({ value: newValue }),
- })
- );
- });
-
- it("should expose a method to give focus to the rendered element", () => {
- const { component, getByRole } = render(Textbox, baseOptions);
- const input = getByRole("textbox");
-
- component.focus();
-
- expect(input).toHaveFocus();
- });
-
- it("should expose a method to select the element's text", () => {
- const props = {
- ...baseProps,
- value: "some input text",
- };
- const { component, getByRole } = render(Textbox, { ...baseOptions, props });
- const input = /** @type {HTMLInputElement} */ (getByRole("textbox"));
-
- component.select();
-
- const selectedText = input.value.substring(
- Number(input.selectionStart),
- Number(input.selectionEnd)
- );
-
- expect(selectedText).toBe(props.value);
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Toast.spec.js b/explorer/src/lib/dusk/components/__tests__/Toast.spec.js
deleted file mode 100644
index 6b5d018b06..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Toast.spec.js
+++ /dev/null
@@ -1,177 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { get } from "svelte/store";
-import { fly } from "svelte/transition";
-import { mdiAlertOutline } from "@mdi/js";
-
-import { Toast } from "..";
-import { toast, toastList } from "../toast/store";
-
-vi.mock("svelte/transition");
-
-describe("Toast", () => {
- const baseProps = {
- flyDuration: 500,
- timer: 2000,
- };
-
- /** @param {HTMLElement} list */
- const getToastItems = (list) => list.querySelectorAll(".dusk-toast__item");
-
- vi.useFakeTimers();
-
- afterEach(() => {
- vi.mocked(fly).mockClear();
- cleanup();
- });
-
- afterAll(() => {
- vi.doUnmock("svelte/transition");
- });
-
- it("should render and dismiss the Toast component with the correct properties", async () => {
- const { getByRole } = render(Toast, baseProps);
- const list = getByRole("list");
-
- expect(get(toastList).length).toBe(0);
- expect(getToastItems(list).length).toBe(0);
- expect(fly).not.toHaveBeenCalled();
-
- toast("success", "Render Toast 1", mdiAlertOutline);
-
- await vi.advanceTimersToNextTimerAsync();
-
- const items = getToastItems(list);
- const toastStoredList = get(toastList);
-
- expect(toastStoredList.length).toBe(1);
- expect(toastStoredList[0]).toStrictEqual({
- icon: mdiAlertOutline,
- id: expect.any(String),
- message: "Render Toast 1",
- type: "success",
- });
- expect(items.length).toBe(1);
- expect(items[0]).toHaveTextContent("Render Toast 1");
- expect(
- items[0].querySelector(".dusk-toast__item-icon-wrapper--success")
- ).toBeDefined();
- expect(
- items[0].querySelector(`path[d="${mdiAlertOutline}"]`)
- ).toBeDefined();
- expect(fly).toHaveBeenCalledTimes(1);
- expect(fly).toHaveBeenCalledWith(
- items[0],
- expect.objectContaining({ duration: baseProps.flyDuration }),
- { direction: "in" }
- );
- expect(list).toMatchSnapshot();
-
- await vi.advanceTimersByTimeAsync(baseProps.timer);
-
- expect(get(toastList).length).toBe(0);
- expect(fly).toHaveBeenCalledTimes(2);
- expect(fly).toHaveBeenNthCalledWith(
- 2,
- items[0],
- expect.objectContaining({ duration: baseProps.flyDuration }),
- { direction: "out" }
- );
- });
-
- it("should render the Toast component with the correct custom class and rest props", async () => {
- const customProps = {
- className: "test-toast",
- "data-baz": "baz",
- flyDuration: 500,
- id: "toast-container",
- timer: 2000,
- };
-
- const { getByRole } = render(Toast, customProps);
- const list = getByRole("list");
-
- expect(list).toHaveClass(`${customProps.className}`);
- expect(list).toHaveAttribute("id", customProps.id);
- expect(list).toHaveAttribute("data-baz", customProps["data-baz"]);
-
- expect(list).toMatchSnapshot();
- });
-
- it("should render and dismiss 2 Toasts", async () => {
- const { getByRole } = render(Toast, baseProps);
- const list = getByRole("list");
-
- expect(get(toastList).length).toBe(0);
- expect(getToastItems(list).length).toBe(0);
- expect(fly).not.toHaveBeenCalled();
-
- toast("success", "Render Toast 1", mdiAlertOutline);
- toast("info", "Render Toast 2", mdiAlertOutline);
-
- await vi.advanceTimersToNextTimerAsync();
-
- const items = getToastItems(list);
- const toastStoredList = get(toastList);
-
- expect(toastStoredList.length).toBe(2);
- expect(toastStoredList[0]).toStrictEqual({
- icon: mdiAlertOutline,
- id: expect.any(String),
- message: "Render Toast 1",
- type: "success",
- });
- expect(toastStoredList[1]).toStrictEqual({
- icon: mdiAlertOutline,
- id: expect.any(String),
- message: "Render Toast 2",
- type: "info",
- });
- expect(items.length).toBe(2);
- expect(items[0]).toHaveTextContent("Render Toast 1");
- expect(
- items[0].querySelector(".dusk-toast__item-icon-wrapper--success")
- ).toBeDefined();
- expect(
- items[0].querySelector(`path[d="${mdiAlertOutline}"]`)
- ).toBeDefined();
-
- expect(items[1]).toHaveTextContent("Render Toast 2");
- expect(
- items[1].querySelector(".dusk-toast__item-icon-wrapper--info")
- ).toBeDefined();
- expect(
- items[1].querySelector(`path[d="${mdiAlertOutline}"]`)
- ).toBeDefined();
-
- expect(fly).toHaveBeenCalledTimes(2);
- expect(fly).toHaveBeenCalledWith(
- items[0],
- expect.objectContaining({ duration: baseProps.flyDuration }),
- { direction: "in" }
- );
- expect(fly).toHaveBeenCalledWith(
- items[1],
- expect.objectContaining({ duration: baseProps.flyDuration }),
- { direction: "in" }
- );
- expect(list).toMatchSnapshot();
-
- await vi.advanceTimersByTimeAsync(baseProps.timer);
-
- expect(get(toastList).length).toBe(0);
- expect(fly).toHaveBeenCalledTimes(4);
- expect(fly).toHaveBeenNthCalledWith(
- 3,
- items[0],
- expect.objectContaining({ duration: baseProps.flyDuration }),
- { direction: "out" }
- );
- expect(fly).toHaveBeenNthCalledWith(
- 4,
- items[1],
- expect.objectContaining({ duration: baseProps.flyDuration }),
- { direction: "out" }
- );
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/Tooltip.spec.js b/explorer/src/lib/dusk/components/__tests__/Tooltip.spec.js
deleted file mode 100644
index d0ed1b8f24..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/Tooltip.spec.js
+++ /dev/null
@@ -1,682 +0,0 @@
-import {
- afterAll,
- afterEach,
- beforeEach,
- describe,
- expect,
- it,
- vi,
-} from "vitest";
-import { computePosition, offset as setOffset } from "@floating-ui/dom";
-import { cleanup, fireEvent, render } from "@testing-library/svelte";
-import { tick } from "svelte";
-
-import { Tooltip } from "..";
-
-vi.mock("@floating-ui/dom");
-vi.useFakeTimers();
-
-/** @param {Record} dataset */
-function createEventTarget(dataset) {
- const target = document.createElement("div");
-
- Object.keys(dataset).forEach((key) => {
- target.dataset[key] = dataset[key];
- });
-
- return document.body.appendChild(target);
-}
-
-describe("Tooltip", () => {
- /** @type {import("svelte").ComponentProps} */
- const baseProps = {
- defaultDelayHide: 300,
- defaultDelayShow: 500,
- defaultOffset: 12,
- defaultPlace: "bottom",
- defaultType: "success",
- id: "tooltip-id",
- };
- const baseOptions = {
- props: baseProps,
- target: document.body,
- };
-
- /** @type {import("@floating-ui/dom").ComputePositionReturn} */
- const defaultComputedPosition = {
- middlewareData: {},
- placement: "left",
- strategy: "fixed",
- x: 999,
- y: 888,
- };
-
- const clearTimeoutSpy = vi.spyOn(window, "clearTimeout");
- const disconnectSpy = vi.spyOn(IntersectionObserver.prototype, "disconnect");
- const observeSpy = vi.spyOn(IntersectionObserver.prototype, "observe");
- const unobserveSpy = vi.spyOn(IntersectionObserver.prototype, "unobserve");
-
- vi.mocked(computePosition).mockResolvedValue(defaultComputedPosition);
-
- afterEach(() => {
- cleanup();
- vi.mocked(computePosition).mockClear();
- vi.mocked(setOffset).mockClear();
- vi.mocked(IntersectionObserver).mockClear();
- clearTimeoutSpy.mockClear();
- disconnectSpy.mockClear();
- observeSpy.mockClear();
- unobserveSpy.mockClear();
- });
-
- afterAll(() => {
- vi.doUnmock("@floating-ui/dom");
- clearTimeoutSpy.mockRestore();
- disconnectSpy.mockRestore();
- observeSpy.mockRestore();
- unobserveSpy.mockRestore();
- });
-
- it("should render the Tooltip component", () => {
- const { getByRole } = render(Tooltip, baseOptions);
-
- expect(getByRole("tooltip", { hidden: true })).toMatchSnapshot();
- });
-
- it("should disconnect the Intersection Observer when unmounting", () => {
- const { unmount } = render(Tooltip, baseOptions);
-
- unmount();
-
- expect(disconnectSpy).toHaveBeenCalledTimes(1);
- });
-
- it("should pass additional class names and attributes to the rendered element", () => {
- const props = {
- ...baseProps,
- className: "foo bar",
- "data-baz": "baz",
- };
- const { getByRole } = render(Tooltip, { ...baseOptions, props });
- const tooltip = getByRole("tooltip", { hidden: true });
-
- expect(tooltip).toHaveClass("foo bar");
- expect(tooltip).toHaveAttribute("data-baz", "baz");
- expect(tooltip).toMatchSnapshot();
- });
-
- it("shouldn't allow overwriting the `left` and `top` style rules", () => {
- const expectedStyle = "color: red; left: 0px; top: 0px;";
- const props = {
- ...baseProps,
- className: "foo bar",
- style: "color: red; left: 99px; top: 99px",
- };
- const { getByRole } = render(Tooltip, { ...baseOptions, props });
-
- expect(getByRole("tooltip", { hidden: true }).getAttribute("style")).toBe(
- expectedStyle
- );
- });
-
- it("should add event listeners to the document body when mounting and remove them when unmounting", () => {
- const addListenerSpy = vi.spyOn(document.body, "addEventListener");
- const removeListenerSpy = vi.spyOn(document.body, "removeEventListener");
- const { unmount } = render(Tooltip, baseOptions);
- const handlers = addListenerSpy.mock.calls.map((call) => call[1]);
-
- expect(addListenerSpy).toHaveBeenCalledTimes(5);
- expect(addListenerSpy).toHaveBeenNthCalledWith(
- 1,
- "focusin",
- expect.any(Function),
- true
- );
- expect(addListenerSpy).toHaveBeenNthCalledWith(
- 2,
- "focusout",
- expect.any(Function),
- true
- );
- expect(addListenerSpy).toHaveBeenNthCalledWith(
- 3,
- "keydown",
- expect.any(Function),
- true
- );
- expect(addListenerSpy).toHaveBeenNthCalledWith(
- 4,
- "mouseenter",
- expect.any(Function),
- true
- );
- expect(addListenerSpy).toHaveBeenNthCalledWith(
- 5,
- "mouseleave",
- expect.any(Function),
- true
- );
-
- unmount();
-
- expect(removeListenerSpy).toHaveBeenCalledTimes(5);
-
- expect(removeListenerSpy).toHaveBeenNthCalledWith(
- 1,
- "focusin",
- handlers[0],
- true
- );
- expect(removeListenerSpy).toHaveBeenNthCalledWith(
- 2,
- "focusout",
- handlers[1],
- true
- );
- expect(removeListenerSpy).toHaveBeenNthCalledWith(
- 3,
- "keydown",
- handlers[2],
- true
- );
- expect(removeListenerSpy).toHaveBeenNthCalledWith(
- 4,
- "mouseenter",
- handlers[3],
- true
- );
- expect(removeListenerSpy).toHaveBeenNthCalledWith(
- 5,
- "mouseleave",
- handlers[4],
- true
- );
-
- addListenerSpy.mockRestore();
- removeListenerSpy.mockRestore();
- });
-
- describe("Tooltip show and hide events", () => {
- /** @type {HTMLElement} */
- let badTarget;
-
- /** @type {HTMLElement} */
- let target;
-
- const prevTooltipElement = document.body.appendChild(
- document.createElement("span")
- );
- const dataset = { tooltipId: "tooltip-id", tooltipText: "some text" };
-
- beforeEach(() => {
- badTarget = createEventTarget({ tooltipId: "fake-tooltip-id" });
- prevTooltipElement.setAttribute("aria-described-by", baseProps.id);
- target = createEventTarget(dataset);
- });
-
- describe("Tooltip show events", () => {
- it("should ignore mouse enter and focus-in events if the target element doesn't refer to the tooltip", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.focusIn(document.body, { target: badTarget });
- await vi.advanceTimersToNextTimerAsync();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(badTarget.getAttribute("aria-described-by")).toBeNull();
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBe(
- baseProps.id
- );
-
- await fireEvent.mouseEnter(badTarget);
- await vi.advanceTimersToNextTimerAsync();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(badTarget.getAttribute("aria-described-by")).toBeNull();
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBe(
- baseProps.id
- );
- expect(clearTimeoutSpy).not.toHaveBeenCalled();
- expect(computePosition).not.toHaveBeenCalled();
- });
-
- it('should ignore mouse enter and focus-in events if the target element has the `data-tooltip-disabled` attribute set to `"true"`', async () => {
- const disabledTarget = createEventTarget({
- ...dataset,
- tooltipDisabled: "true",
- });
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.focusIn(document.body, { target: disabledTarget });
- await vi.advanceTimersToNextTimerAsync();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(disabledTarget.getAttribute("aria-described-by")).toBeNull();
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBe(
- baseProps.id
- );
-
- await fireEvent.mouseEnter(disabledTarget);
- await vi.advanceTimersToNextTimerAsync();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(disabledTarget.getAttribute("aria-described-by")).toBeNull();
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBe(
- baseProps.id
- );
- expect(clearTimeoutSpy).not.toHaveBeenCalled();
- expect(computePosition).not.toHaveBeenCalled();
- });
-
- it("should show the tooltip on a focus-in event if the target element refers to it and start observing target's intersection", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.focusIn(target);
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(observeSpy).toHaveBeenCalledTimes(1);
- expect(observeSpy).toHaveBeenCalledWith(target);
- expect(computePosition).toHaveBeenCalledTimes(1);
- expect(computePosition).toHaveBeenCalledWith(
- target,
- tooltip,
- expect.objectContaining({ placement: baseProps.defaultPlace })
- );
- expect(setOffset).toHaveBeenCalledTimes(1);
- expect(setOffset).toHaveBeenCalledWith({
- mainAxis: baseProps.defaultOffset,
- });
-
- expect(tooltip).toHaveTextContent(dataset.tooltipText);
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBe(
- baseProps.id
- );
-
- await vi.advanceTimersByTimeAsync(Number(baseProps.defaultDelayShow));
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
- expect(target.getAttribute("aria-described-by")).toBe(baseProps.id);
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBeNull();
- });
-
- it("should show the tooltip on a mouse enter event if the target element refers to it and start observing target mutations", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.mouseEnter(target);
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(observeSpy).toHaveBeenCalledTimes(1);
- expect(observeSpy).toHaveBeenCalledWith(target);
- expect(computePosition).toHaveBeenCalledTimes(1);
- expect(computePosition).toHaveBeenCalledWith(
- target,
- tooltip,
- expect.objectContaining({ placement: baseProps.defaultPlace })
- );
- expect(setOffset).toHaveBeenCalledTimes(1);
- expect(setOffset).toHaveBeenCalledWith({
- mainAxis: baseProps.defaultOffset,
- });
-
- expect(tooltip).toHaveTextContent(dataset.tooltipText);
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBe(
- baseProps.id
- );
-
- await vi.advanceTimersByTimeAsync(Number(baseProps.defaultDelayShow));
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
- expect(target.getAttribute("aria-described-by")).toBe(baseProps.id);
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBeNull();
- });
-
- it("should use attributes defined on the target element, if they are present, rather than the defaults", async () => {
- target.setAttribute("data-tooltip-delay-show", "700");
- target.setAttribute("data-tooltip-offset", "0");
- target.setAttribute("data-tooltip-place", "top");
- target.setAttribute("data-tooltip-type", "error");
-
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.mouseEnter(target);
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(computePosition).toHaveBeenCalledTimes(1);
- expect(computePosition).toHaveBeenCalledWith(
- target,
- tooltip,
- expect.objectContaining({ placement: "top" })
- );
- expect(setOffset).toHaveBeenCalledTimes(1);
- expect(setOffset).toHaveBeenCalledWith({ mainAxis: 0 });
-
- expect(tooltip).toHaveTextContent(dataset.tooltipText);
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBe(
- baseProps.id
- );
-
- await vi.advanceTimersByTimeAsync(Number(baseProps.defaultDelayShow));
-
- expect(tooltip).toHaveTextContent(dataset.tooltipText);
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBe(
- baseProps.id
- );
-
- await vi.advanceTimersByTimeAsync(
- 700 - Number(baseProps.defaultDelayShow)
- );
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
- expect(tooltip).toHaveClass("dusk-tooltip-error");
- expect(target.getAttribute("aria-described-by")).toBe(baseProps.id);
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBeNull();
- });
-
- it("should not wait for a delay before showing if the value is zero", async () => {
- target.setAttribute("data-tooltip-delay-show", "0");
-
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.mouseEnter(target);
- await tick();
-
- expect(tooltip).toHaveTextContent(dataset.tooltipText);
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
- expect(target.getAttribute("aria-described-by")).toBe(baseProps.id);
- expect(prevTooltipElement.getAttribute("aria-described-by")).toBeNull();
- });
-
- it("should not show the tooltip after the delay if the target element doesn't exist anymore", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.mouseEnter(target);
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(observeSpy).toHaveBeenCalledTimes(1);
- expect(computePosition).toHaveBeenCalledTimes(1);
- expect(setOffset).toHaveBeenCalledTimes(1);
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
-
- target.remove();
-
- await vi.advanceTimersByTimeAsync(Number(baseProps.defaultDelayShow));
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- });
- });
-
- describe("Tooltip hide events", () => {
- it("should ignore mouse leave and focus-out events if the target element doesn't refer to the tooltip", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.mouseEnter(document.body, { target });
- await vi.advanceTimersToNextTimerAsync();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- await fireEvent.focusOut(document.body, { target: badTarget });
- await vi.advanceTimersToNextTimerAsync();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- await fireEvent.mouseLeave(document.body, { target: badTarget });
- await vi.advanceTimersToNextTimerAsync();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- expect(unobserveSpy).not.toHaveBeenCalled();
- });
-
- it("should hide the tooltip on a focus-out event if the target element refers to it", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.focusIn(target);
- await vi.advanceTimersToNextTimerAsync();
-
- clearTimeoutSpy.mockClear();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- await fireEvent.focusOut(target);
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledWith(target);
-
- await vi.advanceTimersByTimeAsync(Number(baseProps.defaultDelayHide));
-
- expect(tooltip).toHaveTextContent("");
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- });
-
- it("should hide the tooltip on a mouse leave event if the target element refers to it", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.focusIn(target);
- await vi.advanceTimersToNextTimerAsync();
-
- clearTimeoutSpy.mockClear();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- await fireEvent.mouseLeave(target);
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledWith(target);
-
- await vi.advanceTimersByTimeAsync(Number(baseProps.defaultDelayHide));
-
- expect(tooltip).toHaveTextContent("");
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- });
-
- it("should use the hide delay on the target element, if present, rather than the default", async () => {
- target.setAttribute("data-tooltip-delay-hide", "700");
-
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.focusIn(target);
- await vi.advanceTimersToNextTimerAsync();
-
- clearTimeoutSpy.mockClear();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- await fireEvent.mouseLeave(target);
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledWith(target);
-
- await vi.advanceTimersByTimeAsync(Number(baseProps.defaultDelayHide));
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- await vi.advanceTimersByTimeAsync(
- 700 - Number(baseProps.defaultDelayHide)
- );
-
- expect(tooltip).toHaveTextContent("");
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- });
-
- it("should not wait for a delay before hiding if the value is zero", async () => {
- target.setAttribute("data-tooltip-delay-hide", "0");
-
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.focusIn(target);
- await vi.advanceTimersToNextTimerAsync();
-
- clearTimeoutSpy.mockClear();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- await fireEvent.mouseLeave(target);
- await tick();
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledWith(target);
- expect(tooltip).toHaveTextContent("");
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- });
-
- it("should hide the tooltip if the user presses the escape key", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
-
- await fireEvent.focusIn(target);
- await vi.advanceTimersToNextTimerAsync();
-
- clearTimeoutSpy.mockClear();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- await fireEvent.keyDown(target, { key: "a" });
- await vi.advanceTimersToNextTimerAsync();
-
- expect(clearTimeoutSpy).not.toHaveBeenCalled();
- expect(unobserveSpy).not.toHaveBeenCalled();
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- await fireEvent.keyDown(target, { key: "Escape" });
- await vi.advanceTimersToNextTimerAsync();
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledTimes(1);
- expect(unobserveSpy).toHaveBeenCalledWith(target);
- expect(tooltip).toHaveTextContent("");
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(target.getAttribute("aria-described-by")).toBeNull();
- });
-
- it("should hide the tooltip if the target element is detached from the DOM and disconnect the observer", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
- const [callback] = vi.mocked(IntersectionObserver).mock.calls[0];
-
- await fireEvent.focusIn(target);
- await vi.advanceTimersToNextTimerAsync();
-
- clearTimeoutSpy.mockClear();
-
- expect(target.isConnected).toBe(true);
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- target.remove();
-
- // @ts-ignore
- callback([{ target }], new IntersectionObserver(() => {}));
-
- await tick();
-
- expect(target.isConnected).toBe(false);
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(disconnectSpy).toHaveBeenCalledTimes(1);
- });
-
- it("shouldn't hide the tooltip if unrelated elements are detached from the DOM", async () => {
- const unrelatedElement = document.body.appendChild(
- document.createElement("span")
- );
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
- const [callback] = vi.mocked(IntersectionObserver).mock.calls[0];
-
- await fireEvent.focusIn(target);
- await vi.advanceTimersToNextTimerAsync();
-
- clearTimeoutSpy.mockClear();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- unrelatedElement.remove();
-
- // @ts-ignore
- callback([{ target }], new IntersectionObserver(() => {}));
-
- await tick();
-
- expect(clearTimeoutSpy).not.toHaveBeenCalled();
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
- expect(disconnectSpy).not.toHaveBeenCalled();
- });
-
- it("should hide the tooltip if the intersection ratio of the target element is less or equal to zero", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
- const [callback] = vi.mocked(IntersectionObserver).mock.calls[0];
-
- await fireEvent.focusIn(target);
- await vi.advanceTimersToNextTimerAsync();
-
- clearTimeoutSpy.mockClear();
-
- expect(target.isConnected).toBe(true);
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- const entries = [{ intersectionRatio: 0, target }];
-
- // @ts-ignore
- callback(entries, new IntersectionObserver(() => {}));
-
- await tick();
-
- expect(clearTimeoutSpy).toHaveBeenCalledTimes(1);
- expect(tooltip.getAttribute("aria-hidden")).toBe("true");
- expect(disconnectSpy).toHaveBeenCalledTimes(1);
- });
-
- it("shouldn't hide the tooltip if the intersection ration of the target is greater than zero", async () => {
- const { getByRole } = render(Tooltip, baseOptions);
- const tooltip = getByRole("tooltip", { hidden: true });
- const [callback] = vi.mocked(IntersectionObserver).mock.calls[0];
-
- await fireEvent.focusIn(target);
- await vi.advanceTimersToNextTimerAsync();
-
- clearTimeoutSpy.mockClear();
-
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
-
- const entries = [{ intersectionRatio: 1, target }];
-
- // @ts-ignore
- callback(entries, new IntersectionObserver(() => {}));
-
- await tick();
-
- expect(clearTimeoutSpy).not.toHaveBeenCalled();
- expect(tooltip.getAttribute("aria-hidden")).toBe("false");
- expect(disconnectSpy).not.toHaveBeenCalled();
- });
- });
- });
-});
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Anchor.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Anchor.spec.js.snap
deleted file mode 100644
index 084b80c879..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Anchor.spec.js.snap
+++ /dev/null
@@ -1,24 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Anchor > should pass additional class names and attributes to the rendered element 1`] = `
-
-
- some text
-
-
-`;
-
-exports[`Anchor > should render the Anchor component 1`] = `
-
-
- some text
-
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/AnchorButton.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/AnchorButton.spec.js.snap
deleted file mode 100644
index 14595409e7..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/AnchorButton.spec.js.snap
+++ /dev/null
@@ -1,199 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`AnchorButton > should add a disabled class if the related property is \`true\` 1`] = `
-
-
- some text
-
-
-
-`;
-
-exports[`AnchorButton > should be able to render a AnchorButton with an icon and text 1`] = `
-
-
- some text
-
-
-
-
-
-
-
-
-`;
-
-exports[`AnchorButton > should be able to render a AnchorButton with an icon and text 2`] = `
-
-
- some text
-
-
-
-
-
-
-
-
-`;
-
-exports[`AnchorButton > should be able to render a AnchorButton with an icon and text 3`] = `
-
-
- some text
-
-
-
-
-
-
-
-
-`;
-
-exports[`AnchorButton > should be able to render a AnchorButton with an icon only 1`] = `
-
-
-
-
-
-
-
-
-`;
-
-exports[`AnchorButton > should be able to render a AnchorButton with an icon only 2`] = `
-
-
-
-
-
-
-
-
-`;
-
-exports[`AnchorButton > should be able to render a AnchorButton with an icon only 3`] = `
-
-
-
-
-
-
-
-
-`;
-
-exports[`AnchorButton > should pass additional class names and attributes to the rendered element 1`] = `
-
-
- some text
-
-
-
-`;
-
-exports[`AnchorButton > should render a AnchorButton without a text 1`] = `
-
-
-
-`;
-
-exports[`AnchorButton > should render the AnchorButton component 1`] = `
-
-
- some text
-
-
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Badge.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Badge.spec.js.snap
deleted file mode 100644
index a652db3a37..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Badge.spec.js.snap
+++ /dev/null
@@ -1,42 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Badge > should pass additional class names and attributes to the root element 1`] = `
-
- Badge
-
-`;
-
-exports[`Badge > should render the Badge component using the type "error" variant 1`] = `
-
- Badge
-
-`;
-
-exports[`Badge > should render the Badge component using the type "neutral" as a default 1`] = `
-
- Badge
-
-`;
-
-exports[`Badge > should render the Badge component using the type "success" variant 1`] = `
-
- Badge
-
-`;
-
-exports[`Badge > should render the Badge component using the type "warning" variant 1`] = `
-
- Badge
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Button.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Button.spec.js.snap
deleted file mode 100644
index c004221301..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Button.spec.js.snap
+++ /dev/null
@@ -1,173 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Button > should be able to render a button with an icon and text 1`] = `
-
-
- some text
-
-
-
-
-
-
-
-`;
-
-exports[`Button > should be able to render a button with an icon and text 2`] = `
-
-
- some text
-
-
-
-
-
-
-
-`;
-
-exports[`Button > should be able to render a button with an icon only 1`] = `
-
-
-
-
-
-
-
-`;
-
-exports[`Button > should be able to render a button with an icon only 2`] = `
-
-
-
-
-
-
-
-`;
-
-exports[`Button > should pass additional class names and attributes to the rendered element 1`] = `
-
-
- some text
-
-
-`;
-
-exports[`Button > should render a button of the desired type 1`] = `
-
-
- some text
-
-
-`;
-
-exports[`Button > should render a button of the desired type 2`] = `
-
-
- some text
-
-
-`;
-
-exports[`Button > should render a button of the desired type 3`] = `
-
-
- some text
-
-
-`;
-
-exports[`Button > should render a button of the desired type 4`] = `
-
-
- some text
-
-
-`;
-
-exports[`Button > should render a button without a text 1`] = `
-
-`;
-
-exports[`Button > should render the Button component using the type "button" as a default 1`] = `
-
-
- some text
-
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Card.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Card.spec.js.snap
deleted file mode 100644
index 0374238dd7..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Card.spec.js.snap
+++ /dev/null
@@ -1,13 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Card > renders the Card component 1`] = `
-
-
-
- some text
-
-
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Icon.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Icon.spec.js.snap
deleted file mode 100644
index 5e75f800ea..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Icon.spec.js.snap
+++ /dev/null
@@ -1,61 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Icon > should accept a custom role for the SVG component 1`] = `
-
-
-
-`;
-
-exports[`Icon > should pass additional class names and attributes to the rendered element 1`] = `
-
-
-
-`;
-
-exports[`Icon > should pass additional class names and attributes to the rendered element 2`] = `
-
-
-
-
-`;
-
-exports[`Icon > should render the Icon component 1`] = `
-
-
-
-`;
-
-exports[`Icon > should render the icon inside a \`g\` element if it's part of a stack 1`] = `
-
-
-
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/NavList.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/NavList.spec.js.snap
deleted file mode 100644
index 8d2e8c2128..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/NavList.spec.js.snap
+++ /dev/null
@@ -1,43 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`NavList > renders the NavList component 1`] = `
-
-
-
- Dusk
-
-
-
- Explorer
-
-
-`;
-
-exports[`NavList > should pass additional class names and attributes to the rendered element 1`] = `
-
-
-
- Dusk
-
-
-
- Explorer
-
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/ProgressBar.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/ProgressBar.spec.js.snap
deleted file mode 100644
index f16c850b8a..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/ProgressBar.spec.js.snap
+++ /dev/null
@@ -1,65 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`ProgressBar > re-renders the \`ProgressBar\` component when the current percentage property changes 1`] = `
-
-`;
-
-exports[`ProgressBar > re-renders the \`ProgressBar\` component when the current percentage property changes 2`] = `
-
-`;
-
-exports[`ProgressBar > renders the \`ProgressBar\` component with current percentage set as zero 1`] = `
-
-`;
-
-exports[`ProgressBar > renders the \`ProgressBar\` component with no current percentage set 1`] = `
-
-`;
-
-exports[`ProgressBar > should pass additional class names to the rendered element 1`] = `
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/RelativeTime.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/RelativeTime.spec.js.snap
deleted file mode 100644
index a66d8664b7..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/RelativeTime.spec.js.snap
+++ /dev/null
@@ -1,33 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`RelativeTime > should allow to put custom content in the default slot 1`] = `
-
-
- The relative time now is
- 32 seconds ago
-
-
-
-`;
-
-exports[`RelativeTime > should pass additional class names and attributes to the rendered element 1`] = `
-
- 30 seconds ago
-
-`;
-
-exports[`RelativeTime > should render the relative time of the given date and should not updated it by default 1`] = `
-
- 20 seconds ago
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Select.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Select.spec.js.snap
deleted file mode 100644
index 29ee9911a5..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Select.spec.js.snap
+++ /dev/null
@@ -1,318 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Select > should accept a grouped object as \`options\` and create option groups 1`] = `
-
-
-
- one
-
-
-
- two
-
-
-
- three
-
-
-
-
-
-
- four
-
-
-
- five
-
-
-
-
-
-
-`;
-
-exports[`Select > should accept an array of objects as options 1`] = `
-
-
- one
-
-
-
- two
-
-
-
- three
-
-
-
- four
-
-
-
-
-`;
-
-exports[`Select > should accept an array of string as values of a grouped object 1`] = `
-
-
-
- one
-
-
-
- two
-
-
-
- three
-
-
-
- four
-
-
-
-
-
-
- five
-
-
-
- six
-
-
-
- seven
-
-
-
-
-
-
-`;
-
-exports[`Select > should accept an array of strings as \`options\` and use each string as both label and value 1`] = `
-
-
- one
-
-
-
- two
-
-
-
- three
-
-
-
- four
-
-
-
-
-`;
-
-exports[`Select > should accept an empty string as label and use it instead of falling back to the value 1`] = `
-
-
- one
-
-
-
- two
-
-
-
- three
-
-
-
- four
-
-
-
-
-
-
-
-
-`;
-
-exports[`Select > should pass additional class names and attributes to the rendered element 1`] = `
-
-
- one
-
-
-
- two
-
-
-
- three
-
-
-
- four
-
-
-
-
-`;
-
-exports[`Select > should render the Select component 1`] = `
-
-
- one
-
-
-
- two
-
-
-
- three
-
-
-
- four
-
-
-
-
-`;
-
-exports[`Select > should use the value as label if an object is missing it 1`] = `
-
-
- one
-
-
-
- two
-
-
-
- three
-
-
-
- four
-
-
-
- 5
-
-
-
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Switch.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Switch.spec.js.snap
deleted file mode 100644
index c546c2969d..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Switch.spec.js.snap
+++ /dev/null
@@ -1,62 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Switch > should pass additional class names and attributes to the root element 1`] = `
-
-`;
-
-exports[`Switch > should render the "Switch" component with a default tab index of \`0\` 1`] = `
-
-`;
-
-exports[`Switch > should render the "Switch" component with a default tab index of \`0\` 2`] = `
-
-`;
-
-exports[`Switch > should render the component in a disabled status with a tabindex of \`-1\` 1`] = `
-
-`;
-
-exports[`Switch > should render the component in a disabled status with a tabindex of \`-1\` 2`] = `
-
-`;
-
-exports[`Switch > should use the received tab index 1`] = `
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Textbox.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Textbox.spec.js.snap
deleted file mode 100644
index 853e5b42e2..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Textbox.spec.js.snap
+++ /dev/null
@@ -1,79 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Textbox > should pass additional class names and attributes to the rendered element 1`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox component of the desired type 1`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox component of the desired type 2`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox component of the desired type 3`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox component of the desired type 4`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox component of the desired type 5`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox component of the desired type 6`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox component of the desired type 7`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox component of the desired type 8`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox component of the desired type 9`] = `
-
-`;
-
-exports[`Textbox > should render a Textbox of type "text" as a default 1`] = `
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Toast.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Toast.spec.js.snap
deleted file mode 100644
index 74cb153445..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Toast.spec.js.snap
+++ /dev/null
@@ -1,98 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Toast > should render and dismiss 2 Toasts 1`] = `
-
-
-
-
-
-
-
-
-
-
- Render Toast 1
-
-
-
-
-
-
-
-
-
-
-
-
- Render Toast 2
-
-
-
-
-`;
-
-exports[`Toast > should render and dismiss the Toast component with the correct properties 1`] = `
-
-
-
-
-
-
-
-
-
-
- Render Toast 1
-
-
-
-
-`;
-
-exports[`Toast > should render the Toast component with the correct custom class and rest props 1`] = `
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Tooltip.spec.js.snap b/explorer/src/lib/dusk/components/__tests__/__snapshots__/Tooltip.spec.js.snap
deleted file mode 100644
index 485ae3fd32..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/__snapshots__/Tooltip.spec.js.snap
+++ /dev/null
@@ -1,26 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Tooltip > should pass additional class names and attributes to the rendered element 1`] = `
-
-
-
-`;
-
-exports[`Tooltip > should render the Tooltip component 1`] = `
-
-
-
-`;
diff --git a/explorer/src/lib/dusk/components/__tests__/test-components/RelativeTimeCustomContent.svelte b/explorer/src/lib/dusk/components/__tests__/test-components/RelativeTimeCustomContent.svelte
deleted file mode 100644
index 654d60b19b..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/test-components/RelativeTimeCustomContent.svelte
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
- The relative time now is {relativeTime}
-
-
diff --git a/explorer/src/lib/dusk/components/__tests__/test-components/RerenderCounter.svelte b/explorer/src/lib/dusk/components/__tests__/test-components/RerenderCounter.svelte
deleted file mode 100644
index c608d52571..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/test-components/RerenderCounter.svelte
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-{counter++}
diff --git a/explorer/src/lib/dusk/components/__tests__/test-components/RerenderGenerateValue1.svelte b/explorer/src/lib/dusk/components/__tests__/test-components/RerenderGenerateValue1.svelte
deleted file mode 100644
index 68a5b33777..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/test-components/RerenderGenerateValue1.svelte
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/lib/dusk/components/__tests__/test-components/RerenderGenerateValue2.svelte b/explorer/src/lib/dusk/components/__tests__/test-components/RerenderGenerateValue2.svelte
deleted file mode 100644
index 10403bf58b..0000000000
--- a/explorer/src/lib/dusk/components/__tests__/test-components/RerenderGenerateValue2.svelte
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- now the value is: {value}
-
diff --git a/explorer/src/lib/dusk/components/anchor-button/AnchorButton.css b/explorer/src/lib/dusk/components/anchor-button/AnchorButton.css
deleted file mode 100644
index 0d98b9baaa..0000000000
--- a/explorer/src/lib/dusk/components/anchor-button/AnchorButton.css
+++ /dev/null
@@ -1,10 +0,0 @@
-.dusk-anchor-button {
- appearance: button;
- text-decoration: none;
- text-align: center;
-}
-
-.dusk-anchor-button.dusk-anchor-button--disabled {
- cursor: default;
- pointer-events: none;
-}
diff --git a/explorer/src/lib/dusk/components/anchor-button/AnchorButton.svelte b/explorer/src/lib/dusk/components/anchor-button/AnchorButton.svelte
deleted file mode 100644
index 956ef5cc3a..0000000000
--- a/explorer/src/lib/dusk/components/anchor-button/AnchorButton.svelte
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
- {#if icon?.position === "after"}
- {#if text}
- {text}
- {/if}
-
- {:else if icon}
-
- {#if text}
- {text}
- {/if}
- {:else if text}
- {text}
- {/if}
-
diff --git a/explorer/src/lib/dusk/components/anchor/Anchor.css b/explorer/src/lib/dusk/components/anchor/Anchor.css
deleted file mode 100644
index 7755841bc7..0000000000
--- a/explorer/src/lib/dusk/components/anchor/Anchor.css
+++ /dev/null
@@ -1,30 +0,0 @@
-.dusk-anchor {
- text-decoration: none;
-}
-
-.dusk-anchor--off-surface {
- color: var(--anchor-color);
-}
-
-.dusk-anchor--off-surface:visited {
- color: var(--anchor-color-visited);
-}
-
-.dusk-anchor--off-surface:hover {
- color: var(--anchor-color-hover);
-}
-
-.dusk-anchor--off-surface:active {
- color: var(--anchor-color-active);
-}
-
-.dusk-anchor--on-surface,
-.dusk-anchor--on-surface:visited,
-.dusk-anchor--on-surface:hover,
-.dusk-anchor--on-surface:active {
- color: var(--anchor-color-on-surface);
-}
-
-.dusk-anchor--on-surface:hover {
- text-decoration: underline;
-}
diff --git a/explorer/src/lib/dusk/components/anchor/Anchor.svelte b/explorer/src/lib/dusk/components/anchor/Anchor.svelte
deleted file mode 100644
index 44e85cb29d..0000000000
--- a/explorer/src/lib/dusk/components/anchor/Anchor.svelte
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
diff --git a/explorer/src/lib/dusk/components/badge/Badge.css b/explorer/src/lib/dusk/components/badge/Badge.css
deleted file mode 100644
index 393025bb54..0000000000
--- a/explorer/src/lib/dusk/components/badge/Badge.css
+++ /dev/null
@@ -1,39 +0,0 @@
-.dusk-badge {
- padding: 0.3em 1em;
- border-radius: var(--control-border-radius-size);
- text-transform: uppercase;
- font-size: 0.875em;
- border-style: solid;
- border-width: 0.125em;
- text-align: center;
-}
-
-.dusk-badge--variant-neutral {
- background-color: transparent;
- border-color: var(--on-background-color);
- color: var(--on-background-color);
-}
-
-.dusk-badge--variant-alt {
- background-color: white;
- border-color: white;
- color: var(--on-background-color);
-}
-
-.dusk-badge--variant-warning {
- background-color: var(--warning-color);
- border-color: var(--warning-color);
- color: var(--on-warning-color);
-}
-
-.dusk-badge--variant-error {
- background-color: var(--error-color);
- border-color: var(--error-color);
- color: var(--on-error-color);
-}
-
-.dusk-badge--variant-success {
- background-color: var(--success-color);
- border-color: var(--success-color);
- color: var(--on-success-color);
-}
diff --git a/explorer/src/lib/dusk/components/badge/Badge.svelte b/explorer/src/lib/dusk/components/badge/Badge.svelte
deleted file mode 100644
index 0dbfdd397b..0000000000
--- a/explorer/src/lib/dusk/components/badge/Badge.svelte
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-{text.substring(0, maxlength)}
diff --git a/explorer/src/lib/dusk/components/banner/Banner.css b/explorer/src/lib/dusk/components/banner/Banner.css
deleted file mode 100644
index c8b63964e2..0000000000
--- a/explorer/src/lib/dusk/components/banner/Banner.css
+++ /dev/null
@@ -1,46 +0,0 @@
-.dusk-banner {
- width: 100%;
- display: flex;
- align-items: center;
- padding: 1rem 1.25rem;
- border-radius: 0.75rem;
- font-size: 0.875rem;
- border-style: solid;
- border-width: 0.0625rem;
- line-height: 1.5;
-}
-
-.dusk-banner .dusk-banner--info {
- border-color: var(--banner-info-color);
-}
-
-.dusk-banner .dusk-banner--warning {
- border-color: var(--banner-warning-color);
-}
-
-.dusk-banner .dusk-banner--error {
- border-color: var(--banner-error-color);
-}
-
-.dusk-banner .dusk-banner__title {
- font-weight: 500;
- font-size: 1.1rem;
- display: block;
-}
-
-.dusk-banner .dusk-banner__icon {
- margin-right: var(--default-gap);
- flex-shrink: 0;
-}
-
-.dusk-banner .dusk-banner__icon--info {
- fill: var(--banner-info-color);
-}
-
-.dusk-banner .dusk-banner__icon--warning {
- fill: var(--banner-warning-color);
-}
-
-.dusk-banner .dusk-banner__icon--error {
- fill: var(--banner-error-color);
-}
diff --git a/explorer/src/lib/dusk/components/banner/Banner.svelte b/explorer/src/lib/dusk/components/banner/Banner.svelte
deleted file mode 100644
index d08fcba7da..0000000000
--- a/explorer/src/lib/dusk/components/banner/Banner.svelte
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
-
-
-
-
{title}
-
- No banner content provided.
-
-
-
diff --git a/explorer/src/lib/dusk/components/button/Button.css b/explorer/src/lib/dusk/components/button/Button.css
deleted file mode 100644
index 5718c28be2..0000000000
--- a/explorer/src/lib/dusk/components/button/Button.css
+++ /dev/null
@@ -1,112 +0,0 @@
-/* General Styles */
-.dusk-button,
-.dusk-anchor-button,
-.dusk-anchor-button:visited {
- display: inline-flex;
- align-items: center;
- justify-content: center;
- font-family: inherit;
- letter-spacing: inherit;
- line-height: 1;
- border-radius: var(--control-border-radius-size);
- border-style: solid;
- border-width: var(--control-border-size);
- text-transform: uppercase;
- transform-origin: center center;
- transition-delay: 0s;
- transition-duration: 0.2s;
- transition-property: background-color, border-color, color, scale;
- transition-timing-function: ease-in-out;
-}
-
-/* Variants */
-.dusk-button,
-.dusk-anchor-button,
-.dusk-anchor-button:visited {
- background-color: var(--control-bg-color);
- border-color: var(--control-border-color);
- color: var(--control-text-color);
-}
-
-.dusk-button--variant--secondary,
-.dusk-anchor-button--variant--secondary,
-.dusk-anchor-button--variant--secondary:visited {
- background-color: var(--control-secondary-bg-color);
- border-color: var(--control-secondary-border-color);
- color: var(--control-secondary-text-color);
-}
-
-.dusk-button--variant--tertiary,
-.dusk-anchor-button--variant--tertiary,
-.dusk-anchor-button--variant--tertiary:visited {
- background-color: var(--control-tertiary-bg-color);
- border-color: var(--control-tertiary-border-color);
- color: var(--control-tertiary-text-color);
-}
-
-/* Sizes */
-.dusk-button--size--small,
-.dusk-anchor-button--size--small,
-.dusk-anchor-button--size--small:visited {
- font-size: var(--control-small-font-size);
- gap: calc(var(--control-small-font-size) / 2);
- padding: var(--control-small-padding);
-}
-
-.dusk-button--size--default,
-.dusk-anchor-button--size--default,
-.dusk-anchor-button--size--default:visited {
- font-size: var(--control-font-size);
- gap: calc(var(--control-font-size) / 2);
- padding: var(--control-padding);
-}
-
-/* States */
-.dusk-button:disabled,
-.dusk-anchor-button.dusk-anchor-button--disabled,
-.dusk-anchor-button.dusk-anchor-button--disabled:hover,
-.dusk-anchor-button.dusk-anchor-button--disabled:visited {
- opacity: 0.5;
-}
-
-.dusk-button > span,
-.dusk-anchor-button > span {
- flex: 1;
- display: inline-block;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-/* Icon Buttons */
-.dusk-icon-button:not(.dusk-icon-button--labeled) {
- border-radius: 50%;
- padding: 0.2em;
-}
-
-.dusk-button:enabled:hover,
-.dusk-button:enabled:active,
-.dusk-anchor-button:hover,
-.dusk-anchor-button:active,
-.dusk-button--active {
- background-color: var(--control-bg-color-hover);
- color: var(--control-text-color-hover);
- border-color: var(--control-secondary-border-color-hover);
-}
-
-.dusk-button:enabled:active,
-.dusk-anchor-button:active,
-.dusk-button--active {
- scale: 0.98;
-}
-
-.dusk-anchor.dusk-icon-button:hover,
-.dusk-icon-button:not(:disabled):hover {
- scale: 1.1;
-}
-
-.dusk-icon-button:enabled:active,
-.dusk-anchor-button.dusk-icon-button:active,
-.dusk-button--active {
- scale: 0.9;
-}
diff --git a/explorer/src/lib/dusk/components/button/Button.svelte b/explorer/src/lib/dusk/components/button/Button.svelte
deleted file mode 100644
index 5e7639a24e..0000000000
--- a/explorer/src/lib/dusk/components/button/Button.svelte
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
- {#if icon?.position === "after"}
- {#if text}
- {text}
- {/if}
-
- {:else if icon}
-
- {#if text}
- {text}
- {/if}
- {:else if text}
- {text}
- {/if}
-
diff --git a/explorer/src/lib/dusk/components/card/Card.css b/explorer/src/lib/dusk/components/card/Card.css
deleted file mode 100644
index 712c53d602..0000000000
--- a/explorer/src/lib/dusk/components/card/Card.css
+++ /dev/null
@@ -1,9 +0,0 @@
-.dusk-card {
- background-color: var(--surface-color);
- border-radius: var(--control-border-radius-size);
- padding: 1.3rem 2rem;
-}
-
-.dusk-card--on-surface {
- background-color: var(--on-primary-color);
-}
diff --git a/explorer/src/lib/dusk/components/card/Card.svelte b/explorer/src/lib/dusk/components/card/Card.svelte
deleted file mode 100644
index 8658f25e0b..0000000000
--- a/explorer/src/lib/dusk/components/card/Card.svelte
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
- {#if $$slots.header}
-
- {/if}
-
- {#if $$slots.footer}
-
- {/if}
-
diff --git a/explorer/src/lib/dusk/components/copy-button/CopyButton.svelte b/explorer/src/lib/dusk/components/copy-button/CopyButton.svelte
deleted file mode 100644
index ea4a8e2682..0000000000
--- a/explorer/src/lib/dusk/components/copy-button/CopyButton.svelte
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
diff --git a/explorer/src/lib/dusk/components/dusk.components.d.ts b/explorer/src/lib/dusk/components/dusk.components.d.ts
deleted file mode 100644
index b8871b82d7..0000000000
--- a/explorer/src/lib/dusk/components/dusk.components.d.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-type BadgeVariant = "neutral" | "success" | "warning" | "error" | "alt";
-
-type BannerVariant = "info" | "warning" | "error";
-
-type ButtonSize = "default" | "small";
-
-type ButtonVariant = "primary" | "secondary" | "tertiary";
-
-type GroupedSelectOptions = Record;
-
-type IconProp = {
- path: string;
- position?: "after" | "before";
- size?: IconSize;
-};
-
-type IconSize = "small" | "default" | "large";
-
-type NavListProp = NavListItem[];
-
-type NavListItem = {
- title: string;
- link: string;
-};
-
-type SelectOption = {
- disabled?: boolean;
- label?: string;
- value: string;
-};
-
-type TextboxTypes =
- | "email"
- | "hidden"
- | "multiline"
- | "number"
- | "password"
- | "search"
- | "tel"
- | "text"
- | "url";
-
-type TooltipType = "error" | "info" | "success" | "warning";
-
-type ToastItem = {
- icon?: string;
- id: string;
- message: string;
- type: TooltipType;
-};
diff --git a/explorer/src/lib/dusk/components/icon/Icon.css b/explorer/src/lib/dusk/components/icon/Icon.css
deleted file mode 100644
index a6ccbbf996..0000000000
--- a/explorer/src/lib/dusk/components/icon/Icon.css
+++ /dev/null
@@ -1,40 +0,0 @@
-.dusk-icon {
- display: inline-block;
- fill: currentColor;
- --icon-size: 1.2em;
- --scaler: 1.5;
-}
-
-.dusk-icon--size--default {
- height: var(--icon-size);
- width: var(--icon-size);
-}
-
-.dusk-icon--size--large {
- height: calc(var(--icon-size) * var(--scaler));
- width: calc(var(--icon-size) * var(--scaler));
-}
-
-.dusk-icon--size--small {
- height: calc(var(--icon-size) / var(--scaler));
- width: calc(var(--icon-size) / var(--scaler));
-}
-
-.dusk-icon--circular {
- display: flex;
- border-radius: 50%;
- justify-content: center;
- align-items: center;
- aspect-ratio: 1/1;
-}
-
-.dusk-icon--circular svg {
- max-width: 70%;
- height: 70%;
-}
-
-.dusk-icon rect {
- fill: transparent;
- width: 100%;
- height: 100%;
-}
diff --git a/explorer/src/lib/dusk/components/icon/Icon.svelte b/explorer/src/lib/dusk/components/icon/Icon.svelte
deleted file mode 100644
index 55601a9f29..0000000000
--- a/explorer/src/lib/dusk/components/icon/Icon.svelte
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-{#if isInStack}
-
-
-
-
-{:else}
-
-
-
-{/if}
diff --git a/explorer/src/lib/dusk/components/index.js b/explorer/src/lib/dusk/components/index.js
deleted file mode 100644
index 4b4c3d163d..0000000000
--- a/explorer/src/lib/dusk/components/index.js
+++ /dev/null
@@ -1,17 +0,0 @@
-export { default as Anchor } from "./anchor/Anchor.svelte";
-export { default as AnchorButton } from "./anchor-button/AnchorButton.svelte";
-export { default as Banner } from "./banner/Banner.svelte";
-export { default as Badge } from "./badge/Badge.svelte";
-export { default as Button } from "./button/Button.svelte";
-export { default as Card } from "./card/Card.svelte";
-export { default as CopyButton } from "./copy-button/CopyButton.svelte";
-export { default as Icon } from "./icon/Icon.svelte";
-export { default as NavList } from "./nav-list/NavList.svelte";
-export { default as ProgressBar } from "./progress-bar/ProgressBar.svelte";
-export { default as Rerender } from "./rerender/Rerender.svelte";
-export { default as RelativeTime } from "./relative-time/RelativeTime.svelte";
-export { default as Select } from "./select/Select.svelte";
-export { default as Switch } from "./switch/Switch.svelte";
-export { default as Textbox } from "./textbox/Textbox.svelte";
-export { default as Tooltip } from "./tooltip/Tooltip.svelte";
-export { default as Toast } from "./toast/Toast.svelte";
diff --git a/explorer/src/lib/dusk/components/nav-list/NavList.css b/explorer/src/lib/dusk/components/nav-list/NavList.css
deleted file mode 100644
index ab7f6fb75f..0000000000
--- a/explorer/src/lib/dusk/components/nav-list/NavList.css
+++ /dev/null
@@ -1,51 +0,0 @@
-.dusk-nav-list {
- display: flex;
- flex-direction: column;
- row-gap: 3.5rem;
- height: 100%;
-}
-
-.dusk-nav-list__link {
- display: block;
- text-transform: uppercase;
- font-size: 1.5rem;
- font-weight: 500;
- line-height: 1;
- color: var(--primary-color);
-}
-
-.dusk-nav-list__link:after {
- content: " →";
- color: var(--primary-color);
- font-weight: 400;
-}
-
-.dusk-nav-list__link:hover:after {
- color: var(--secondary-color);
-}
-
-.dusk-nav-list__link:visited {
- color: var(--primary-color);
-}
-
-.dusk-nav-list__link:hover {
- color: var(--secondary-color);
-}
-
-@media (min-width: 1024px) {
- .dusk-nav-list {
- flex-direction: row;
- column-gap: 1.5rem;
- width: 100%;
- justify-content: center;
- }
-
- .dusk-nav-list__link {
- position: relative;
- font-size: 0.875rem;
- }
-
- .dusk-nav-list__link:after {
- content: none;
- }
-}
diff --git a/explorer/src/lib/dusk/components/nav-list/NavList.svelte b/explorer/src/lib/dusk/components/nav-list/NavList.svelte
deleted file mode 100644
index d3e27f0bb3..0000000000
--- a/explorer/src/lib/dusk/components/nav-list/NavList.svelte
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-{#if navigation}
-
- {#each navigation as item, index (`${item.title}-${index}`)}
- {item.title}
- {/each}
-
-{/if}
diff --git a/explorer/src/lib/dusk/components/progress-bar/ProgressBar.css b/explorer/src/lib/dusk/components/progress-bar/ProgressBar.css
deleted file mode 100644
index 0da0e52757..0000000000
--- a/explorer/src/lib/dusk/components/progress-bar/ProgressBar.css
+++ /dev/null
@@ -1,27 +0,0 @@
-.dusk-progress-bar {
- width: 100%;
- height: var(--progress-bar-height);
- background-color: var(--progress-bg-color);
- border-radius: var(--control-border-radius-size);
- overflow-x: hidden;
-}
-
-.dusk-progress-bar__filler {
- height: 100%;
- background-color: var(--progress-filler-color);
- position: relative;
-}
-
-.dusk-progress-bar__filler--undetermined {
- width: 100%;
- animation: progressBarAnimation 2s infinite;
-}
-
-@keyframes progressBarAnimation {
- 0% {
- left: -100%;
- }
- 100% {
- left: 100%;
- }
-}
diff --git a/explorer/src/lib/dusk/components/progress-bar/ProgressBar.svelte b/explorer/src/lib/dusk/components/progress-bar/ProgressBar.svelte
deleted file mode 100644
index b26d3cded9..0000000000
--- a/explorer/src/lib/dusk/components/progress-bar/ProgressBar.svelte
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/lib/dusk/components/relative-time/RelativeTime.svelte b/explorer/src/lib/dusk/components/relative-time/RelativeTime.svelte
deleted file mode 100644
index e7499faaac..0000000000
--- a/explorer/src/lib/dusk/components/relative-time/RelativeTime.svelte
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
- {#if autoRefresh}
- getRelativeTimeString(date, "long")}
- let:value
- >
- {value}
-
- {:else}
- {@const relativeTime = getRelativeTimeString(date, "long")}
- {relativeTime}
- {/if}
-
diff --git a/explorer/src/lib/dusk/components/rerender/Rerender.svelte b/explorer/src/lib/dusk/components/rerender/Rerender.svelte
deleted file mode 100644
index 57d3f64fb7..0000000000
--- a/explorer/src/lib/dusk/components/rerender/Rerender.svelte
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-{#key generateValue ? value : updateFlag}
- {value}
-{/key}
diff --git a/explorer/src/lib/dusk/components/select/Options.svelte b/explorer/src/lib/dusk/components/select/Options.svelte
deleted file mode 100644
index cc5ea6002e..0000000000
--- a/explorer/src/lib/dusk/components/select/Options.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-{#each options as option (isString(option) ? option : option.value)}
-
- {isString(option) ? option : (option.label ?? option.value)}
-
-{/each}
diff --git a/explorer/src/lib/dusk/components/select/Select.css b/explorer/src/lib/dusk/components/select/Select.css
deleted file mode 100644
index 43dcb28343..0000000000
--- a/explorer/src/lib/dusk/components/select/Select.css
+++ /dev/null
@@ -1,53 +0,0 @@
-.dusk-select {
- display: inline-block;
- appearance: none;
- font-family: inherit;
- font-size: var(--control-font-size);
- letter-spacing: inherit;
- padding: var(--control-padding);
- padding-right: 2.25em;
- background-color: var(--non-button-control-bg-color);
- border-color: var(--control-border-color);
- border-radius: var(--control-border-radius-size);
- border-style: solid;
- border-width: var(--control-border-size);
- background-position:
- calc(100% - 1.4em) 50%,
- calc(100% - 1em) 50%;
- background-size:
- 0.4em 0.4em,
- 0.4em 0.4em;
- background-repeat: no-repeat;
- background-image:
- linear-gradient(
- 45deg,
- transparent 50%,
- var(--non-button-control-text-color) 50%
- ),
- linear-gradient(
- 135deg,
- var(--non-button-control-text-color) 50%,
- transparent 50%
- );
-}
-
-.dusk-select,
-.dusk-select option {
- color: var(--non-button-control-text-color);
-}
-
-.dusk-select:disabled {
- opacity: 0.5;
-}
-
-/* stylelint-disable-next-line selector-pseudo-element-no-unknown */
-.dusk-select::ms-expand {
- display: none;
-}
-
-.dusk-select:enabled:focus {
- border-color: var(--secondary-color-variant-dark);
- box-shadow: inset 0 0 0 var(--control-border-size)
- var(--secondary-color-variant-dark);
- outline: 0 none;
-}
diff --git a/explorer/src/lib/dusk/components/select/Select.svelte b/explorer/src/lib/dusk/components/select/Select.svelte
deleted file mode 100644
index 4ff1da580a..0000000000
--- a/explorer/src/lib/dusk/components/select/Select.svelte
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
- {#if Array.isArray(options)}
-
- {:else}
- {#each ownPairs(options) as [label, opts] (label)}
-
-
-
- {/each}
- {/if}
-
diff --git a/explorer/src/lib/dusk/components/switch/Switch.css b/explorer/src/lib/dusk/components/switch/Switch.css
deleted file mode 100644
index 08ad64e271..0000000000
--- a/explorer/src/lib/dusk/components/switch/Switch.css
+++ /dev/null
@@ -1,51 +0,0 @@
-.dusk-switch {
- --hover-scale: 1.1;
-
- box-sizing: content-box;
- background-color: var(--surface-color);
- border-color: var(--control-border-color);
- border-radius: var(--control-border-radius-size);
- border-style: solid;
- border-width: var(--control-border-size);
- width: 3em;
- height: 1.5em;
- padding: 0.25em;
-}
-
-.dusk-switch--on-surface {
- background-color: var(--on-primary-color);
-}
-
-.dusk-switch::after {
- content: "";
- display: inline-block;
- transition: transform 0.3s ease-in-out 0s;
- width: 1.5em;
- height: 1.5em;
- border-radius: var(--control-border-radius-size);
-}
-
-.dusk-switch[aria-checked="false"][aria-disabled="false"]:hover::after {
- transform: scale(var(--hover-scale));
-}
-
-.dusk-switch[aria-checked="true"]::after {
- background-color: var(--secondary-color);
- transform: translateX(100%);
-}
-
-.dusk-switch[aria-checked="true"][aria-disabled="false"]:hover::after {
- transform: translateX(100%) scale(var(--hover-scale));
-}
-
-.dusk-switch[aria-checked="false"]::after {
- background-color: var(--primary-color);
-}
-
-.dusk-switch[aria-disabled="true"] {
- opacity: 0.5;
-}
-
-.dusk-switch[aria-disabled="true"] {
- cursor: not-allowed;
-}
diff --git a/explorer/src/lib/dusk/components/switch/Switch.svelte b/explorer/src/lib/dusk/components/switch/Switch.svelte
deleted file mode 100644
index 44cbb015a0..0000000000
--- a/explorer/src/lib/dusk/components/switch/Switch.svelte
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/lib/dusk/components/textbox/Textbox.css b/explorer/src/lib/dusk/components/textbox/Textbox.css
deleted file mode 100644
index bd0c81968f..0000000000
--- a/explorer/src/lib/dusk/components/textbox/Textbox.css
+++ /dev/null
@@ -1,33 +0,0 @@
-.dusk-textbox {
- font-family: inherit;
- font-size: var(--control-font-size);
- letter-spacing: inherit;
- padding: var(--control-padding);
- background-color: var(--non-button-control-bg-color);
- border-color: var(--control-border-color);
- border-radius: var(--control-border-radius-size);
- border-style: solid;
- border-width: var(--control-border-size);
- color: var(--non-button-control-text-color);
- overflow: hidden;
-}
-
-.dusk-textbox:disabled,
-.dusk-textbox::placeholder {
- opacity: 0.5;
-}
-
-.dusk-textbox:read-only {
- outline: 0 none;
-}
-
-.dusk-textbox.dusk-textbox-multiline {
- line-height: 1.3;
-}
-
-.dusk-textbox:read-write:enabled:focus {
- border-color: var(--secondary-color-variant-dark);
- box-shadow: inset 0 0 0 var(--control-border-size)
- var(--secondary-color-variant-dark);
- outline: 0 none;
-}
diff --git a/explorer/src/lib/dusk/components/textbox/Textbox.svelte b/explorer/src/lib/dusk/components/textbox/Textbox.svelte
deleted file mode 100644
index 389b1c3886..0000000000
--- a/explorer/src/lib/dusk/components/textbox/Textbox.svelte
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-{#if type === "multiline"}
-
-{:else}
-
-{/if}
diff --git a/explorer/src/lib/dusk/components/toast/Toast.css b/explorer/src/lib/dusk/components/toast/Toast.css
deleted file mode 100644
index 774519e70c..0000000000
--- a/explorer/src/lib/dusk/components/toast/Toast.css
+++ /dev/null
@@ -1,49 +0,0 @@
-.dusk-toast {
- display: flex;
- flex-direction: column;
- position: fixed;
- right: 20px;
- bottom: 20px;
- z-index: 5;
- row-gap: 0.625em;
-}
-
-.dusk-toast__item {
- display: flex;
- column-gap: 0.625em;
- padding: 0.625em;
- border-radius: 1em;
- background-color: var(--background-color-alt);
- min-width: 200px;
- max-width: 250px;
-}
-
-.dusk-toast__item-icon-wrapper {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 1.625em;
- height: 1.625em;
- border-radius: 100%;
- flex-shrink: 0;
-}
-
-.dusk-toast__item-icon-wrapper--info {
- background-color: var(--info-color);
-}
-
-.dusk-toast__item-icon-wrapper--success {
- background-color: var(--success-color);
-}
-
-.dusk-toast__item-icon-wrapper--warning {
- background-color: var(--warning-color);
-}
-
-.dusk-toast__item-icon-wrapper--error {
- background-color: var(--error-color);
-}
-
-.dusk-toast__item-icon-wrapper--error .dusk-toast__item-icon {
- color: #fff;
-}
diff --git a/explorer/src/lib/dusk/components/toast/Toast.svelte b/explorer/src/lib/dusk/components/toast/Toast.svelte
deleted file mode 100644
index c36ff8eb7d..0000000000
--- a/explorer/src/lib/dusk/components/toast/Toast.svelte
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
- {#each $toastList as { id, icon, message, type } (id)}
-
- {#if icon}
-
-
-
- {/if}
-
- {message}
-
-
- {/each}
-
diff --git a/explorer/src/lib/dusk/components/toast/store.js b/explorer/src/lib/dusk/components/toast/store.js
deleted file mode 100644
index 2da4a3424c..0000000000
--- a/explorer/src/lib/dusk/components/toast/store.js
+++ /dev/null
@@ -1,54 +0,0 @@
-import { get, writable } from "svelte/store";
-
-/**
- * @type {import('svelte/store').Writable}
- * @description Stores each toast as an object in the array
- */
-export const toastList = writable([]);
-
-/**
- * @type {import('svelte/store').Writable}
- * @description Stores the timer fused by all toasts
- */
-export const toastTimer = writable(0);
-
-/**
- * @param {string} message
- * @param {string} icon
- * @param {TooltipType} type
- */
-
-function addToast(type, message, icon) {
- const id = `dusk-toast-${Math.random().toString(36)}`;
-
- toastList.update((store) => {
- return [
- ...store,
- {
- icon: icon,
- id: id,
- message: message,
- type: type,
- },
- ];
- });
-
- const timeoutID = window.setTimeout(() => {
- deleteToast(id, timeoutID);
- }, get(toastTimer));
-}
-
-/**
- * @param {string} id
- * @param {number} timeout
- */
-function deleteToast(id, timeout) {
- window.clearTimeout(timeout);
-
- // Deletes toast from store queue
- toastList.update((store) => {
- return store.filter((toast) => toast.id !== id);
- });
-}
-
-export const toast = addToast;
diff --git a/explorer/src/lib/dusk/components/tooltip/Tooltip.css b/explorer/src/lib/dusk/components/tooltip/Tooltip.css
deleted file mode 100644
index 767cc36a8b..0000000000
--- a/explorer/src/lib/dusk/components/tooltip/Tooltip.css
+++ /dev/null
@@ -1,92 +0,0 @@
-.dusk-tooltip {
- position: fixed;
- display: inline-block;
- width: max-content;
- max-width: 40%;
- white-space: break-spaces;
- z-index: 9999;
-
- --tip-size: 0.625em;
- --half-tip-size: calc(var(--tip-size) / 2);
- --tip-main-axis-offset: -0.0625em;
-
- border-radius: var(--control-border-radius-size);
- line-height: 1.5;
- padding: var(--control-padding);
- transition: opacity 0.2s ease-in-out 0s;
- opacity: 1;
-}
-
-.dusk-tooltip[aria-hidden="true"] {
- visibility: hidden;
- opacity: 0;
-}
-
-.dusk-tooltip.dusk-tooltip-error {
- background-color: var(--error-color);
- color: var(--on-error-color);
-}
-
-.dusk-tooltip.dusk-tooltip-info {
- background-color: var(--info-color);
- color: var(--on-info-color);
-}
-
-.dusk-tooltip.dusk-tooltip-success {
- background-color: var(--success-color);
- color: var(--on-success-color);
-}
-
-.dusk-tooltip.dusk-tooltip-warning {
- background-color: var(--warning-color);
- color: var(--on-warning-color);
-}
-
-.dusk-tooltip::after {
- background-color: inherit;
- border: inherit;
- pointer-events: none;
- position: absolute;
- content: "";
- display: inline-block;
- width: var(--tip-size);
- height: var(--tip-size);
- transform: rotate(45deg);
- transform-origin: center;
-}
-
-.dusk-tooltip.dusk-tooltip-bottom::after {
- bottom: 100%;
- left: 50%;
- margin-left: calc(var(--half-tip-size) * -1);
- margin-bottom: calc(var(--half-tip-size) * -1 + var(--tip-main-axis-offset));
- border-bottom-color: transparent;
- border-right-color: transparent;
-}
-
-.dusk-tooltip.dusk-tooltip-left::after {
- top: 50%;
- left: 100%;
- margin-left: calc(var(--half-tip-size) * -1 + var(--tip-main-axis-offset));
- margin-top: calc(var(--half-tip-size) * -1);
- border-bottom-color: transparent;
- border-left-color: transparent;
-}
-
-.dusk-tooltip.dusk-tooltip-right::after {
- top: 50%;
- right: 100%;
- margin-right: calc(var(--half-tip-size) * -1 + var(--tip-main-axis-offset));
- margin-top: calc(var(--half-tip-size) * -1);
- border-top-color: transparent;
- border-right-color: transparent;
-}
-
-.dusk-tooltip.dusk-tooltip-top::after {
- top: 100%;
- left: 50%;
- margin-left: calc(var(--half-tip-size) * -1);
- margin-top: calc(var(--half-tip-size) * -1 + var(--tip-main-axis-offset));
- border-top-color: transparent;
- border-left-color: transparent;
-}
diff --git a/explorer/src/lib/dusk/components/tooltip/Tooltip.svelte b/explorer/src/lib/dusk/components/tooltip/Tooltip.svelte
deleted file mode 100644
index 7c3ca93b98..0000000000
--- a/explorer/src/lib/dusk/components/tooltip/Tooltip.svelte
+++ /dev/null
@@ -1,236 +0,0 @@
-
-
-
-
-
-
- {text.replace(/\\r\\n|\\r|\\n|\\t/g, (m) => (m === "\\t" ? "\t" : "\n"))}
-
diff --git a/explorer/src/lib/dusk/currency/__tests__/createCurrencyFormatter.spec.js b/explorer/src/lib/dusk/currency/__tests__/createCurrencyFormatter.spec.js
deleted file mode 100644
index 2cda0110e1..0000000000
--- a/explorer/src/lib/dusk/currency/__tests__/createCurrencyFormatter.spec.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { createCurrencyFormatter } from "..";
-
-describe("createCurrencyFormatter", () => {
- it("should create a currency formatter using the given settings, but ignore the digits for FIAT currencies", () => {
- const itFormatter = createCurrencyFormatter("it-IT", "EUR", 9);
- const usFormatter = createCurrencyFormatter("en-US", "USD", 9);
-
- /**
- * A non-breaking space is used here (code point 0x00A0)
- * @see https://shapecatcher.com/unicode/info/160
- */
- expect(itFormatter(1_234_567.899)).toBe("1.234.567,899 €");
- expect(usFormatter(1_234_567.899)).toBe("$1,234,567.899");
- });
-
- it('should accept "DUSK" as a currency, using the desired digits', () => {
- const duskFormatter = createCurrencyFormatter("it-IT", "DUSK", 5);
-
- expect(duskFormatter(1_234_567.899_788_677)).toBe("1.234.567,89979");
- });
-
- it("should accept BigInts as input", () => {
- const duskFormatter = createCurrencyFormatter("it-IT", "DUSK", 5);
-
- expect(duskFormatter(1_234_567n)).toBe("1.234.567,00000");
- });
-
- it("should throw an error for an invalid locale", () => {
- expect(() => createCurrencyFormatter("foo-bar", "DUSK", 5)).toThrow();
- });
-
- it("should throw an error for an invalid currency", () => {
- expect(() => createCurrencyFormatter("it-IT", "foobarbaz", 5)).toThrow();
- });
-});
diff --git a/explorer/src/lib/dusk/currency/__tests__/createFeeFormatter.spec.js b/explorer/src/lib/dusk/currency/__tests__/createFeeFormatter.spec.js
deleted file mode 100644
index 4a9308c95a..0000000000
--- a/explorer/src/lib/dusk/currency/__tests__/createFeeFormatter.spec.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { createFeeFormatter } from "..";
-
-describe("createFeeFormatter", () => {
- it("should create a locale aware formatter for fees, with at least 2 fraction digits but no more than 9", () => {
- const itFormatter = createFeeFormatter("it-IT");
- const usFormatter = createFeeFormatter("en-US");
-
- expect(itFormatter(123)).toBe("123,00");
- expect(usFormatter(123)).toBe("123.00");
- expect(itFormatter(123.456_789_456_789)).toBe("123,456789457");
- expect(usFormatter(123.456_789_456_789)).toBe("123.456789457");
- });
-
- it("should accept BigInts as input", () => {
- const formatter = createFeeFormatter("it-IT");
-
- expect(formatter(1_234_567n)).toBe("1.234.567,00");
- });
-
- it("should throw an error for an invalid locale", () => {
- expect(() => createFeeFormatter("foo-bar")).toThrow();
- });
-});
diff --git a/explorer/src/lib/dusk/currency/__tests__/duskToLux.spec.js b/explorer/src/lib/dusk/currency/__tests__/duskToLux.spec.js
deleted file mode 100644
index 51a8a549b8..0000000000
--- a/explorer/src/lib/dusk/currency/__tests__/duskToLux.spec.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { duskToLux } from "..";
-
-describe("duskToLux", () => {
- it("should convert an amount in Dusk to Lux", () => {
- expect(duskToLux(1)).toBe(1e9);
- expect(duskToLux(3_456_789.012)).toBe(3_456_789_012_000_000);
- });
-});
diff --git a/explorer/src/lib/dusk/currency/__tests__/luxToDusk.spec.js b/explorer/src/lib/dusk/currency/__tests__/luxToDusk.spec.js
deleted file mode 100644
index cba7223d8a..0000000000
--- a/explorer/src/lib/dusk/currency/__tests__/luxToDusk.spec.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { luxToDusk } from "..";
-
-describe("luxToDusk", () => {
- it("should convert an amount in Dusk to Lux", () => {
- expect(luxToDusk(1e9)).toBe(1);
- expect(luxToDusk(123_456_789_012)).toBe(123.456789012);
- });
-});
diff --git a/explorer/src/lib/dusk/currency/createCurrencyFormatter.js b/explorer/src/lib/dusk/currency/createCurrencyFormatter.js
deleted file mode 100644
index 1caa098e6f..0000000000
--- a/explorer/src/lib/dusk/currency/createCurrencyFormatter.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Creates a locale aware currency formatter for fiat or DUSK
- *
- * @param {String} locale A BCP 47 language tag
- * @param {String} currency An ISO 4217 currency or "DUSK"
- * @param {Number} digits The minimum fraction digits that should display
- * @returns {(value: number | bigint) => string}
- */
-const createFormatter = (locale, currency, digits) => {
- const formatter =
- currency.toUpperCase() === "DUSK"
- ? new Intl.NumberFormat(locale, { minimumFractionDigits: digits })
- : new Intl.NumberFormat(locale, {
- currency: currency,
- maximumFractionDigits: 10,
- minimumFractionDigits: 2,
- style: "currency",
- });
-
- return (value) => formatter.format(value);
-};
-
-export default createFormatter;
diff --git a/explorer/src/lib/dusk/currency/createFeeFormatter.js b/explorer/src/lib/dusk/currency/createFeeFormatter.js
deleted file mode 100644
index f03da175a4..0000000000
--- a/explorer/src/lib/dusk/currency/createFeeFormatter.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * Creates a locale aware currency formatter for fees
- *
- * @param {String} locale A BCP 47 language tag
- * @returns {(value: number | bigint) => string}
- */
-const createFormatter = (locale) => {
- const formatter = new Intl.NumberFormat(locale, {
- maximumFractionDigits: 9,
- minimumFractionDigits: 2,
- });
-
- return (value) => formatter.format(value);
-};
-
-export default createFormatter;
diff --git a/explorer/src/lib/dusk/currency/currencies.js b/explorer/src/lib/dusk/currency/currencies.js
deleted file mode 100644
index b9e4a6e0cb..0000000000
--- a/explorer/src/lib/dusk/currency/currencies.js
+++ /dev/null
@@ -1,49 +0,0 @@
-const currencies = [
- { code: "AED", currency: "United Arab Emirates Dirham" },
- { code: "ARS", currency: "Argentine Peso" },
- { code: "AUD", currency: "Australian Dollar" },
- { code: "BDT", currency: "Bangladeshi Taka" },
- { code: "BHD", currency: "Bahraini Dinar" },
- { code: "BMD", currency: "Bermudian Dollar" },
- { code: "BRL", currency: "Brazilian Real" },
- { code: "CAD", currency: "Canadian Dollar" },
- { code: "CFH", currency: "Swiss Franc" },
- { code: "CLP", currency: "Chilean Peso" },
- { code: "CNY", currency: "Renminbi" },
- { code: "CZK", currency: "Czech Koruna" },
- { code: "DKK", currency: "Danish Krone" },
- { code: "EUR", currency: "Euro" },
- { code: "GBP", currency: "Pound Sterling" },
- { code: "HKD", currency: "Hong Kong Dollar" },
- { code: "HUF", currency: "Hungarian Forint" },
- { code: "IDR", currency: "Indonesian Rupiah" },
- { code: "ILS", currency: "Israeli New Shekel" },
- { code: "INR", currency: "Indian Rupee" },
- { code: "JPY", currency: "Japanese Yen" },
- { code: "KRW", currency: "South Korean Won" },
- { code: "KWD", currency: "Kuwaiti Dinar" },
- { code: "LKR", currency: "Sri Lankan Rupee" },
- { code: "MMK", currency: "Myanmar Kyat" },
- { code: "MXN", currency: "Mexican Peso" },
- { code: "MYR", currency: "Malaysian Ringgit" },
- { code: "NGN", currency: "Nigerian Naira" },
- { code: "NOK", currency: "Norwegian Krone" },
- { code: "NZD", currency: "New Zealand Dollar" },
- { code: "PHP", currency: "Philippine Peso" },
- { code: "PKR", currency: "Pakistani Rupee" },
- { code: "PLN", currency: "Polish Złoty" },
- { code: "RUB", currency: "Russian Ruble" },
- { code: "SAR", currency: "Saudi Riyal" },
- { code: "SEK", currency: "Swedish Krona" },
- { code: "SGD", currency: "Singapore Dollar" },
- { code: "THB", currency: "Thai Baht" },
- { code: "TRY", currency: "Turkish Lira" },
- { code: "TWD", currency: "New Taiwan Dollar" },
- { code: "UAH", currency: "Ukrainian Hryvnia" },
- { code: "USD", currency: "United States Dollar" },
- { code: "VEF", currency: "Venezuelan Bolívar Fuerte" },
- { code: "VND", currency: "Vietnamese Dồng" },
- { code: "ZAR", currency: "South African Rand" },
-];
-
-export default currencies;
diff --git a/explorer/src/lib/dusk/currency/duskToLux.js b/explorer/src/lib/dusk/currency/duskToLux.js
deleted file mode 100644
index 01457c7ff4..0000000000
--- a/explorer/src/lib/dusk/currency/duskToLux.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Temporary conversion function until
- * `dusk-wallet-js` exposes its own.
- *
- * @param {number} n
- * @returns {number}
- */
-const duskToLux = (n) => n * 1e9;
-
-export default duskToLux;
diff --git a/explorer/src/lib/dusk/currency/index.js b/explorer/src/lib/dusk/currency/index.js
deleted file mode 100644
index b633d475db..0000000000
--- a/explorer/src/lib/dusk/currency/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export { default as createCurrencyFormatter } from "./createCurrencyFormatter";
-export { default as createFeeFormatter } from "./createFeeFormatter";
-export { default as currencies } from "./currencies";
-export { default as duskToLux } from "./duskToLux";
-export { default as luxToDusk } from "./luxToDusk";
diff --git a/explorer/src/lib/dusk/currency/luxToDusk.js b/explorer/src/lib/dusk/currency/luxToDusk.js
deleted file mode 100644
index 155243a1be..0000000000
--- a/explorer/src/lib/dusk/currency/luxToDusk.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Temporary conversion function until
- * `dusk-wallet-js` exposes its own.
- *
- * @param {number} n
- * @returns {number}
- */
-const luxToDusk = (n) => n * 1e-9;
-
-export default luxToDusk;
diff --git a/explorer/src/lib/dusk/date/__tests__/unixTsToDate.spec.js b/explorer/src/lib/dusk/date/__tests__/unixTsToDate.spec.js
deleted file mode 100644
index a562ed152e..0000000000
--- a/explorer/src/lib/dusk/date/__tests__/unixTsToDate.spec.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { unixTsToDate } from "..";
-
-describe("unixTsToDate", () => {
- it("should transform a Unix timestamp in a JS Date", () => {
- const result = unixTsToDate(1713251109);
-
- expect(result).toBeInstanceOf(Date);
- expect(result.toISOString()).toBe("2024-04-16T07:05:09.000Z");
- });
-});
diff --git a/explorer/src/lib/dusk/date/index.js b/explorer/src/lib/dusk/date/index.js
deleted file mode 100644
index b2b6a3b043..0000000000
--- a/explorer/src/lib/dusk/date/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as unixTsToDate } from "./unixTsToDate";
diff --git a/explorer/src/lib/dusk/date/unixTsToDate.js b/explorer/src/lib/dusk/date/unixTsToDate.js
deleted file mode 100644
index 652d2bf6ee..0000000000
--- a/explorer/src/lib/dusk/date/unixTsToDate.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * @param {number} ts
- * @returns {Date}
- */
-const unixTsToDate = (ts) => new Date(ts * 1000);
-
-export default unixTsToDate;
diff --git a/explorer/src/lib/dusk/error/__tests__/getErrorFrom.spec.js b/explorer/src/lib/dusk/error/__tests__/getErrorFrom.spec.js
deleted file mode 100644
index 7a53ef4274..0000000000
--- a/explorer/src/lib/dusk/error/__tests__/getErrorFrom.spec.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { getErrorFrom } from "..";
-
-describe("getErrorFrom", () => {
- it("should return the received argument if it's an instance of `Error`", () => {
- [
- class CustomError extends Error {},
- Error,
- EvalError,
- RangeError,
- ReferenceError,
- SyntaxError,
- TypeError,
- URIError,
- ].forEach((Ctor) => {
- const error = new Ctor("some error message");
-
- expect(getErrorFrom(error)).toBe(error);
- });
-
- const aggregateError = new AggregateError([new Error("foo message")]);
-
- expect(getErrorFrom(aggregateError)).toBe(aggregateError);
- });
-
- it('should return an error having "Unknown error" as its message if the received argument is `null` or `undefined`', () => {
- const expectedError = new Error("Unknown error");
-
- expect(getErrorFrom(null)).toStrictEqual(expectedError);
- expect(getErrorFrom(undefined)).toStrictEqual(expectedError);
- });
-
- it("should return an Error if the received argument is a string and use it as the error message", () => {
- const msg = "Some error message";
- const result = getErrorFrom(msg);
-
- expect(result).toStrictEqual(new Error(msg));
- });
-
- it("should return an Error if the received argument is an object with a message string property, and use it as the error message", () => {
- const err = { message: "Some error message" };
- const result = getErrorFrom(err);
-
- expect(result).toStrictEqual(new Error(err.message));
- });
-
- it("should return an Error otherwise using a JSON representation of the received argument as the error message", () => {
- [
- 123,
- new Date(),
- /a/g,
- { foo: "bar" },
- [1, 2, 3],
- { message: 345 },
- ].forEach((arg) => {
- const result = getErrorFrom(arg);
-
- expect(result).toStrictEqual(new Error(JSON.stringify(arg)));
- });
- });
-});
diff --git a/explorer/src/lib/dusk/error/getErrorFrom.js b/explorer/src/lib/dusk/error/getErrorFrom.js
deleted file mode 100644
index 0f431c90c0..0000000000
--- a/explorer/src/lib/dusk/error/getErrorFrom.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import {
- adapter,
- always,
- casus,
- identity,
- isNil,
- isType,
- keySatisfies,
-} from "lamb";
-
-/** @type {(value: any) => value is Error} */
-const isError = isType("Error");
-
-/** @type {(value: any) => value is string} */
-const isString = isType("String");
-
-/** @type {(value: any) => Error} */
-const getErrorFrom = adapter([
- casus(isError, identity),
- casus(isNil, always(new Error("Unknown error"))),
- casus(isString, (msg) => new Error(msg)),
- casus(keySatisfies(isString, "message"), ({ message }) => new Error(message)),
- (v) => new Error(JSON.stringify(v)),
-]);
-
-export default getErrorFrom;
diff --git a/explorer/src/lib/dusk/error/index.js b/explorer/src/lib/dusk/error/index.js
deleted file mode 100644
index 95ca9246e9..0000000000
--- a/explorer/src/lib/dusk/error/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as getErrorFrom } from "./getErrorFrom";
diff --git a/explorer/src/lib/dusk/http/__tests__/failureToRejection.spec.js b/explorer/src/lib/dusk/http/__tests__/failureToRejection.spec.js
deleted file mode 100644
index 223d20ffc9..0000000000
--- a/explorer/src/lib/dusk/http/__tests__/failureToRejection.spec.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { failureToRejection } from "..";
-
-describe("failureToRejection", () => {
- it('should return a rejected Promise if the given Response status is not "ok"', async () => {
- const response = new Response("", { status: 404 });
- const result = failureToRejection(response);
-
- await expect(result).rejects.toBeInstanceOf(Error);
- await expect(result).rejects.toMatchObject({
- cause: response,
- message: expect.stringContaining(response.statusText),
- });
- });
-
- it('should return a Promise that resolves to the given Response, if its status is "ok"', async () => {
- const response = new Response("", { status: 200 });
- const result = failureToRejection(response);
-
- await expect(result).resolves.toBe(response);
- });
-});
diff --git a/explorer/src/lib/dusk/http/failureToRejection.js b/explorer/src/lib/dusk/http/failureToRejection.js
deleted file mode 100644
index 44586cf3f8..0000000000
--- a/explorer/src/lib/dusk/http/failureToRejection.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Transforms a Response into a Promise that resolves
- * with the Response itself if its status is ok, and
- * rejects with an Error otherwise.
- *
- * @param {Response} response
- * @returns {Promise}
- */
-const failureToRejection = (response) =>
- response.ok
- ? Promise.resolve(response)
- : Promise.reject(
- new Error(`HTTP Request failed - ${response.statusText}`, {
- cause: response,
- })
- );
-
-export default failureToRejection;
diff --git a/explorer/src/lib/dusk/http/index.js b/explorer/src/lib/dusk/http/index.js
deleted file mode 100644
index 78b5a48b66..0000000000
--- a/explorer/src/lib/dusk/http/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as failureToRejection } from "./failureToRejection";
diff --git a/explorer/src/lib/dusk/icons/index.js b/explorer/src/lib/dusk/icons/index.js
deleted file mode 100644
index 905abee130..0000000000
--- a/explorer/src/lib/dusk/icons/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as duskIcon } from "./logo.js";
diff --git a/explorer/src/lib/dusk/icons/logo.js b/explorer/src/lib/dusk/icons/logo.js
deleted file mode 100644
index 7b00393d6d..0000000000
--- a/explorer/src/lib/dusk/icons/logo.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const DUSK_LOGO_PATH =
- "M12.335 0.005a12.186 12.186 0 0 0 -2.58 0.204C4.2 1.259 0 6.14 0 11.999 0 17.859 4.203 22.74 9.759 23.79c0.726 0.138 1.476 0.21 2.241 0.21 6.789 0 12.261 -5.64 11.991 -12.49C23.741 5.249 18.599 0.173 12.335 0.005Zm0.207 21.58c-0.204 0.012 -0.336 -0.222 -0.21 -0.384 1.974 -2.541 3.153 -5.733 3.153 -9.202 0 -3.468 -1.176 -6.663 -3.153 -9.202 -0.126 -0.162 0.003 -0.396 0.207 -0.384 5.052 0.282 9.06 4.465 9.06 9.586 0 5.121 -4.005 9.304 -9.057 9.586Z";
-export default DUSK_LOGO_PATH;
diff --git a/explorer/src/lib/dusk/mocks/IntersectionObserver.js b/explorer/src/lib/dusk/mocks/IntersectionObserver.js
deleted file mode 100644
index f2c8d5272b..0000000000
--- a/explorer/src/lib/dusk/mocks/IntersectionObserver.js
+++ /dev/null
@@ -1,21 +0,0 @@
-export default class IntersectionObserver {
- get root() {
- return document;
- }
-
- get rootMargin() {
- return "0px 0px 0px 0px";
- }
-
- get thresholds() {
- return [0];
- }
-
- disconnect() {}
-
- observe() {}
-
- takeRecords() {}
-
- unobserve() {}
-}
diff --git a/explorer/src/lib/dusk/mocks/MediaQueryList.js b/explorer/src/lib/dusk/mocks/MediaQueryList.js
deleted file mode 100644
index 28fca92a1a..0000000000
--- a/explorer/src/lib/dusk/mocks/MediaQueryList.js
+++ /dev/null
@@ -1,68 +0,0 @@
-import { afterAll } from "vitest";
-
-const controllers = new Set();
-
-afterAll(() => {
- controllers.forEach((controller) => {
- controller.abort();
- controllers.delete(controller);
- });
-});
-
-/**
- * Mocks the `MediaQueryList` object and listens to the
- * "DuskMediaQueryMatchesChange" custom event.
- * Fire one manually or with the `changeMediaQueryMatches`
- * helper function to simulate media query changes.
- */
-export default class MediaQueryList extends EventTarget {
- #matches;
-
- #media;
-
- /**
- * @param {string} mediaQuery
- * @param {boolean} initialMatches
- */
- constructor(mediaQuery, initialMatches) {
- super();
-
- this.#matches = initialMatches;
- this.#media = mediaQuery;
-
- const abortController = new AbortController();
-
- controllers.add(abortController);
-
- global.addEventListener("DuskMediaQueryMatchesChange", this, {
- signal: abortController.signal,
- });
- }
-
- get matches() {
- return this.#matches;
- }
-
- get media() {
- return this.#media;
- }
-
- /** @param {CustomEvent<{ media: string, matches: boolean }>} evt */
- handleEvent(evt) {
- const { detail, type } = evt;
-
- if (
- type === "DuskMediaQueryMatchesChange" &&
- detail.media === this.#media
- ) {
- this.#matches = detail.matches;
-
- this.dispatchEvent(
- new MediaQueryListEvent("change", {
- matches: this.#matches,
- media: this.#media,
- })
- );
- }
- }
-}
diff --git a/explorer/src/lib/dusk/mocks/MediaQueryListEvent.js b/explorer/src/lib/dusk/mocks/MediaQueryListEvent.js
deleted file mode 100644
index 6f076c1137..0000000000
--- a/explorer/src/lib/dusk/mocks/MediaQueryListEvent.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { pickIn } from "lamb";
-
-export default class MediaQueryListEvent extends Event {
- #matches;
-
- #media;
-
- /**
- * @param {string} type
- * @param {MediaQueryListEventInit} options
- */
- constructor(type, options) {
- super(type, pickIn(options, ["bubbles", "cancelable", "composed"]));
-
- this.#matches = options.matches;
- this.#media = options.media;
- }
-
- get matches() {
- return this.#matches;
- }
-
- get media() {
- return this.#media;
- }
-}
diff --git a/explorer/src/lib/dusk/mocks/index.js b/explorer/src/lib/dusk/mocks/index.js
deleted file mode 100644
index f31648fc8d..0000000000
--- a/explorer/src/lib/dusk/mocks/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as IntersectionObserver } from "./IntersectionObserver";
-export { default as MediaQueryList } from "./MediaQueryList";
-export { default as MediaQueryListEvent } from "./MediaQueryListEvent";
diff --git a/explorer/src/lib/dusk/promise/__tests__/rejectAfter.spec.js b/explorer/src/lib/dusk/promise/__tests__/rejectAfter.spec.js
deleted file mode 100644
index b170546e09..0000000000
--- a/explorer/src/lib/dusk/promise/__tests__/rejectAfter.spec.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import { afterAll, describe, expect, it, vi } from "vitest";
-
-import { rejectAfter } from "..";
-
-describe("rejectAfter", () => {
- vi.useFakeTimers();
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("build a promise that rejects with the given error after the chosen delay", async () => {
- let result;
-
- const error = new Error("some error message");
- const delay = 2000;
-
- rejectAfter(delay, error).catch((r) => {
- result = r;
- });
-
- await vi.advanceTimersByTimeAsync(delay / 2);
-
- expect(result).toBeUndefined();
-
- await vi.advanceTimersByTimeAsync(delay / 2);
-
- expect(result).toBe(error);
- });
-});
diff --git a/explorer/src/lib/dusk/promise/__tests__/resolveAfter.spec.js b/explorer/src/lib/dusk/promise/__tests__/resolveAfter.spec.js
deleted file mode 100644
index 0367395ff7..0000000000
--- a/explorer/src/lib/dusk/promise/__tests__/resolveAfter.spec.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import { afterAll, describe, expect, it, vi } from "vitest";
-
-import { resolveAfter } from "..";
-
-describe("resolveAfter", () => {
- vi.useFakeTimers();
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("build a promise that resolves with the given value after the chosen delay", async () => {
- let result;
-
- const value = {};
- const delay = 2000;
-
- resolveAfter(delay, value).then((r) => {
- result = r;
- });
-
- await vi.advanceTimersByTimeAsync(delay / 2);
-
- expect(result).toBeUndefined();
-
- await vi.advanceTimersByTimeAsync(delay / 2);
-
- expect(result).toBe(value);
- });
-});
diff --git a/explorer/src/lib/dusk/promise/index.js b/explorer/src/lib/dusk/promise/index.js
deleted file mode 100644
index 11f27917e2..0000000000
--- a/explorer/src/lib/dusk/promise/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as rejectAfter } from "./rejectAfter";
-export { default as resolveAfter } from "./resolveAfter";
diff --git a/explorer/src/lib/dusk/promise/rejectAfter.js b/explorer/src/lib/dusk/promise/rejectAfter.js
deleted file mode 100644
index c31a30ab1f..0000000000
--- a/explorer/src/lib/dusk/promise/rejectAfter.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/** @type {(delay: number, error: Error) => Promise} */
-const rejectAfter = (delay, error) =>
- new Promise((_, reject) => {
- setTimeout(() => reject(error), delay);
- });
-
-export default rejectAfter;
diff --git a/explorer/src/lib/dusk/promise/resolveAfter.js b/explorer/src/lib/dusk/promise/resolveAfter.js
deleted file mode 100644
index 960d85c285..0000000000
--- a/explorer/src/lib/dusk/promise/resolveAfter.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/** @type {(delay: number, value: any) => Promise} */
-const resolveAfter = (delay, value) =>
- new Promise((resolve) => {
- setTimeout(() => resolve(value), delay);
- });
-
-export default resolveAfter;
diff --git a/explorer/src/lib/dusk/string/__tests__/calculateAdaptiveCharCount.spec.js b/explorer/src/lib/dusk/string/__tests__/calculateAdaptiveCharCount.spec.js
deleted file mode 100644
index 06732211bd..0000000000
--- a/explorer/src/lib/dusk/string/__tests__/calculateAdaptiveCharCount.spec.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { calculateAdaptiveCharCount } from "../";
-
-describe("calculateAdaptiveCharCount", () => {
- it("should return minimum characters for widths less than the minimum width", () => {
- expect(calculateAdaptiveCharCount(300)).toBe(5);
- });
-
- it("should return minimum characters for width equal to the minimum width", () => {
- expect(calculateAdaptiveCharCount(320, 320, 640, 5, 20)).toBe(5);
- });
-
- it("should return correct characters for a width between the minimum and maximum widths", () => {
- expect(calculateAdaptiveCharCount(500, 320, 640, 5, 20)).toBe(13);
- });
-
- it("should return maximum characters for width equal to the maximum width", () => {
- expect(calculateAdaptiveCharCount(800, 320, 640, 5, 20)).toBe(20);
- });
-
- it("should return maximum characters for widths greater than the maximum width", () => {
- expect(calculateAdaptiveCharCount(900, 320, 640, 5, 20)).toBe(20);
- });
-});
diff --git a/explorer/src/lib/dusk/string/__tests__/decodeHexString.spec.js b/explorer/src/lib/dusk/string/__tests__/decodeHexString.spec.js
deleted file mode 100644
index 63fdd2d3ab..0000000000
--- a/explorer/src/lib/dusk/string/__tests__/decodeHexString.spec.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import { beforeEach, describe, expect, it, vi } from "vitest";
-import { decodeHexString } from "..";
-
-describe("decodeHexString", () => {
- const mockTextDecoder = vi
- .spyOn(global, "TextDecoder")
- .mockImplementation(function () {
- return {
- decode: vi.fn((bytes) => {
- // Simulate decoding of bytes
- return String.fromCharCode(...bytes);
- }),
- encoding: "utf-8",
- fatal: false,
- ignoreBOM: true,
- };
- });
-
- beforeEach(() => {
- mockTextDecoder.mockClear();
- });
-
- it("should return a decoded string for a valid hex string", () => {
- expect(decodeHexString("48656c6c6f")).toBe("Hello");
- });
-
- it("should return formatted JSON for a valid hex string containing JSON data", () => {
- const jsonString = '{"name": "ChatGPT", "language": "JavaScript"}';
- const hexString = Buffer.from(jsonString).toString("hex"); // Convert JSON string to hex
-
- expect(decodeHexString(hexString)).toBe(
- JSON.stringify(JSON.parse(jsonString), null, 2)
- );
- });
-
- it("should return the input value if it's not a valid hex string", () => {
- expect(decodeHexString("invalidHex")).toBe("invalidHex");
- });
-
- it("should return the decoded string even if it's not valid JSON", () => {
- expect(decodeHexString("48656c6c6f21")).toBe("Hello!");
- });
-
- it("should return the input value if decoded string contains invalid characters", () => {
- expect(decodeHexString("F09F9880")).toBe("F09F9880");
- });
-
- it("should return an empty string if the input is an empty hex string", () => {
- expect(decodeHexString("")).toBe("");
- });
-});
diff --git a/explorer/src/lib/dusk/string/__tests__/getRelativeTimeString.spec.js b/explorer/src/lib/dusk/string/__tests__/getRelativeTimeString.spec.js
deleted file mode 100644
index 892069caea..0000000000
--- a/explorer/src/lib/dusk/string/__tests__/getRelativeTimeString.spec.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { getRelativeTimeString } from "../";
-
-describe("getRelativeTimeString", () => {
- it("should return the correct relative time", () => {
- const date = new Date();
- expect(getRelativeTimeString(date, "long")).toBe("now");
-
- date.setDate(date.getDate() - 2);
- expect(getRelativeTimeString(date, "long")).toBe("2 days ago");
-
- date.setDate(date.getDate() - 7);
- expect(getRelativeTimeString(date, "long")).toBe("last week");
-
- date.setDate(date.getDate() - 7);
- expect(getRelativeTimeString(date, "long")).toBe("2 weeks ago");
-
- date.setDate(date.getDate() - 15);
- expect(getRelativeTimeString(date, "long")).toBe("last month");
-
- date.setDate(date.getDate() - 40);
- expect(getRelativeTimeString(date, "long")).toBe("2 months ago");
-
- date.setDate(date.getDate() - 300);
- expect(getRelativeTimeString(date, "long")).toBe("last year");
-
- date.setDate(date.getDate() - 365);
- expect(getRelativeTimeString(date, "long")).toBe("2 years ago");
- });
-});
diff --git a/explorer/src/lib/dusk/string/__tests__/hexToBytes.spec.js b/explorer/src/lib/dusk/string/__tests__/hexToBytes.spec.js
deleted file mode 100644
index 8a25eb8939..0000000000
--- a/explorer/src/lib/dusk/string/__tests__/hexToBytes.spec.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { hexToBytes } from "..";
-
-describe("hexToBytes", () => {
- it("should correctly convert a valid hex string to Uint8Array", () => {
- expect(hexToBytes("a1b2")).toEqual(new Uint8Array([161, 178]));
- expect(hexToBytes("0f1e")).toEqual(new Uint8Array([15, 30]));
- expect(hexToBytes("0011223344")).toEqual(
- new Uint8Array([0, 17, 34, 51, 68])
- );
- });
-
- it("should handle uppercase hex strings correctly", () => {
- expect(hexToBytes("A1B2")).toEqual(new Uint8Array([161, 178]));
- expect(hexToBytes("0F1E")).toEqual(new Uint8Array([15, 30]));
- });
-
- it("should throw an error for odd-length hex strings", () => {
- expect(() => hexToBytes("a1b")).toThrow(Error);
- expect(() => hexToBytes("123")).toThrow(Error);
- });
-
- it("should throw an error for non-hex characters", () => {
- expect(() => hexToBytes("zxy1")).toThrow(Error);
- expect(() => hexToBytes("0x1g")).toThrow(Error);
- });
-
- it("should throw an error for an empty string", () => {
- expect(() => hexToBytes("")).toThrow(Error);
- });
-});
diff --git a/explorer/src/lib/dusk/string/__tests__/isValidHex.spec.js b/explorer/src/lib/dusk/string/__tests__/isValidHex.spec.js
deleted file mode 100644
index 9f39dc2ed6..0000000000
--- a/explorer/src/lib/dusk/string/__tests__/isValidHex.spec.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { isValidHex } from "..";
-
-describe("isValidHex", () => {
- it("should return true for a valid hex string", () => {
- expect(
- isValidHex(
- "0xce4d041b4cce091e9388391730956169691ca37496e063a6a4dbc3cfe75a889c"
- )
- ).toBeTruthy();
- expect(
- isValidHex(
- "30786365346430343162346363653039316539333838333931373330393536"
- )
- ).toBeTruthy();
- expect(isValidHex("a1b2")).toBe(true);
- expect(isValidHex("A1B2")).toBe(true);
- });
-
- it("should return false for strings with odd number of characters", () => {
- expect(isValidHex("a1b")).toBe(false);
- expect(isValidHex("0x1a2")).toBe(false);
- });
-
- it("should return false for strings with non-hex characters", () => {
- expect(
- isValidHex(
- "0xce4d041b4cc;./?-*|e091e938309jklmnoprst56169691ca3~!@#$%^&*()_+=7496e063a6ae75a889c"
- )
- ).toBeFalsy();
- expect(isValidHex("ghijklmnoprstyuxwz")).toBeFalsy();
- expect(
- isValidHex("307863653464;./?-*|393165393338~!@#$%^&*()_+=30393536")
- ).toBeFalsy();
- });
-
- it("should return false for invalid prefixes", () => {
- expect(isValidHex("0x-1a2b")).toBe(false);
- expect(isValidHex("-0y1a2b")).toBe(false);
- });
-
- it("should return false for empty string inputs", () => {
- expect(isValidHex("")).toBe(false);
- });
-
- it("should return false for strings with leading or trailing spaces", () => {
- expect(isValidHex(" 0x1a2b ")).toBe(false);
- });
-
- it("should return false for a string with only the '0x' prefix", () => {
- expect(isValidHex("0x")).toBe(false);
- });
-});
diff --git a/explorer/src/lib/dusk/string/__tests__/makeClassName.spec.js b/explorer/src/lib/dusk/string/__tests__/makeClassName.spec.js
deleted file mode 100644
index f672e20f81..0000000000
--- a/explorer/src/lib/dusk/string/__tests__/makeClassName.spec.js
+++ /dev/null
@@ -1,73 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { makeClassName } from "..";
-
-describe("makeClassName", () => {
- it('should build a class name string from the keys holding "truthy" values if given an object as parameter', () => {
- const classes = {
- a: "",
- b: 0,
- c: -0,
- d: null,
- e: void 0,
- f: NaN,
- g: false,
- i: "false",
- j: "0",
- k: "true",
- l: true,
- m: "",
- };
-
- expect(makeClassName(classes)).toBe("i j k l");
- });
-
- it('should return an empty string if the object has no keys or all values are "falsy"', () => {
- const classes = {
- a: "",
- b: 0,
- c: -0,
- d: null,
- e: void 0,
- f: false,
- g: NaN,
- };
-
- expect(makeClassName(classes)).toBe("");
- expect(makeClassName({})).toBe("");
- });
-
- it('should build a class name string from the unique "truthy" values if given an array as parameter', () => {
- const classes = [
- "",
- 0,
- -0,
- null,
- void 0,
- false,
- "false",
- "foo",
- "0",
- 2,
- "foo",
- "false",
- ];
-
- expect(makeClassName(classes)).toBe("false foo 0 2");
- });
-
- it('should return an empty string if the array is empty or all values are "falsy"', () => {
- const classes = ["", 0, -0, null, void 0, false, NaN];
-
- expect(makeClassName(classes)).toBe("");
- expect(makeClassName([])).toBe("");
- });
-
- it("should throw an exception if the received parameter is `null` or `undefined`", () => {
- // @ts-expect-error
- expect(() => makeClassName(null)).toThrow();
-
- // @ts-expect-error
- expect(() => makeClassName(void 0)).toThrow();
- });
-});
diff --git a/explorer/src/lib/dusk/string/__tests__/middleEllipsis.spec.js b/explorer/src/lib/dusk/string/__tests__/middleEllipsis.spec.js
deleted file mode 100644
index 22cc775649..0000000000
--- a/explorer/src/lib/dusk/string/__tests__/middleEllipsis.spec.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { middleEllipsis } from "..";
-
-describe("middleEllipsis", () => {
- it("should return the original text if text length is less than or equal to twice n", () => {
- expect(middleEllipsis("Hello", 5)).toEqual("Hello");
- expect(middleEllipsis("Hi", 2)).toEqual("Hi");
- });
-
- it("should return text with ellipsis in the middle for longer texts", () => {
- expect(middleEllipsis("HelloWorld", 3)).toEqual("Hel...rld");
- expect(middleEllipsis("abcdef", 2)).toEqual("ab...ef");
- });
-
- it("should handle edge cases gracefully", () => {
- expect(middleEllipsis("", 2)).toEqual("");
- expect(middleEllipsis("A", 0)).toEqual("...");
- expect(middleEllipsis("HelloWorld", 0)).toEqual("...");
- });
-});
diff --git a/explorer/src/lib/dusk/string/calculateAdaptiveCharCount.js b/explorer/src/lib/dusk/string/calculateAdaptiveCharCount.js
deleted file mode 100644
index 75dca53195..0000000000
--- a/explorer/src/lib/dusk/string/calculateAdaptiveCharCount.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Calculates the number of characters to display based on the screen width,
- * with adjustable parameters for minimum and maximum screen widths and character counts.
- * It uses linear interpolation to determine the number of characters relative to the screen width.
- *
- * @param {Number} width - The current width of the screen in pixels.
- * @param {Number} [minWidth=320] - The minimum screen width to consider, defaulting to 320 pixels.
- * @param {Number} [maxWidth=720] - The maximum screen width to consider, defaulting to 720 pixels.
- * @param {Number} [minCharacters=5] - The minimum number of characters to display,
- * defaulting to 5 characters.
- * @param {Number} [maxCharacters=18] - The maximum number of characters to display,
- * defaulting to 18 characters.
- * @returns {Number} The calculated number of characters to be displayed,
- * rounded to the nearest integer.
- * This value is clamped between the minimum and maximum number of characters.
- *
- * @example
- * // if screen width is 320px
- * calculateAdaptiveCharCount(320); // returns 5
- *
- * @example
- * // if screen width is 520px
- * calculateAdaptiveCharCount(520); // returns a value between 5 and 20
- *
- * @example
- * // if screen width is 720px or more
- * calculateAdaptiveCharCount(720); // returns 20
- *
- * @example
- * // using custom parameters
- * calculateAdaptiveCharCount(500, 400, 800, 10, 30); //
- * returns a calculated value based on custom parameters
- */
-
-function calculateAdaptiveCharCount(
- width,
- minWidth = 320,
- maxWidth = 640,
- minCharacters = 5,
- maxCharacters = 18
-) {
- const characters =
- minCharacters +
- ((width - minWidth) * (maxCharacters - minCharacters)) /
- (maxWidth - minWidth);
-
- return Math.round(
- Math.max(minCharacters, Math.min(characters, maxCharacters))
- );
-}
-
-export default calculateAdaptiveCharCount;
diff --git a/explorer/src/lib/dusk/string/decodeHexString.js b/explorer/src/lib/dusk/string/decodeHexString.js
deleted file mode 100644
index 024d97d9a7..0000000000
--- a/explorer/src/lib/dusk/string/decodeHexString.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { hexToBytes, isValidHex } from "./";
-
-/**
- * Decodes a hexadecimal string to utf-8 and formats it if it's a JSON string
- *
- * @param {string} value
- * @returns {string}
- */
-function decodeHexString(value) {
- if (!isValidHex(value)) {
- return value;
- }
-
- const bytes = hexToBytes(value);
- const decoder = new TextDecoder();
- let decodedString;
- try {
- decodedString = decoder.decode(bytes);
- } catch {
- return value;
- }
-
- //Check whether the string contains almost all visible Unicode characters up to the end of the BMP
- /* eslint-disable-next-line no-control-regex */
- if (/^[\u0000-\u007F\u00A0-\uFFFF]*$/.test(decodedString)) {
- try {
- return JSON.stringify(JSON.parse(decodedString), null, 2);
- } catch {
- return decodedString;
- }
- }
-
- return value;
-}
-
-export default decodeHexString;
diff --git a/explorer/src/lib/dusk/string/getRelativeTimeString.js b/explorer/src/lib/dusk/string/getRelativeTimeString.js
deleted file mode 100644
index 732d987877..0000000000
--- a/explorer/src/lib/dusk/string/getRelativeTimeString.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @typedef {Object} TimeUnit
- * @property {Number} factor
- * @property {Intl.RelativeTimeFormatUnit} name
- */
-
-/* eslint-disable sort-keys */
-
-/** @type {TimeUnit[]} */
-const units = [
- { name: "year", factor: 1000 * 60 * 60 * 24 * 365 },
- { name: "month", factor: 1000 * 60 * 60 * 24 * 30 },
- { name: "week", factor: 1000 * 60 * 60 * 24 * 7 },
- { name: "day", factor: 1000 * 60 * 60 * 24 },
- { name: "hour", factor: 1000 * 60 * 60 },
- { name: "minute", factor: 1000 * 60 },
- { name: "second", factor: 1000 },
-];
-
-/* eslint-enable sort-keys */
-
-/**
- * @private
- * @param {Number} diff
- * @returns {TimeUnit}
- */
-function getTimeUnit(diff) {
- for (const unit of units) {
- if (Math.abs(diff) >= unit.factor) {
- return unit;
- }
- }
-
- return units[6];
-}
-
-/**
- * @param {Date} date
- * @param {"long" | "short" | "narrow"} style
- * @return {String}
- */
-function getRelativeTimeString(date, style) {
- const rtf = new Intl.RelativeTimeFormat("en", {
- localeMatcher: "best fit",
- numeric: "auto",
- style,
- });
- const diff = date.getTime() - Date.now();
- const unit = getTimeUnit(diff);
-
- return rtf.format(Math.round(diff / unit.factor), unit.name);
-}
-
-export default getRelativeTimeString;
diff --git a/explorer/src/lib/dusk/string/hexToBytes.js b/explorer/src/lib/dusk/string/hexToBytes.js
deleted file mode 100644
index bd42aa1ff0..0000000000
--- a/explorer/src/lib/dusk/string/hexToBytes.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { isValidHex } from "./";
-
-/**
- * Transform a hexadecimal string to a Uint8Array of bytes
- *
- * @param {string} value
- * @returns {Uint8Array}
- */
-const hexToBytes = (value) => {
- if (!isValidHex(value)) {
- throw new Error(`Given value "${value}" is not a valid hex string`);
- }
-
- value = value.replace(/^0x/i, "");
- const bytes = new Uint8Array(value.length / 2);
- for (let i = 0; i < value.length; i += 2) {
- bytes[i / 2] = parseInt(value.slice(i, i + 2), 16);
- }
- return bytes;
-};
-
-export default hexToBytes;
diff --git a/explorer/src/lib/dusk/string/index.js b/explorer/src/lib/dusk/string/index.js
deleted file mode 100644
index e5442eb848..0000000000
--- a/explorer/src/lib/dusk/string/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-export { default as calculateAdaptiveCharCount } from "./calculateAdaptiveCharCount";
-export { default as decodeHexString } from "./decodeHexString";
-export { default as getRelativeTimeString } from "./getRelativeTimeString";
-export { default as hexToBytes } from "./hexToBytes";
-export { default as isValidHex } from "./isValidHex";
-export { default as makeClassName } from "./makeClassName";
-export { default as middleEllipsis } from "./middleEllipsis";
diff --git a/explorer/src/lib/dusk/string/isValidHex.js b/explorer/src/lib/dusk/string/isValidHex.js
deleted file mode 100644
index c5bb13b3e6..0000000000
--- a/explorer/src/lib/dusk/string/isValidHex.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * Validates whether the input is a valid hexadecimal string or number.
- *
- * @param {string} value
- * @returns {boolean}
- */
-function isValidHex(value) {
- return (
- typeof value === "string" &&
- value.length % 2 === 0 &&
- /^(0x)?[0-9a-f]+$/i.test(value)
- );
-}
-
-export default isValidHex;
diff --git a/explorer/src/lib/dusk/string/makeClassName.js b/explorer/src/lib/dusk/string/makeClassName.js
deleted file mode 100644
index e5288c68d0..0000000000
--- a/explorer/src/lib/dusk/string/makeClassName.js
+++ /dev/null
@@ -1,43 +0,0 @@
-import {
- condition,
- filterWith,
- joinWith,
- keys,
- pickIf,
- pipe,
- uniques,
-} from "lamb";
-
-const joinWithSpace = joinWith(" ");
-
-const makeClassNameFromArray = pipe([
- filterWith(Boolean),
- uniques,
- joinWithSpace,
-]);
-
-const makeClassNameFromObject = pipe([pickIf(Boolean), keys, joinWithSpace]);
-
-/**
- * Utility function to build a CSS class name string.
- * The function accepts either an Object or an Array.
- * If you pass an object, then it should have the class names as keys. The resulting class names will be
- * the keys holding "truthy" values.
- * "Falsy" values are "", 0, -0, false,
- * null, NaN and undefined.
- * @example
- * const obj = { foo: true, bar: false, baz: true };
- * const arr = ["foo", undefined, "", "foo", "baz"];
- *
- * makeClassName(obj) // => "foo baz"
- * makeClassName(arr) // => "foo baz"
- * makeClassName({}) // => ""
- * makeClassName([]) // => ""
- */
-const makeClassName = condition(
- Array.isArray,
- makeClassNameFromArray,
- makeClassNameFromObject
-);
-
-export default makeClassName;
diff --git a/explorer/src/lib/dusk/string/middleEllipsis.js b/explorer/src/lib/dusk/string/middleEllipsis.js
deleted file mode 100644
index 91699c04c1..0000000000
--- a/explorer/src/lib/dusk/string/middleEllipsis.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Used to shorten a string by replacing the middle with an ellipsis.
- * @param {String} originalString
- * @param {Number} charactersToDisplay
- * @returns {String}
- */
-function middleEllipsis(originalString, charactersToDisplay) {
- if (originalString.length <= 2 * charactersToDisplay) {
- return originalString;
- }
-
- return `${originalString.substring(
- 0,
- charactersToDisplay
- )}...${originalString.substring(originalString.length - charactersToDisplay)}`;
-}
-
-export default middleEllipsis;
diff --git a/explorer/src/lib/dusk/svelte-stores/__tests__/createDataStore.spec.js b/explorer/src/lib/dusk/svelte-stores/__tests__/createDataStore.spec.js
deleted file mode 100644
index be0fd696e9..0000000000
--- a/explorer/src/lib/dusk/svelte-stores/__tests__/createDataStore.spec.js
+++ /dev/null
@@ -1,351 +0,0 @@
-import {
- afterAll,
- afterEach,
- beforeEach,
- describe,
- expect,
- it,
- vi,
-} from "vitest";
-import { get } from "svelte/store";
-
-import { rejectAfter, resolveAfter } from "$lib/dusk/promise";
-
-import { createDataStore } from "..";
-
-describe("createDataStore", () => {
- const data1 = { a: 1 };
- const data2 = { a: 2 };
- const data3 = { a: 3 };
- const error = new Error("some error message");
- const args = [1, "a", new Date()];
- const dataRetriever = vi.fn().mockResolvedValue(data1);
-
- /** @type {DataStore} */
- let dataStore;
-
- vi.useFakeTimers();
-
- beforeEach(() => {
- dataStore = createDataStore(dataRetriever);
- });
-
- afterEach(() => {
- dataRetriever.mockClear();
- });
-
- afterAll(() => {
- vi.useRealTimers();
- });
-
- it("should create a readable data store and expose `getData` and `reset` as service method", () => {
- expect(dataRetriever).not.toHaveBeenCalled();
- expect(dataStore).toHaveProperty("getData", expect.any(Function));
- expect(dataStore).toHaveProperty("reset", expect.any(Function));
- expect(dataStore).toHaveProperty("subscribe", expect.any(Function));
- expect(dataStore).not.toHaveProperty("set");
- expect(get(dataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: false,
- });
- });
-
- it("should set the loading property to `true` when `getData` is called and then fill the data and set loading to `false` if the promise resolves", async () => {
- const expectedState = {
- data: data1,
- error: null,
- isLoading: false,
- };
- const dataPromise = dataStore.getData(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(dataRetriever).toHaveBeenCalledWith(...args);
- expect(get(dataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersToNextTimerAsync();
-
- expect(await dataPromise).toStrictEqual(expectedState);
- expect(get(dataStore)).toStrictEqual(expectedState);
- });
-
- it("should set the loading property to `true` when `getData` is called and then set the error and the loading to `false` if the promise rejects", async () => {
- dataRetriever.mockRejectedValueOnce(error);
-
- const expectedState = {
- data: null,
- error,
- isLoading: false,
- };
- const dataPromise = dataStore.getData(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(dataRetriever).toHaveBeenCalledWith(...args);
- expect(get(dataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersToNextTimerAsync();
-
- expect(await dataPromise).toStrictEqual(expectedState);
- expect(get(dataStore)).toStrictEqual(expectedState);
- });
-
- it("should ignore the previous call if `getData` is called while the promise is still pending", async () => {
- // test the first promise as success
- dataRetriever
- .mockImplementationOnce(() => resolveAfter(1000, data1))
- .mockResolvedValueOnce(data2);
-
- /** @type {DataStoreContent} */
- let expectedState = {
- data: data2,
- error: null,
- isLoading: false,
- };
-
- dataStore.getData(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(dataRetriever).toHaveBeenCalledWith(...args);
-
- let dataPromise = dataStore.getData(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(dataRetriever).toHaveBeenNthCalledWith(2, ...args);
- expect(await dataPromise).toStrictEqual(expectedState);
- expect(get(dataStore)).toStrictEqual(expectedState);
-
- // waiting for the first promise to resolve
- await vi.advanceTimersToNextTimerAsync();
-
- expect(get(dataStore)).toStrictEqual(expectedState);
-
- // test the first promise as failure
- dataRetriever
- .mockImplementationOnce(() => rejectAfter(1000, error))
- .mockResolvedValueOnce(data3);
-
- dataStore.getData(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(3);
- expect(dataRetriever).toHaveBeenNthCalledWith(3, ...args);
-
- expectedState = {
- data: data3,
- error: null,
- isLoading: false,
- };
- dataPromise = dataStore.getData(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(4);
- expect(dataRetriever).toHaveBeenNthCalledWith(4, ...args);
- expect(await dataPromise).toStrictEqual(expectedState);
- expect(get(dataStore)).toStrictEqual(expectedState);
-
- // waiting for the first promise to resolve
- await vi.advanceTimersToNextTimerAsync();
-
- expect(get(dataStore)).toStrictEqual(expectedState);
-
- // test the first promise as success and the second one as failure
- dataRetriever
- .mockImplementationOnce(() => resolveAfter(1000, data1))
- .mockRejectedValueOnce(error);
-
- dataStore.getData(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(5);
- expect(dataRetriever).toHaveBeenNthCalledWith(5, ...args);
-
- expectedState = {
- data: null,
- error,
- isLoading: false,
- };
- dataPromise = dataStore.getData(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(6);
- expect(dataRetriever).toHaveBeenNthCalledWith(6, ...args);
- expect(await dataPromise).toStrictEqual(expectedState);
- expect(get(dataStore)).toStrictEqual(expectedState);
-
- // waiting for the first promise to resolve
- await vi.advanceTimersToNextTimerAsync();
-
- expect(get(dataStore)).toStrictEqual(expectedState);
- });
-
- it("should clear the error and leave the existing data while the promise is pending and clear the data when it ends with a failure", async () => {
- dataRetriever.mockRejectedValueOnce(error);
-
- /** @type {DataStoreContent} */
- let expectedState = {
- data: null,
- error,
- isLoading: false,
- };
- let dataPromise = dataStore.getData();
-
- expect(get(dataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersToNextTimerAsync();
-
- expect(await dataPromise).toStrictEqual(expectedState);
- expect(get(dataStore)).toStrictEqual(expectedState);
-
- expectedState = {
- data: data1,
- error: null,
- isLoading: false,
- };
- dataPromise = dataStore.getData();
-
- expect(get(dataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersToNextTimerAsync();
-
- expect(await dataPromise).toStrictEqual(expectedState);
- expect(get(dataStore)).toStrictEqual(expectedState);
-
- dataRetriever.mockRejectedValueOnce(error);
-
- expectedState = {
- data: null,
- error,
- isLoading: false,
- };
- dataPromise = dataStore.getData();
-
- expect(get(dataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersToNextTimerAsync();
-
- expect(await dataPromise).toStrictEqual(expectedState);
- expect(get(dataStore)).toStrictEqual(expectedState);
- });
-
- it("should expose a `reset` method to reset the data to its initial state", async () => {
- expect(get(dataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: false,
- });
-
- await dataStore.getData(...args);
-
- expect(get(dataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: false,
- });
-
- dataStore.reset();
-
- expect(get(dataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: false,
- });
-
- dataRetriever.mockRejectedValueOnce(error);
-
- await dataStore.getData(...args);
-
- expect(get(dataStore)).toStrictEqual({
- data: null,
- error,
- isLoading: false,
- });
-
- dataStore.reset();
-
- expect(get(dataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: false,
- });
- });
-
- it("should ignore the pending promise when `reset` is called and have `getData` return the reset store", async () => {
- const expectedInitialState = {
- data: null,
- error: null,
- isLoading: false,
- };
-
- await dataStore.getData(...args);
-
- let dataPromise = dataStore.getData(...args);
-
- expect(get(dataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: true,
- });
-
- dataStore.reset();
-
- expect(await dataPromise).toStrictEqual(expectedInitialState);
- expect(get(dataStore)).toStrictEqual(expectedInitialState);
-
- await dataStore.getData(...args);
-
- dataRetriever.mockRejectedValueOnce(error);
- dataPromise = dataStore.getData(...args);
-
- expect(get(dataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: true,
- });
-
- dataStore.reset();
-
- expect(await dataPromise).toStrictEqual(expectedInitialState);
- expect(get(dataStore)).toStrictEqual(expectedInitialState);
- });
-
- it("should ignore the pending promise when `reset` is called and a `getData` is called immediately afterwards and return the new result", async () => {
- const expectedState = {
- data: data2,
- error: null,
- isLoading: false,
- };
-
- dataRetriever
- .mockImplementationOnce(() => resolveAfter(1000, data1))
- .mockResolvedValueOnce(data2);
-
- dataStore.getData(...args);
- dataStore.reset();
-
- const dataPromise = dataStore.getData(...args);
-
- expect(await dataPromise).toStrictEqual(expectedState);
- expect(get(dataStore)).toStrictEqual(expectedState);
-
- // waiting for the first promise to resolve
- await vi.advanceTimersToNextTimerAsync();
-
- expect(get(dataStore)).toStrictEqual(expectedState);
- });
-});
diff --git a/explorer/src/lib/dusk/svelte-stores/__tests__/createPollingDataStore.spec.js b/explorer/src/lib/dusk/svelte-stores/__tests__/createPollingDataStore.spec.js
deleted file mode 100644
index d1fb8b0e60..0000000000
--- a/explorer/src/lib/dusk/svelte-stores/__tests__/createPollingDataStore.spec.js
+++ /dev/null
@@ -1,439 +0,0 @@
-import { afterAll, beforeEach, describe, expect, it, vi } from "vitest";
-import { get } from "svelte/store";
-import { tick } from "svelte";
-
-import { createPollingDataStore } from "..";
-
-describe("createPollingDataStore", () => {
- const data1 = { a: 1 };
- const data2 = { a: 2 };
- const data3 = { a: 3 };
- const error = new Error("some error message");
- const args = [1, "a", new Date()];
- const dataRetriever = vi.fn().mockResolvedValue(data1);
- const fetchInterval = 1000;
-
- const originalDocumentHidden = /** @type {PropertyDescriptor} */ (
- Object.getOwnPropertyDescriptor(Document.prototype, "hidden")
- );
-
- /** @param {boolean} isHidden */
- function changeDocumentHiddenTo(isHidden) {
- Object.defineProperty(document, "hidden", {
- configurable: true,
- value: isHidden,
- });
- document.dispatchEvent(new Event("visibilitychange"));
- }
-
- /** @type {PollingDataStore} */
- let pollingDataStore;
-
- vi.useFakeTimers();
-
- beforeEach(() => {
- dataRetriever.mockClear();
- pollingDataStore = createPollingDataStore(dataRetriever, fetchInterval);
- });
-
- afterAll(() => {
- vi.useRealTimers();
- Object.defineProperty(Document.prototype, "hidden", originalDocumentHidden);
- });
-
- it("should create a readable data store and expose `reset`, `start` and `stop` as service methods", () => {
- expect(dataRetriever).not.toHaveBeenCalled();
- expect(pollingDataStore).toHaveProperty("reset", expect.any(Function));
- expect(pollingDataStore).toHaveProperty("start", expect.any(Function));
- expect(pollingDataStore).toHaveProperty("stop", expect.any(Function));
- expect(pollingDataStore).toHaveProperty("subscribe", expect.any(Function));
- expect(pollingDataStore).not.toHaveProperty("set");
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: false,
- });
- });
-
- it("should start polling data with the desired interval when the `start` method is called and stop when the `stop` method is called", async () => {
- dataRetriever
- .mockResolvedValueOnce(data1)
- .mockResolvedValueOnce(data2)
- .mockResolvedValueOnce(data3);
-
- pollingDataStore.start(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(dataRetriever).toHaveBeenCalledWith(...args);
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersByTimeAsync(1);
-
- // no other call happened yet
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: false,
- });
-
- vi.advanceTimersByTime(fetchInterval - 1);
- await tick();
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(dataRetriever).toHaveBeenNthCalledWith(2, ...args);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersByTimeAsync(1);
-
- // no other call happened yet
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data2,
- error: null,
- isLoading: false,
- });
-
- vi.advanceTimersByTime(fetchInterval - 1);
- await tick();
-
- expect(dataRetriever).toHaveBeenCalledTimes(3);
- expect(dataRetriever).toHaveBeenNthCalledWith(3, ...args);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data2,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersByTimeAsync(1);
-
- // no other call happened yet
- expect(dataRetriever).toHaveBeenCalledTimes(3);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data3,
- error: null,
- isLoading: false,
- });
-
- pollingDataStore.stop();
-
- vi.advanceTimersByTime(fetchInterval - 1);
- await tick();
-
- expect(dataRetriever).toHaveBeenCalledTimes(3);
- });
-
- it("should stop the polling if an error occurs during the calls", async () => {
- dataRetriever.mockResolvedValueOnce(data1).mockRejectedValueOnce(error);
-
- pollingDataStore.start(...args);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(dataRetriever).toHaveBeenCalledWith(...args);
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersByTimeAsync(1);
-
- // no other call happened yet
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: false,
- });
-
- vi.advanceTimersByTime(fetchInterval - 1);
- await tick();
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(dataRetriever).toHaveBeenNthCalledWith(2, ...args);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersByTimeAsync(1);
-
- // no other call happened yet
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error,
- isLoading: false,
- });
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error,
- isLoading: false,
- });
- });
-
- it("should be able to restart polling after an error", async () => {
- dataRetriever.mockResolvedValueOnce(data1).mockRejectedValueOnce(error);
-
- pollingDataStore.start(...args);
-
- await vi.advanceTimersToNextTimerAsync();
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error,
- isLoading: false,
- });
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
-
- pollingDataStore.start(...args);
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(dataRetriever).toHaveBeenCalledTimes(13);
-
- pollingDataStore.stop();
- });
-
- it("should start a new poll process and stop the previous one when the `start` method is called and a polling is running", async () => {
- dataRetriever.mockImplementation((v) =>
- Promise.resolve(v === 1 ? data1 : data2)
- );
-
- pollingDataStore.start(1);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(dataRetriever).toHaveBeenNthCalledWith(1, 1);
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: true,
- });
-
- pollingDataStore.start(2);
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(dataRetriever).toHaveBeenNthCalledWith(2, 2);
-
- await vi.advanceTimersByTimeAsync(1);
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data2,
- error: null,
- isLoading: false,
- });
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(dataRetriever).toHaveBeenCalledTimes(12);
-
- for (let i = 3; i <= 12; i++) {
- expect(dataRetriever).toHaveBeenNthCalledWith(i, 2);
- }
-
- pollingDataStore.stop();
- dataRetriever.mockResolvedValue(data1);
- });
-
- it("should expose a `reset` method that stops the polling and resets the store to its initial state", async () => {
- const expectedInitialState = {
- data: null,
- error: null,
- isLoading: false,
- };
-
- expect(get(pollingDataStore)).toStrictEqual(expectedInitialState);
-
- dataRetriever.mockResolvedValueOnce(data1).mockResolvedValueOnce(data2);
-
- pollingDataStore.start(...args);
-
- await vi.advanceTimersByTimeAsync(fetchInterval - 1);
-
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: false,
- });
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
-
- pollingDataStore.reset();
-
- expect(get(pollingDataStore)).toStrictEqual(expectedInitialState);
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(get(pollingDataStore)).toStrictEqual(expectedInitialState);
-
- dataRetriever.mockRejectedValueOnce(error).mockResolvedValueOnce(data1);
-
- pollingDataStore.start(...args);
-
- await vi.advanceTimersByTimeAsync(fetchInterval - 1);
-
- expect(get(pollingDataStore)).toStrictEqual({
- data: data2,
- error: null,
- isLoading: false,
- });
-
- await vi.advanceTimersByTimeAsync(fetchInterval - 1);
-
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error,
- isLoading: false,
- });
-
- expect(dataRetriever).toHaveBeenCalledTimes(3);
-
- pollingDataStore.reset();
-
- expect(get(pollingDataStore)).toStrictEqual(expectedInitialState);
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(dataRetriever).toHaveBeenCalledTimes(3);
- expect(get(pollingDataStore)).toStrictEqual(expectedInitialState);
- });
-
- it("should be able to restart a polling after a `reset`", async () => {
- pollingDataStore.start(...args);
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(dataRetriever).toHaveBeenCalledTimes(11);
-
- pollingDataStore.reset();
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: false,
- });
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(get(pollingDataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: false,
- });
-
- dataRetriever.mockResolvedValueOnce(data2).mockResolvedValueOnce(data3);
- pollingDataStore.start(...args);
-
- await vi.advanceTimersByTimeAsync(fetchInterval - 1);
-
- expect(get(pollingDataStore)).toStrictEqual({
- data: data2,
- error: null,
- isLoading: false,
- });
-
- await vi.advanceTimersByTimeAsync(fetchInterval - 1);
-
- expect(get(pollingDataStore)).toStrictEqual({
- data: data3,
- error: null,
- isLoading: false,
- });
-
- pollingDataStore.stop();
- });
-
- it("should pause the polling when the document visibility changes to hidden and resume it when it goes back to visible", async () => {
- dataRetriever.mockResolvedValueOnce(data1).mockResolvedValueOnce(data2);
-
- pollingDataStore.start(...args);
-
- await vi.advanceTimersToNextTimerAsync();
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: false,
- });
-
- changeDocumentHiddenTo(true);
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: false,
- });
-
- changeDocumentHiddenTo(false);
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: true,
- });
-
- await vi.advanceTimersByTimeAsync(1);
-
- expect(dataRetriever).toHaveBeenCalledTimes(2);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data2,
- error: null,
- isLoading: false,
- });
-
- pollingDataStore.stop();
- dataRetriever.mockResolvedValue(data1);
- });
-
- it("shouldn't resume the polling if `stop` is called before the document becomes hidden", async () => {
- pollingDataStore.start(...args);
-
- await vi.advanceTimersToNextTimerAsync();
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: false,
- });
-
- pollingDataStore.stop();
- changeDocumentHiddenTo(true);
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
-
- changeDocumentHiddenTo(false);
-
- expect(dataRetriever).toHaveBeenCalledTimes(1);
- expect(get(pollingDataStore)).toStrictEqual({
- data: data1,
- error: null,
- isLoading: false,
- });
- });
-});
diff --git a/explorer/src/lib/dusk/svelte-stores/createDataStore.js b/explorer/src/lib/dusk/svelte-stores/createDataStore.js
deleted file mode 100644
index a8ea73d720..0000000000
--- a/explorer/src/lib/dusk/svelte-stores/createDataStore.js
+++ /dev/null
@@ -1,78 +0,0 @@
-import { get, writable } from "svelte/store";
-
-import { getErrorFrom } from "$lib/dusk/error";
-
-/**
- * @param {(...args: any) => Promise} dataRetriever
- * @returns {DataStore}
- */
-function createDataStore(dataRetriever) {
- /** @type {DataStoreContent} */
- const initialState = {
- data: null,
- error: null,
- isLoading: false,
- };
-
- const dataStore = writable(initialState);
- const { set, subscribe, update } = dataStore;
-
- /** @type {number} */
- let currentRetrieveId = 0;
-
- /** @type {(...args: Parameters) => Promise} */
- const getData = (...args) => {
- const retrieveId = ++currentRetrieveId;
-
- update((store) => ({ ...store, error: null, isLoading: true }));
-
- return dataRetriever(...args)
- .then((data) => {
- if (retrieveId === currentRetrieveId) {
- const newStoreContent = { data, error: null, isLoading: false };
-
- set(newStoreContent);
-
- return newStoreContent;
- } else {
- return get(dataStore);
- }
- })
- .catch(
- /** @param {any} error */
- (error) => {
- if (retrieveId === currentRetrieveId) {
- const newStoreContent = {
- data: null,
- error: getErrorFrom(error),
- isLoading: false,
- };
-
- set(newStoreContent);
-
- return newStoreContent;
- } else {
- return get(dataStore);
- }
- }
- );
- };
-
- const reset = () => {
- /**
- * We don't want pending promises to be written
- * in the store, and we don't want id clashes
- * if `getData` is called immediately after `reset`.
- */
- currentRetrieveId++;
- set(initialState);
- };
-
- return {
- getData,
- reset,
- subscribe,
- };
-}
-
-export default createDataStore;
diff --git a/explorer/src/lib/dusk/svelte-stores/createPollingDataStore.js b/explorer/src/lib/dusk/svelte-stores/createPollingDataStore.js
deleted file mode 100644
index a5ca4b1e7f..0000000000
--- a/explorer/src/lib/dusk/svelte-stores/createPollingDataStore.js
+++ /dev/null
@@ -1,79 +0,0 @@
-import { derived, get } from "svelte/store";
-
-import { resolveAfter } from "$lib/dusk/promise";
-
-import { createDataStore } from ".";
-
-/**
- * @param {(...args: any) => Promise} dataRetriever
- * @param {number} fetchInterval
- * @returns {PollingDataStore}
- */
-const createPollingDataStore = (dataRetriever, fetchInterval) => {
- /** @type {number} */
- let currentPollId = 0;
-
- /** @type {Parameters?} */
- let resumeArgs = null;
-
- function visibilityChangeHandler() {
- if (document.hidden && resumeArgs) {
- currentPollId++;
- } else if (resumeArgs) {
- start(...resumeArgs);
- }
- }
-
- const dataStore = createDataStore(dataRetriever);
-
- /** @type {(pollId: number, args: Parameters) => void} */
- const poll = (pollId, args) => {
- if (pollId === currentPollId) {
- dataStore
- .getData(...args)
- .then((store) =>
- store.error === null
- ? resolveAfter(fetchInterval, undefined).then(() =>
- poll(pollId, args)
- )
- : stop()
- )
- .catch(stop);
- }
- };
-
- const reset = () => {
- stop();
- dataStore.reset();
- };
-
- const stop = () => {
- document.removeEventListener("visibilitychange", visibilityChangeHandler);
- resumeArgs = null;
- currentPollId++;
- };
-
- /** @type {(...args: Parameters) => void} */
- const start = (...args) => {
- document.addEventListener("visibilitychange", visibilityChangeHandler);
- resumeArgs = args;
- poll(++currentPollId, args);
- };
-
- const pollingDataStore = derived(
- dataStore,
- ($dataStore, set) => {
- set($dataStore);
- },
- get(dataStore)
- );
-
- return {
- reset,
- start,
- stop,
- subscribe: pollingDataStore.subscribe,
- };
-};
-
-export default createPollingDataStore;
diff --git a/explorer/src/lib/dusk/svelte-stores/index.js b/explorer/src/lib/dusk/svelte-stores/index.js
deleted file mode 100644
index 5bb5182590..0000000000
--- a/explorer/src/lib/dusk/svelte-stores/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as createDataStore } from "./createDataStore";
-export { default as createPollingDataStore } from "./createPollingDataStore";
diff --git a/explorer/src/lib/dusk/svelte-stores/svelte-stores.d.ts b/explorer/src/lib/dusk/svelte-stores/svelte-stores.d.ts
deleted file mode 100644
index 1a60944ee4..0000000000
--- a/explorer/src/lib/dusk/svelte-stores/svelte-stores.d.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-type Readable = import("svelte/store").Readable;
-
-type DataStoreContent = {
- data: any;
- error: Error | null;
- isLoading: boolean;
-};
-
-type DataStore = Readable & {
- getData: (...args: any) => Promise;
- reset: () => void;
-};
-
-type PollingDataStore = Readable & {
- reset: () => void;
- start: (...args: any) => void;
- stop: (...args: any) => void;
-};
diff --git a/explorer/src/lib/dusk/test-helpers/SlotContent.svelte b/explorer/src/lib/dusk/test-helpers/SlotContent.svelte
deleted file mode 100644
index a3b3976962..0000000000
--- a/explorer/src/lib/dusk/test-helpers/SlotContent.svelte
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- {text}
-
diff --git a/explorer/src/lib/dusk/test-helpers/__tests__/changeMediaQueryMatches.spec.js b/explorer/src/lib/dusk/test-helpers/__tests__/changeMediaQueryMatches.spec.js
deleted file mode 100644
index 1c0e6a3aaa..0000000000
--- a/explorer/src/lib/dusk/test-helpers/__tests__/changeMediaQueryMatches.spec.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { changeMediaQueryMatches } from "..";
-
-describe("changeMediaQueryMatches", () => {
- it('should dispatch "DuskMediaQueryMatchesChange" custom events', () => {
- const media = "(max-width: 1024px)";
- const matches = true;
-
- /** @param {Event} evt */
- const handler = (evt) => {
- expect(evt).toBeInstanceOf(CustomEvent);
- expect(evt.type).toBe("DuskMediaQueryMatchesChange");
-
- // @ts-ignore see https://github.com/Microsoft/TypeScript/issues/28357
- expect(evt.detail).toStrictEqual({ matches, media });
- };
-
- global.addEventListener("DuskMediaQueryMatchesChange", handler);
-
- changeMediaQueryMatches(media, matches);
-
- global.removeEventListener("DuskMediaQueryMatchesChange", handler);
-
- expect.assertions(3);
- });
-});
diff --git a/explorer/src/lib/dusk/test-helpers/changeMediaQueryMatches.js b/explorer/src/lib/dusk/test-helpers/changeMediaQueryMatches.js
deleted file mode 100644
index ec0b6e16ad..0000000000
--- a/explorer/src/lib/dusk/test-helpers/changeMediaQueryMatches.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * Helper to fire "DuskMediaQueryMatchesChange" custom
- * events that are listened by our `MediaQueryList` mock.
- *
- * @param {string} media
- * @param {boolean} matches
- */
-export default function changeMediaQueryMatches(media, matches) {
- dispatchEvent(
- new CustomEvent("DuskMediaQueryMatchesChange", {
- detail: { matches, media },
- })
- );
-}
diff --git a/explorer/src/lib/dusk/test-helpers/index.js b/explorer/src/lib/dusk/test-helpers/index.js
deleted file mode 100644
index 1a8924b35f..0000000000
--- a/explorer/src/lib/dusk/test-helpers/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-export { default as changeMediaQueryMatches } from "./changeMediaQueryMatches";
-export { default as mockReadableStore } from "./mockReadableStore";
-export { default as renderWithSimpleContent } from "./renderWithSimpleContent";
-export { default as renderWithSlots } from "./renderWithSlots";
-export { default as SlotContent } from "./SlotContent.svelte";
diff --git a/explorer/src/lib/dusk/test-helpers/mockReadableStore.js b/explorer/src/lib/dusk/test-helpers/mockReadableStore.js
deleted file mode 100644
index 57a8c59ee9..0000000000
--- a/explorer/src/lib/dusk/test-helpers/mockReadableStore.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { get, writable } from "svelte/store";
-
-/** @param {*} initialValue */
-function mockReadableStore(initialValue) {
- const store = writable(initialValue);
- const { set, subscribe } = store;
- const getMockedStoreValue = () => get(store);
-
- /** @param {*} value */
- const setMockedStoreValue = (value) => set(value);
-
- return {
- getMockedStoreValue,
- setMockedStoreValue,
- subscribe,
- };
-}
-
-export default mockReadableStore;
diff --git a/explorer/src/lib/dusk/test-helpers/renderWithSimpleContent.js b/explorer/src/lib/dusk/test-helpers/renderWithSimpleContent.js
deleted file mode 100644
index 8c3133178a..0000000000
--- a/explorer/src/lib/dusk/test-helpers/renderWithSimpleContent.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import renderWithSlots from "./renderWithSlots";
-
-const renderWithSimpleContent = renderWithSlots({ default: "some text" });
-
-export default renderWithSimpleContent;
diff --git a/explorer/src/lib/dusk/test-helpers/renderWithSlots.js b/explorer/src/lib/dusk/test-helpers/renderWithSlots.js
deleted file mode 100644
index 24abf8a3bc..0000000000
--- a/explorer/src/lib/dusk/test-helpers/renderWithSlots.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { render } from "@testing-library/svelte";
-
-import SlotContent from "./SlotContent.svelte";
-
-/**
- * @callback CreateRenderer
- * @param {Parameters[0]} Component
- * @param {Parameters[1]} options
- * @param {Parameters[2]} [renderOptions]
- * @returns {ReturnType}
- */
-
-/**
- * @typedef {Object} DefaultSlot
- * @property {String} default
- */
-
-/**
- * @param {DefaultSlot} slots
- * @returns {CreateRenderer}
- */
-const renderWithSlots = (slots) => (Component, options, renderOptions) =>
- render(
- SlotContent,
- {
- ...options,
- props: {
- Component,
- componentOptions: options?.props,
- text: slots.default,
- },
- },
- renderOptions
- );
-
-export default renderWithSlots;
diff --git a/explorer/src/lib/dusk/ui-helpers/__test__/handlePageClick.spec.js b/explorer/src/lib/dusk/ui-helpers/__test__/handlePageClick.spec.js
deleted file mode 100644
index 16b25f24fd..0000000000
--- a/explorer/src/lib/dusk/ui-helpers/__test__/handlePageClick.spec.js
+++ /dev/null
@@ -1,67 +0,0 @@
-import { describe, expect, it, vi } from "vitest";
-import { handlePageClick } from "../handlePageClick";
-
-describe("handlePageClick", () => {
- it("calls callback on click outside the node", () => {
- const node = document.createElement("div");
- const callback = vi.fn();
-
- document.body.appendChild(node);
-
- handlePageClick(node, { callback, enabled: true });
-
- document.body.click();
- expect(callback).toHaveBeenCalledTimes(1);
-
- document.body.removeChild(node);
- });
-
- it("does not call callback on click inside the node", () => {
- const node = document.createElement("div");
- const callback = vi.fn();
-
- document.body.appendChild(node);
-
- handlePageClick(node, { callback, enabled: true });
-
- node.click();
- expect(callback).toHaveBeenCalledTimes(0);
-
- document.body.removeChild(node);
- });
-
- it("toggles listener activation based on enabled property", () => {
- const node = document.createElement("div");
- const callback = vi.fn();
-
- document.body.appendChild(node);
-
- const action = handlePageClick(node, { callback, enabled: false });
-
- document.body.click();
- expect(callback).toHaveBeenCalledTimes(0);
-
- action.update({ enabled: true });
-
- document.body.click();
- expect(callback).toHaveBeenCalledTimes(1);
-
- document.body.removeChild(node);
- });
-
- it("removes event listener on destroy", () => {
- const node = document.createElement("div");
- const callback = vi.fn();
-
- document.body.appendChild(node);
-
- const action = handlePageClick(node, { callback, enabled: true });
-
- action.destroy();
-
- document.body.click();
- expect(callback).toHaveBeenCalledTimes(0);
-
- document.body.removeChild(node);
- });
-});
diff --git a/explorer/src/lib/dusk/ui-helpers/handlePageClick.js b/explorer/src/lib/dusk/ui-helpers/handlePageClick.js
deleted file mode 100644
index 4b931dcdf4..0000000000
--- a/explorer/src/lib/dusk/ui-helpers/handlePageClick.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Action to handle clicks outside a specified node.
- *
- * @param {Node} node - The DOM node to monitor for outside clicks.
- * @param {Object} config - Configuration object for the action.
- * @param {boolean} config.enabled - Whether the outside click listener is active.
- * @param {Function} config.callback - Callback to execute when an outside click is detected.
- */
-export function handlePageClick(node, { enabled: initialEnabled, callback }) {
- // @ts-ignore
- const handleClick = (event) => {
- if (node && !node.contains(event.target) && !event.defaultPrevented) {
- callback();
- }
- };
-
- // @ts-ignore
- function update({ enabled }) {
- if (enabled) {
- window.addEventListener("click", handleClick);
- } else {
- window.removeEventListener("click", handleClick);
- }
- }
-
- update({ enabled: initialEnabled });
-
- return {
- destroy() {
- window.removeEventListener("click", handleClick);
- },
- update,
- };
-}
diff --git a/explorer/src/lib/dusk/value/__tests__/createCompactFormatter.spec.js b/explorer/src/lib/dusk/value/__tests__/createCompactFormatter.spec.js
deleted file mode 100644
index 354542b42d..0000000000
--- a/explorer/src/lib/dusk/value/__tests__/createCompactFormatter.spec.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { createCompactFormatter } from "../";
-
-describe("createCompactFormatter", () => {
- it("should format a number correctly", () => {
- const formatter = createCompactFormatter("en");
- expect(formatter(9e5)).toBe("900.00K");
- expect(formatter(1e6)).toBe("1.00M");
- });
-});
diff --git a/explorer/src/lib/dusk/value/__tests__/createValueFormatter.spec.js b/explorer/src/lib/dusk/value/__tests__/createValueFormatter.spec.js
deleted file mode 100644
index bea4d8eb61..0000000000
--- a/explorer/src/lib/dusk/value/__tests__/createValueFormatter.spec.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { createValueFormatter } from "../";
-
-describe("createValueFormatter", () => {
- it("should format a number correctly", () => {
- const formatter = createValueFormatter("en");
- expect(formatter(9e5)).toBe("900,000");
- expect(formatter(1e6)).toBe("1,000,000");
- expect(formatter(123456.367)).toBe("123,456.367");
- });
-});
diff --git a/explorer/src/lib/dusk/value/createCompactFormatter.js b/explorer/src/lib/dusk/value/createCompactFormatter.js
deleted file mode 100644
index d2a2b66014..0000000000
--- a/explorer/src/lib/dusk/value/createCompactFormatter.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * Creates a locale aware currency formatter for fiat or DUSK
- *
- * @param {String} locale A BCP 47 language tag
- * @returns {(value: number | bigint) => string}
- */
-const createFormatter = (locale) => {
- const formatter = new Intl.NumberFormat(locale, {
- compactDisplay: "short",
- maximumFractionDigits: 2,
- minimumFractionDigits: 2,
- notation: "compact",
- });
-
- return (value) => formatter.format(value);
-};
-
-export default createFormatter;
diff --git a/explorer/src/lib/dusk/value/createValueFormatter.js b/explorer/src/lib/dusk/value/createValueFormatter.js
deleted file mode 100644
index 130d937282..0000000000
--- a/explorer/src/lib/dusk/value/createValueFormatter.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
- * Creates a locale aware currency formatter for fiat or DUSK
- *
- * @param {String} locale A BCP 47 language tag
- * @param {Number} minFractionDigits The minimum fraction digits that should display
- * @param {Number} maxFractionDigits The maximum fraction digits that should display
- * @returns {(value: number | bigint) => string}
- */
-const createFormatter = (
- locale,
- minFractionDigits = 0,
- maxFractionDigits = 9
-) => {
- const formatter = new Intl.NumberFormat(locale, {
- maximumFractionDigits: maxFractionDigits,
- minimumFractionDigits: minFractionDigits,
- });
-
- return (value) => formatter.format(value);
-};
-
-export default createFormatter;
diff --git a/explorer/src/lib/dusk/value/index.js b/explorer/src/lib/dusk/value/index.js
deleted file mode 100644
index 8453a4a110..0000000000
--- a/explorer/src/lib/dusk/value/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as createCompactFormatter } from "./createCompactFormatter";
-export { default as createValueFormatter } from "./createValueFormatter";
diff --git a/explorer/src/lib/market-data/MarketDataInfo.js b/explorer/src/lib/market-data/MarketDataInfo.js
deleted file mode 100644
index 9c9a2f9bae..0000000000
--- a/explorer/src/lib/market-data/MarketDataInfo.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import { compose, updateKey } from "lamb";
-
-/** @returns {MarketData} */
-const jsonToMarketData = compose(
- updateKey("lastUpdate", (v) => new Date(v)),
- JSON.parse
-);
-
-class MarketDataInfo {
- /** @type {MarketData} */
- #data;
-
- /** @type {Date} */
- #lastUpdate;
-
- /** @param {string} json */
- static parse(json) {
- const { data, lastUpdate } = jsonToMarketData(json);
-
- return new MarketDataInfo(data, lastUpdate);
- }
-
- /**
- *
- * @param {MarketData} data
- * @param {Date} lastUpdate
- */
- constructor(data, lastUpdate) {
- this.#data = data;
- this.#lastUpdate = lastUpdate;
- }
-
- get data() {
- return this.#data;
- }
-
- get lastUpdate() {
- return this.#lastUpdate;
- }
-
- toJSON() {
- return JSON.stringify(this.toStorageData());
- }
-
- toStorageData() {
- return {
- data: this.#data,
- lastUpdate: this.#lastUpdate,
- };
- }
-}
-
-export default MarketDataInfo;
diff --git a/explorer/src/lib/market-data/__tests__/MarketDataInfo.spec.js b/explorer/src/lib/market-data/__tests__/MarketDataInfo.spec.js
deleted file mode 100644
index 91f5905948..0000000000
--- a/explorer/src/lib/market-data/__tests__/MarketDataInfo.spec.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import { describe, expect, it } from "vitest";
-
-import { MarketDataInfo } from "..";
-
-describe("MarketDataInfo", () => {
- const marketData = {
- currentPrice: {},
- marketCap: {},
- };
- const now = new Date();
- const marketDataInfo = new MarketDataInfo(marketData, now);
-
- it("should expose the market data and the last update as read-only props", () => {
- expect(() => {
- // @ts-expect-error
- marketDataInfo.data = {};
- }).toThrow();
-
- expect(() => {
- // @ts-expect-error
- marketDataInfo.lastUpdate = new Date(2010, 3, 4);
- }).toThrow();
-
- expect(marketDataInfo.data).toStrictEqual(marketData);
- expect(marketDataInfo.lastUpdate).toBe(now);
- });
-
- it("should expose a method to convert the instance to JSON and a static method to parse it", () => {
- const newMarketDataInfo = MarketDataInfo.parse(marketDataInfo.toJSON());
-
- expect(newMarketDataInfo).toStrictEqual(marketDataInfo);
- });
-
- it("should expose a method to convert the data to the format used for storage", () => {
- expect(marketDataInfo.toStorageData()).toStrictEqual({
- data: marketData,
- lastUpdate: now,
- });
- });
-});
diff --git a/explorer/src/lib/market-data/index.js b/explorer/src/lib/market-data/index.js
deleted file mode 100644
index e25a678842..0000000000
--- a/explorer/src/lib/market-data/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as MarketDataInfo } from "./MarketDataInfo";
diff --git a/explorer/src/lib/market-data/market-data.d.ts b/explorer/src/lib/market-data/market-data.d.ts
deleted file mode 100644
index a210d47d08..0000000000
--- a/explorer/src/lib/market-data/market-data.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-type MarketData = {
- currentPrice: Record;
- marketCap: Record;
-};
-
-type MarketDataStorage = {
- data: MarketData;
- lastUpdate: Date;
-};
diff --git a/explorer/src/lib/mock-data/AccountStatus.d.ts b/explorer/src/lib/mock-data/AccountStatus.d.ts
deleted file mode 100644
index 7fc18203dc..0000000000
--- a/explorer/src/lib/mock-data/AccountStatus.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-type AccountStatus = {
- balance: bigint;
- nonce: bigint;
-};
diff --git a/explorer/src/lib/mock-data/accounts.json b/explorer/src/lib/mock-data/accounts.json
deleted file mode 100644
index 2b0b5bec74..0000000000
--- a/explorer/src/lib/mock-data/accounts.json
+++ /dev/null
@@ -1,82 +0,0 @@
-[
- {
- "address": "0xe5601aae15c846ead69dab4c86a049405",
- "balance": 90993,
- "staked_balance": 13802,
- "active_stake": 9795,
- "inactive_stake": 4007,
- "rewards": 987
- },
- {
- "address": "0xea8bdd8e92be744e843c644bf581455ea",
- "balance": 83097,
- "staked_balance": 13179,
- "active_stake": 4469,
- "inactive_stake": 8710,
- "rewards": 3561
- },
- {
- "address": "0x883c4c22510df65fe29ebf6dd0ed710f6",
- "balance": 93610,
- "staked_balance": 49767,
- "active_stake": 39775,
- "inactive_stake": 9992,
- "rewards": 3616
- },
- {
- "address": "0x39aae05835f723cc8a7152b63f7d73ffc",
- "balance": 12804,
- "staked_balance": 5582,
- "active_stake": 4737,
- "inactive_stake": 845,
- "rewards": 4834
- },
- {
- "address": "0xad36bbf36e1cca4b3997abf14f611c2de",
- "balance": 92044,
- "staked_balance": 9446,
- "active_stake": 2944,
- "inactive_stake": 6502,
- "rewards": 1766
- },
- {
- "address": "0xdd211bb967327a5edd05592c5e44816e8",
- "balance": 84539,
- "staked_balance": 79912,
- "active_stake": 37637,
- "inactive_stake": 42275,
- "rewards": 2528
- },
- {
- "address": "0x1a229291051ec42a3e8abcfb7e9400cb0f",
- "balance": 61410,
- "staked_balance": 1460,
- "active_stake": 1324,
- "inactive_stake": 136,
- "rewards": 1399
- },
- {
- "address": "0xdc7f07a38332a73b6d3eb456c57548509",
- "balance": 35094,
- "staked_balance": 7814,
- "active_stake": 4616,
- "inactive_stake": 3198,
- "rewards": 972
- },
- {
- "address": "0x156a5e0592cfba9e2d6c9fe95d6f6bbbed",
- "balance": 85970,
- "staked_balance": 44119,
- "active_stake": 12865,
- "inactive_stake": 31254,
- "rewards": 4555
- },
- {
- "address": "0x127de00849726e14bb7e889f42fb1cc4d5",
- "balance": 32429,
- "staked_balance": 26072,
- "active_stake": 18899,
- "inactive_stake": 7173,
- "rewards": 849
- }
-]
diff --git a/explorer/src/lib/mock-data/api-chain-info.d.ts b/explorer/src/lib/mock-data/api-chain-info.d.ts
deleted file mode 100644
index d64d5af3c2..0000000000
--- a/explorer/src/lib/mock-data/api-chain-info.d.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-type APISearchBlockResult = {
- data: {
- data: {
- blocks: {
- header: { hash: string };
- }[];
- };
- };
-};
-
-type APISearchNoResult = {
- data: {};
-};
-
-type APISearchTransactionResult = {
- data: {
- data: {
- transactions: {
- __typename: string;
- tx: { id: string };
- txid: string;
- }[];
- };
- };
-};
-
-type APISearchResult =
- | APISearchBlockResult
- | APISearchNoResult
- | APISearchTransactionResult;
diff --git a/explorer/src/lib/mock-data/api-market-data.json b/explorer/src/lib/mock-data/api-market-data.json
deleted file mode 100644
index ebd4da72a4..0000000000
--- a/explorer/src/lib/mock-data/api-market-data.json
+++ /dev/null
@@ -1,3116 +0,0 @@
-{
- "id": "dusk-network",
- "symbol": "dusk",
- "name": "Dusk",
- "web_slug": "dusk",
- "asset_platform_id": "ethereum",
- "platforms": {
- "ethereum": "0x940a2db1b7008b6c776d4faaca729d6d4a4aa551",
- "energi": "0x458a9f6a008055fd79f321ea7eb3f83a6cb326e2"
- },
- "detail_platforms": {
- "ethereum": {
- "decimal_place": 18,
- "contract_address": "0x940a2db1b7008b6c776d4faaca729d6d4a4aa551"
- },
- "energi": {
- "decimal_place": 18,
- "contract_address": "0x458a9f6a008055fd79f321ea7eb3f83a6cb326e2"
- }
- },
- "block_time_in_minutes": 0,
- "hashing_algorithm": "Proof of Stake",
- "categories": [
- "Privacy Coins",
- "Smart Contract Platform",
- "Layer 1 (L1)",
- "Ethereum Ecosystem",
- "Zero Knowledge (ZK)",
- "Real World Assets (RWA)"
- ],
- "preview_listing": false,
- "public_notice": "DUSK Network (DUSK) has rebranded to Dusk (DUSK). For more information, please view this article on their website.",
- "additional_notices": [],
- "localization": {
- "en": "Dusk",
- "de": "Dusk",
- "es": "Dusk",
- "fr": "Dusk",
- "it": "Dusk",
- "pl": "Dusk",
- "ro": "Dusk",
- "hu": "Dusk",
- "nl": "Dusk",
- "pt": "Dusk",
- "sv": "Dusk",
- "vi": "Dusk",
- "tr": "Dusk",
- "ru": "Dusk",
- "ja": "Dusk",
- "zh": "Dusk",
- "zh-tw": "Dusk",
- "ko": "Dusk",
- "ar": "Dusk",
- "th": "Dusk",
- "id": "Dusk",
- "cs": "Dusk",
- "da": "Dusk",
- "el": "Dusk",
- "hi": "Dusk",
- "no": "Dusk",
- "sk": "Dusk",
- "uk": "Dusk",
- "he": "Dusk",
- "fi": "Dusk",
- "bg": "Dusk",
- "hr": "Dusk",
- "lt": "Dusk",
- "sl": "Dusk"
- },
- "description": {
- "en": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "de": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "es": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "fr": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "it": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "pl": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "ro": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "hu": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "nl": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "pt": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "sv": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "vi": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "tr": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "ru": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "ja": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "zh": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "zh-tw": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "ko": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "ar": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "th": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "id": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "cs": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "da": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "el": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "hi": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "no": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "sk": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "uk": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "he": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "fi": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "bg": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "hr": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "lt": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC).",
- "sl": "Dusk Network is a high throughput permissionless blockchain aimed at providing privacy, programmability and auditability.\r\nDusk Network is currently in the Testnet phase and is a blockchain protocol for easy deployment of programmable zero-knowledge dApps, thus becoming the backbone of an open, permissionless and global privacy-oriented dApp ecosystem.\r\nDusk Network aims to remove technical barriers that have undermined mainstream issuance and trading of security tokens. Compliance, auditability and privacy are built into the open, permissionless Confidential Security Token-standard (XSC)."
- },
- "links": {
- "homepage": ["https://dusk.network/", "", ""],
- "whitepaper": "https://dusk-cms.ams3.digitaloceanspaces.com/The_Dusk_Network_Whitepaper_v3_0_0_42ac204d48.pdf",
- "blockchain_site": [
- "https://etherscan.io/token/0x940a2db1b7008b6c776d4faaca729d6d4a4aa551",
- "https://ethplorer.io/address/0x940a2db1b7008b6c776d4faaca729d6d4a4aa551",
- "https://explorer.energi.network/token/0x458a9f6a008055fd79f321ea7eb3f83a6cb326e2",
- "",
- "",
- "",
- "",
- "",
- "",
- ""
- ],
- "official_forum_url": ["", "", ""],
- "chat_url": ["https://discord.com/invite/dusknetwork", "", ""],
- "announcement_url": ["https://dusk.network/pages/all-posts", ""],
- "twitter_screen_name": "DuskFoundation",
- "facebook_username": "",
- "bitcointalk_thread_identifier": null,
- "telegram_channel_identifier": "DuskNetwork",
- "subreddit_url": "https://www.reddit.com/r/DuskNetwork/",
- "repos_url": {
- "github": [
- "https://github.com/dusk-network/dusk-blockchain",
- "https://github.com/dusk-network/dusk-zerocaf"
- ],
- "bitbucket": []
- }
- },
- "image": {
- "thumb": "https://assets.coingecko.com/coins/images/5217/thumb/image_widget_biddfvxd454b1.png?1696505726",
- "small": "https://assets.coingecko.com/coins/images/5217/small/image_widget_biddfvxd454b1.png?1696505726",
- "large": "https://assets.coingecko.com/coins/images/5217/large/image_widget_biddfvxd454b1.png?1696505726"
- },
- "country_origin": "NL",
- "genesis_date": null,
- "contract_address": "0x940a2db1b7008b6c776d4faaca729d6d4a4aa551",
- "sentiment_votes_up_percentage": 100,
- "sentiment_votes_down_percentage": 0,
- "ico_data": {
- "ico_start_date": null,
- "ico_end_date": null,
- "short_desc": "Dusk Network is a decentralized infrastructure focused on providing the sweet-spot between privacy and transparency in payment, communication and asset ownership transfers.",
- "description": null,
- "links": {},
- "softcap_currency": "USD",
- "hardcap_currency": "USD",
- "total_raised_currency": "USD",
- "softcap_amount": "2000000.0",
- "hardcap_amount": "14400000.0",
- "total_raised": "8075557.0",
- "quote_pre_sale_currency": "USD",
- "base_pre_sale_amount": "1.0",
- "quote_pre_sale_amount": "0.0404",
- "quote_public_sale_currency": "USD",
- "base_public_sale_amount": 1,
- "quote_public_sale_amount": 0.0404,
- "accepting_currencies": "ETH, BTC, USD, EUR, USDT",
- "country_origin": "NL",
- "pre_sale_start_date": "2018-08-01T00:00:00.000Z",
- "pre_sale_end_date": "2018-11-30T00:00:00.000Z",
- "whitelist_url": "",
- "whitelist_start_date": null,
- "whitelist_end_date": null,
- "bounty_detail_url": "",
- "amount_for_sale": "50000000.0",
- "kyc_required": true,
- "whitelist_available": false,
- "pre_sale_available": true,
- "pre_sale_ended": false
- },
- "watchlist_portfolio_users": 27468,
- "market_cap_rank": 325,
- "market_data": {
- "current_price": {
- "aed": 1.35,
- "ars": 319.83,
- "aud": 0.573616,
- "bch": 0.00075043,
- "bdt": 40.41,
- "bhd": 0.138796,
- "bmd": 0.36835,
- "bnb": 0.00066987,
- "brl": 1.91,
- "btc": 0.00000582,
- "cad": 0.508229,
- "chf": 0.336472,
- "clp": 358.33,
- "cny": 2.67,
- "czk": 8.78,
- "dkk": 2.59,
- "dot": 0.05484136,
- "eos": 0.49008492,
- "eth": 0.00011927,
- "eur": 0.347003,
- "gbp": 0.29612,
- "gel": 0.983494,
- "hkd": 2.88,
- "huf": 136.94,
- "idr": 5954.57,
- "ils": 1.38,
- "inr": 30.76,
- "jpy": 56.89,
- "krw": 513.15,
- "kwd": 0.113514,
- "lkr": 110.12,
- "ltc": 0.00468854,
- "mmk": 773.15,
- "mxn": 6.18,
- "myr": 1.77,
- "ngn": 442.45,
- "nok": 4.04,
- "nzd": 0.625366,
- "php": 21,
- "pkr": 102.41,
- "pln": 1.5,
- "rub": 34.52,
- "sar": 1.38,
- "sek": 4.02,
- "sgd": 0.50277,
- "thb": 13.51,
- "try": 11.95,
- "twd": 11.97,
- "uah": 14.63,
- "usd": 0.36835,
- "vef": 0.03688286,
- "vnd": 9306.36,
- "xag": 0.01294522,
- "xau": 0.00015517,
- "xdr": 0.280918,
- "xlm": 3.402263,
- "xrp": 0.74336895,
- "yfi": 0.00005319,
- "zar": 7.02,
- "bits": 5.82,
- "link": 0.02705436,
- "sats": 582.4
- },
- "total_value_locked": null,
- "mcap_to_tvl_ratio": null,
- "fdv_to_tvl_ratio": null,
- "roi": {
- "times": 8.11756804433127,
- "currency": "usd",
- "percentage": 811.756804433127
- },
- "ath": {
- "aed": 4,
- "ars": 583.71,
- "aud": 1.5,
- "bch": 0.00276833,
- "bdt": 93.55,
- "bhd": 0.410955,
- "bmd": 1.09,
- "bnb": 0.02127152,
- "brl": 6.22,
- "btc": 0.00006389,
- "cad": 1.39,
- "chf": 0.996555,
- "clp": 925.75,
- "cny": 6.94,
- "czk": 23.95,
- "dkk": 7.14,
- "dot": 0.07246626,
- "eos": 0.64439393,
- "eth": 0.00300852,
- "eur": 0.960147,
- "gbp": 0.807931,
- "gel": 1.84,
- "hkd": 8.5,
- "huf": 355.45,
- "idr": 15493.52,
- "ils": 3.4,
- "inr": 81.19,
- "jpy": 125.33,
- "krw": 1292.2,
- "kwd": 0.329696,
- "lkr": 221.07,
- "ltc": 0.00732209,
- "mmk": 1938.7,
- "mxn": 22.42,
- "myr": 4.56,
- "ngn": 965.37,
- "nok": 9.58,
- "nzd": 1.6,
- "php": 55.66,
- "pkr": 194.17,
- "pln": 4.41,
- "rub": 80.96,
- "sar": 4.09,
- "sek": 9.84,
- "sgd": 1.39,
- "thb": 36.5,
- "try": 21.99,
- "twd": 30.14,
- "uah": 29.7,
- "usd": 1.09,
- "vef": 168549,
- "vnd": 24877,
- "xag": 0.04774343,
- "xau": 0.00060405,
- "xdr": 0.77837,
- "xlm": 7.40162,
- "xrp": 2.060888,
- "yfi": 0.00007734,
- "zar": 17.37,
- "bits": 36.94,
- "link": 0.12971904,
- "sats": 3694.36
- },
- "ath_change_percentage": {
- "aed": -66.37749,
- "ars": -45.48488,
- "aud": -61.98549,
- "bch": -72.9908,
- "bdt": -57.02262,
- "bhd": -66.39744,
- "bmd": -66.37291,
- "bnb": -96.86767,
- "brl": -69.43721,
- "btc": -90.92454,
- "cad": -63.70094,
- "chf": -66.40244,
- "clp": -61.48709,
- "cny": -61.77634,
- "czk": -63.51876,
- "dkk": -63.90543,
- "dot": -24.54935,
- "eos": -24.35588,
- "eth": -96.05072,
- "eur": -64.02691,
- "gbp": -63.50168,
- "gel": -46.86977,
- "hkd": -66.23995,
- "huf": -61.64794,
- "idr": -61.73231,
- "ils": -59.52648,
- "inr": -62.30899,
- "jpy": -54.81442,
- "krw": -60.46069,
- "kwd": -65.76151,
- "lkr": -50.43743,
- "ltc": -36.08704,
- "mmk": -60.31999,
- "mxn": -72.54904,
- "myr": -61.44785,
- "ngn": -54.39719,
- "nok": -58.05547,
- "nzd": -60.98564,
- "php": -62.45807,
- "pkr": -47.52244,
- "pln": -66.21418,
- "rub": -57.57527,
- "sar": -66.40207,
- "sek": -59.32178,
- "sgd": -63.93221,
- "thb": -63.13392,
- "try": -45.93071,
- "twd": -60.45546,
- "uah": -50.97541,
- "usd": -66.37291,
- "vef": -99.99998,
- "vnd": -62.75421,
- "xag": -72.94466,
- "xau": -74.41291,
- "xdr": -64.09022,
- "xlm": -54.10656,
- "xrp": -64.01929,
- "yfi": -31.38844,
- "zar": -59.78189,
- "bits": -84.30498,
- "link": -79.16712,
- "sats": -84.30498
- },
- "ath_date": {
- "aed": "2021-12-29T21:34:22.823Z",
- "ars": "2024-03-28T07:00:40.794Z",
- "aud": "2021-12-29T21:34:22.823Z",
- "bch": "2022-01-17T15:30:02.036Z",
- "bdt": "2021-12-29T21:34:22.823Z",
- "bhd": "2021-12-29T21:34:22.823Z",
- "bmd": "2021-12-29T21:34:22.823Z",
- "bnb": "2019-07-22T07:49:23.013Z",
- "brl": "2021-12-29T21:34:22.823Z",
- "btc": "2019-07-22T07:49:23.013Z",
- "cad": "2021-12-29T21:34:22.823Z",
- "chf": "2021-12-29T21:34:22.823Z",
- "clp": "2021-12-29T21:34:22.823Z",
- "cny": "2021-12-29T21:34:22.823Z",
- "czk": "2021-12-29T21:34:22.823Z",
- "dkk": "2021-12-29T21:34:22.823Z",
- "dot": "2024-03-27T19:00:26.162Z",
- "eos": "2024-03-27T19:00:26.162Z",
- "eth": "2019-07-22T07:49:23.013Z",
- "eur": "2021-12-29T21:34:22.823Z",
- "gbp": "2021-12-29T21:34:22.823Z",
- "gel": "2024-03-27T18:49:53.005Z",
- "hkd": "2021-12-29T21:34:22.823Z",
- "huf": "2021-12-29T21:34:22.823Z",
- "idr": "2021-12-29T21:34:22.823Z",
- "ils": "2021-12-29T21:34:22.823Z",
- "inr": "2021-12-29T21:34:22.823Z",
- "jpy": "2021-12-29T21:34:22.823Z",
- "krw": "2021-12-29T21:34:22.823Z",
- "kwd": "2021-12-29T21:34:22.823Z",
- "lkr": "2021-12-29T21:34:22.823Z",
- "ltc": "2021-12-29T21:34:22.823Z",
- "mmk": "2021-12-29T21:34:22.823Z",
- "mxn": "2021-12-29T21:34:22.823Z",
- "myr": "2021-12-29T21:34:22.823Z",
- "ngn": "2024-03-28T07:00:40.794Z",
- "nok": "2021-12-29T21:34:22.823Z",
- "nzd": "2021-12-29T21:34:22.823Z",
- "php": "2021-12-29T21:34:22.823Z",
- "pkr": "2021-12-29T21:34:22.823Z",
- "pln": "2021-12-29T21:34:22.823Z",
- "rub": "2022-01-17T01:19:41.743Z",
- "sar": "2021-12-29T21:34:22.823Z",
- "sek": "2021-12-29T21:34:22.823Z",
- "sgd": "2022-01-17T00:00:00.000Z",
- "thb": "2021-12-29T21:34:22.823Z",
- "try": "2024-03-28T07:00:40.794Z",
- "twd": "2021-12-29T21:34:22.823Z",
- "uah": "2021-12-29T21:34:22.823Z",
- "usd": "2021-12-29T21:34:22.823Z",
- "vef": "2019-07-22T07:49:23.013Z",
- "vnd": "2021-12-29T21:34:22.823Z",
- "xag": "2021-12-29T21:34:22.823Z",
- "xau": "2021-12-29T21:34:22.823Z",
- "xdr": "2021-12-29T21:34:22.823Z",
- "xlm": "2019-07-22T07:49:23.013Z",
- "xrp": "2019-07-22T07:49:23.013Z",
- "yfi": "2024-03-27T19:00:26.162Z",
- "zar": "2021-12-29T21:34:22.823Z",
- "bits": "2019-07-08T00:00:00.000Z",
- "link": "2019-07-09T00:00:00.000Z",
- "sats": "2019-07-08T00:00:00.000Z"
- },
- "atl": {
- "aed": 0.04089277,
- "ars": 0.698,
- "aud": 0.01765686,
- "bch": 0.00007184,
- "bdt": 0.950012,
- "bhd": 0.004199,
- "bmd": 0.01113274,
- "bnb": 0.00028474,
- "brl": 0.053344,
- "btc": 0.00000135,
- "cad": 0.01550705,
- "chf": 0.01053028,
- "clp": 9.49,
- "cny": 0.078081,
- "czk": 0.261334,
- "dkk": 0.074425,
- "dot": 0.00311054,
- "eos": 0.00680434,
- "eth": 0.00003619,
- "eur": 0.00995928,
- "gbp": 0.00887591,
- "gel": 0.391164,
- "hkd": 0.086598,
- "huf": 3.37,
- "idr": 164.78,
- "ils": 0.04106477,
- "inr": 0.840522,
- "jpy": 1.17,
- "krw": 13.62,
- "kwd": 0.00342523,
- "lkr": 2.05,
- "ltc": 0.00028811,
- "mmk": 15.55,
- "mxn": 0.24519,
- "myr": 0.04776501,
- "ngn": 5.22,
- "nok": 0.113864,
- "nzd": 0.01812904,
- "php": 0.569092,
- "pkr": 1.78,
- "pln": 0.04368643,
- "rub": 0.834003,
- "sar": 0.04179063,
- "sek": 0.108781,
- "sgd": 0.01571375,
- "thb": 0.35647,
- "try": 0.070342,
- "twd": 0.336687,
- "uah": 0.28951,
- "usd": 0.01113274,
- "vef": 0.00450469,
- "vnd": 259.62,
- "xag": 0.00072132,
- "xau": 0.00000714,
- "xdr": 0.00801081,
- "xlm": 0.13051577,
- "xrp": 0.07335727,
- "yfi": 0.00000135,
- "zar": 0.184668,
- "bits": 1.35,
- "link": 0.00246723,
- "sats": 134.89
- },
- "atl_change_percentage": {
- "aed": 3191.46841,
- "ars": 45489.13233,
- "aud": 3135.06269,
- "bch": 940.83149,
- "bdt": 4132.00726,
- "bhd": 3188.67543,
- "bmd": 3192.14061,
- "bnb": 134.00296,
- "brl": 3462.70611,
- "btc": 329.86453,
- "cad": 3163.11712,
- "chf": 3079.57457,
- "clp": 3655.78836,
- "cny": 3297.8481,
- "czk": 3243.51179,
- "dkk": 3362.36516,
- "dot": 1657.7724,
- "eos": 7063.75082,
- "eth": 228.33663,
- "eur": 3368.06854,
- "gbp": 3222.26736,
- "gel": 150.16848,
- "hkd": 3212.8449,
- "huf": 3947.45188,
- "idr": 3498.18542,
- "ils": 3251.13255,
- "inr": 3540.71436,
- "jpy": 4740.91381,
- "krw": 3650.03608,
- "kwd": 3195.62886,
- "lkr": 5251.55464,
- "ltc": 1524.29995,
- "mmk": 4848.60271,
- "mxn": 2410.3573,
- "myr": 3578.8645,
- "ngn": 8326.7838,
- "nok": 3428.53654,
- "nzd": 3334.28066,
- "php": 3571.58042,
- "pkr": 5617.61893,
- "pln": 3311.55695,
- "rub": 4018.58534,
- "sar": 3189.71569,
- "sek": 3579.46506,
- "sgd": 3084.92778,
- "thb": 3674.31788,
- "try": 16802.64411,
- "twd": 3439.78854,
- "uah": 4928.90146,
- "usd": 3192.14061,
- "vef": 714.66671,
- "vnd": 3469.00382,
- "xag": 1690.75754,
- "xau": 2065.94685,
- "xdr": 3389.17346,
- "xlm": 2502.64148,
- "xrp": 910.83677,
- "yfi": 3833.91244,
- "zar": 3683.38615,
- "bits": 329.86453,
- "link": 995.3262,
- "sats": 329.86453
- },
- "atl_date": {
- "aed": "2020-03-13T02:24:16.885Z",
- "ars": "2020-03-13T02:24:16.885Z",
- "aud": "2020-03-13T02:24:16.885Z",
- "bch": "2020-04-08T04:54:28.669Z",
- "bdt": "2020-03-13T02:24:16.885Z",
- "bhd": "2020-03-13T02:24:16.885Z",
- "bmd": "2020-03-13T02:24:16.885Z",
- "bnb": "2021-06-05T10:13:30.628Z",
- "brl": "2020-03-13T02:24:16.885Z",
- "btc": "2021-01-07T19:10:22.220Z",
- "cad": "2020-03-13T02:24:16.885Z",
- "chf": "2020-03-13T02:24:16.885Z",
- "clp": "2020-03-13T02:24:16.885Z",
- "cny": "2020-03-13T02:24:16.885Z",
- "czk": "2020-03-13T02:24:16.885Z",
- "dkk": "2020-03-13T02:24:16.885Z",
- "dot": "2021-01-17T10:52:28.329Z",
- "eos": "2020-04-23T14:24:44.649Z",
- "eth": "2021-10-28T21:56:41.270Z",
- "eur": "2020-03-13T02:24:16.885Z",
- "gbp": "2020-03-13T02:24:16.885Z",
- "gel": "2023-12-18T13:00:09.533Z",
- "hkd": "2020-03-13T02:24:16.885Z",
- "huf": "2020-03-13T02:24:16.885Z",
- "idr": "2020-03-13T02:24:16.885Z",
- "ils": "2020-03-13T02:24:16.885Z",
- "inr": "2020-03-13T02:24:16.885Z",
- "jpy": "2020-03-13T02:24:16.885Z",
- "krw": "2020-03-13T02:24:16.885Z",
- "kwd": "2020-03-13T02:24:16.885Z",
- "lkr": "2020-03-13T02:24:16.885Z",
- "ltc": "2021-01-04T06:48:55.900Z",
- "mmk": "2020-03-13T02:24:16.885Z",
- "mxn": "2020-03-13T02:24:16.885Z",
- "myr": "2020-03-13T02:24:16.885Z",
- "ngn": "2020-03-17T00:00:00.000Z",
- "nok": "2020-03-13T02:24:16.885Z",
- "nzd": "2020-03-13T02:24:16.885Z",
- "php": "2020-03-13T02:24:16.885Z",
- "pkr": "2020-03-13T02:24:16.885Z",
- "pln": "2020-03-13T02:24:16.885Z",
- "rub": "2020-03-13T02:24:16.885Z",
- "sar": "2020-03-13T02:24:16.885Z",
- "sek": "2020-03-13T02:24:16.885Z",
- "sgd": "2020-03-13T02:24:16.885Z",
- "thb": "2020-03-13T02:24:16.885Z",
- "try": "2020-03-13T02:24:16.885Z",
- "twd": "2020-03-13T02:24:16.885Z",
- "uah": "2020-03-13T02:24:16.885Z",
- "usd": "2020-03-13T02:24:16.885Z",
- "vef": "2021-01-05T04:19:21.758Z",
- "vnd": "2020-03-13T02:24:16.885Z",
- "xag": "2020-03-13T02:24:16.885Z",
- "xau": "2020-03-13T02:24:16.885Z",
- "xdr": "2020-03-13T02:24:16.885Z",
- "xlm": "2021-01-07T01:09:39.168Z",
- "xrp": "2020-11-24T19:54:28.155Z",
- "yfi": "2020-09-27T02:19:29.878Z",
- "zar": "2020-03-13T02:24:16.885Z",
- "bits": "2021-01-07T19:10:22.220Z",
- "link": "2021-01-23T15:40:53.841Z",
- "sats": "2021-01-07T19:10:22.220Z"
- },
- "market_cap": {
- "aed": 616985128,
- "ars": 145872642453,
- "aud": 261625080,
- "bch": 342202,
- "bdt": 18429511012,
- "bhd": 63304460,
- "bmd": 168003684,
- "bnb": 305117,
- "brl": 871132701,
- "btc": 2656,
- "cad": 231802243,
- "chf": 153464309,
- "clp": 163432303472,
- "cny": 1216195467,
- "czk": 4002973371,
- "dkk": 1180721489,
- "dot": 25014685,
- "eos": 223498130,
- "eth": 54373,
- "eur": 158267534,
- "gbp": 135059673,
- "gel": 448569835,
- "hkd": 1315131996,
- "huf": 62457953146,
- "idr": 2715870731268,
- "ils": 631332811,
- "inr": 14029638347,
- "jpy": 25949484977,
- "krw": 234045757046,
- "kwd": 51773359,
- "lkr": 50226241670,
- "ltc": 2138497,
- "mmk": 352630426878,
- "mxn": 2820226933,
- "myr": 805409660,
- "ngn": 201800424800,
- "nok": 1840767809,
- "nzd": 285228254,
- "php": 9576292797,
- "pkr": 46707756314,
- "pln": 683755168,
- "rub": 15745424856,
- "sar": 630218610,
- "sek": 1834888856,
- "sgd": 229312428,
- "thb": 6162207115,
- "try": 5451686104,
- "twd": 5457600169,
- "uah": 6673821004,
- "usd": 168003684,
- "vef": 16822209,
- "vnd": 4244613068821,
- "xag": 5904293,
- "xau": 70773,
- "xdr": 128125993,
- "xlm": 1552480451,
- "xrp": 339128094,
- "yfi": 24230,
- "zar": 3202976790,
- "bits": 2655974567,
- "link": 12342514,
- "sats": 265597456683
- },
- "market_cap_rank": 325,
- "fully_diluted_valuation": {
- "aed": 674997378,
- "ars": 159588370367,
- "aud": 286224473,
- "bch": 374378,
- "bdt": 20162352444,
- "bhd": 69256685,
- "bmd": 183800291,
- "bnb": 333806,
- "brl": 953041268,
- "btc": 2906,
- "cad": 253597532,
- "chf": 167893846,
- "clp": 178799084858,
- "cny": 1330548685,
- "czk": 4379354388,
- "dkk": 1291739254,
- "dot": 27366700,
- "eos": 244512623,
- "eth": 59486,
- "eur": 173148696,
- "gbp": 147758708,
- "gel": 490746776,
- "hkd": 1438787757,
- "huf": 68330584758,
- "idr": 2971231458084,
- "ils": 690694106,
- "inr": 15348780161,
- "jpy": 28389394678,
- "krw": 256051993919,
- "kwd": 56641368,
- "lkr": 54948782190,
- "ltc": 2339569,
- "mmk": 385786630179,
- "mxn": 3085399790,
- "myr": 881138594,
- "ngn": 220774782658,
- "nok": 2013846668,
- "nzd": 312046944,
- "php": 10476707187,
- "pkr": 51099469978,
- "pln": 748045495,
- "rub": 17225894117,
- "sar": 689475143,
- "sek": 2007414944,
- "sgd": 250873612,
- "thb": 6741610865,
- "try": 5964282859,
- "twd": 5970752997,
- "uah": 7301329436,
- "usd": 183800291,
- "vef": 18403923,
- "vnd": 4643714346297,
- "xag": 6459446,
- "xau": 77428,
- "xdr": 140173086,
- "xlm": 1698452987,
- "xrp": 371014736,
- "yfi": 26508,
- "zar": 3504137840,
- "bits": 2905703535,
- "link": 13503023,
- "sats": 290570353514
- },
- "market_cap_fdv_ratio": 0.91,
- "total_volume": {
- "aed": 86532688,
- "ars": 20458761930,
- "aud": 36693140,
- "bch": 48003,
- "bdt": 2584754564,
- "bhd": 8878504,
- "bmd": 23562659,
- "bnb": 42851,
- "brl": 122177101,
- "btc": 372.548,
- "cad": 32510461,
- "chf": 21523500,
- "clp": 22921519294,
- "cny": 170572447,
- "czk": 561420413,
- "dkk": 165597191,
- "dot": 3508102,
- "eos": 31349835,
- "eth": 7629,
- "eur": 22197156,
- "gbp": 18942234,
- "gel": 62912300,
- "hkd": 184448379,
- "huf": 8759780947,
- "idr": 380903175471,
- "ils": 88544963,
- "inr": 1967668687,
- "jpy": 3639437296,
- "krw": 32825116099,
- "kwd": 7261258,
- "lkr": 7044273030,
- "ltc": 299917,
- "mmk": 49456716706,
- "mxn": 395539221,
- "myr": 112959388,
- "ngn": 28302680880,
- "nok": 258169248,
- "nzd": 40003505,
- "php": 1343083194,
- "pkr": 6550802472,
- "pln": 95897243,
- "rub": 2208309202,
- "sar": 88388695,
- "sek": 257344720,
- "sgd": 32161263,
- "thb": 864254779,
- "try": 764603604,
- "twd": 765433056,
- "uah": 936009061,
- "usd": 23562659,
- "vef": 2359329,
- "vnd": 595310586010,
- "xag": 828082,
- "xau": 9926.01,
- "xdr": 17969779,
- "xlm": 217636562,
- "xrp": 47551951,
- "yfi": 3403,
- "zar": 449220214,
- "bits": 372547913,
- "link": 1730618,
- "sats": 37254791319
- },
- "high_24h": {
- "aed": 1.48,
- "ars": 350.31,
- "aud": 0.623365,
- "bch": 0.00074901,
- "bdt": 44.34,
- "bhd": 0.152282,
- "bmd": 0.404159,
- "bnb": 0.00069475,
- "brl": 2.07,
- "btc": 0.00000607,
- "cad": 0.55527,
- "chf": 0.369128,
- "clp": 392.39,
- "cny": 2.93,
- "czk": 9.6,
- "dkk": 2.83,
- "dot": 0.05642413,
- "eos": 0.49990628,
- "eth": 0.00012381,
- "eur": 0.37922,
- "gbp": 0.323527,
- "gel": 1.079,
- "hkd": 3.16,
- "huf": 149.17,
- "idr": 6489.93,
- "ils": 1.5,
- "inr": 33.72,
- "jpy": 62.21,
- "krw": 559.21,
- "kwd": 0.124465,
- "lkr": 120.61,
- "ltc": 0.00492229,
- "mmk": 848.46,
- "mxn": 6.71,
- "myr": 1.93,
- "ngn": 485.46,
- "nok": 4.41,
- "nzd": 0.680179,
- "php": 22.98,
- "pkr": 112.31,
- "pln": 1.63,
- "rub": 37.84,
- "sar": 1.52,
- "sek": 4.38,
- "sgd": 0.549901,
- "thb": 14.83,
- "try": 13.09,
- "twd": 13.1,
- "uah": 15.93,
- "usd": 0.404159,
- "vef": 0.0404684,
- "vnd": 10182.88,
- "xag": 0.0142181,
- "xau": 0.00017167,
- "xdr": 0.30473,
- "xlm": 3.558684,
- "xrp": 0.7791882,
- "yfi": 0.00005554,
- "zar": 7.67,
- "bits": 6.07,
- "link": 0.02779479,
- "sats": 607.02
- },
- "low_24h": {
- "aed": 1.27,
- "ars": 301.05,
- "aud": 0.538344,
- "bch": 0.00069933,
- "bdt": 38.04,
- "bhd": 0.130671,
- "bmd": 0.346728,
- "bnb": 0.00063448,
- "brl": 1.8,
- "btc": 0.00000552,
- "cad": 0.478233,
- "chf": 0.316533,
- "clp": 337.23,
- "cny": 2.51,
- "czk": 8.26,
- "dkk": 2.43,
- "dot": 0.05294543,
- "eos": 0.47248022,
- "eth": 0.00011406,
- "eur": 0.326357,
- "gbp": 0.278717,
- "gel": 0.925763,
- "hkd": 2.71,
- "huf": 128.66,
- "idr": 5583.46,
- "ils": 1.3,
- "inr": 28.96,
- "jpy": 53.47,
- "krw": 481.63,
- "kwd": 0.106782,
- "lkr": 103.66,
- "ltc": 0.00452714,
- "mmk": 727.76,
- "mxn": 5.8,
- "myr": 1.65,
- "ngn": 416.48,
- "nok": 3.8,
- "nzd": 0.587157,
- "php": 19.73,
- "pkr": 96.37,
- "pln": 1.4,
- "rub": 32.42,
- "sar": 1.3,
- "sek": 3.78,
- "sgd": 0.472573,
- "thb": 12.73,
- "try": 11.24,
- "twd": 11.25,
- "uah": 13.72,
- "usd": 0.346728,
- "vef": 0.03471786,
- "vnd": 8735.9,
- "xag": 0.01204272,
- "xau": 0.00014583,
- "xdr": 0.263322,
- "xlm": 3.299157,
- "xrp": 0.71447774,
- "yfi": 0.00005094,
- "zar": 6.58,
- "bits": 5.52,
- "link": 0.02602978,
- "sats": 552.15
- },
- "price_change_24h": -0.032240143856508,
- "price_change_percentage_24h": -8.04817,
- "price_change_percentage_7d": -26.5152,
- "price_change_percentage_14d": -27.4581,
- "price_change_percentage_30d": 11.2603,
- "price_change_percentage_60d": 11.4714,
- "price_change_percentage_200d": 205.29548,
- "price_change_percentage_1y": 87.49907,
- "market_cap_change_24h": -14744904.379095,
- "market_cap_change_percentage_24h": -8.06841,
- "price_change_24h_in_currency": {
- "aed": -0.118420345800472,
- "ars": -27.387331698964545,
- "aud": -0.044325161724802165,
- "bch": 0.00003049,
- "bdt": -3.5453647905353805,
- "bhd": -0.01216463935131426,
- "bmd": -0.032240143856507586,
- "bnb": -0.000024876704034712,
- "brl": -0.13901012445758387,
- "btc": -2.01898511034e-7,
- "cad": -0.04284396344376529,
- "chf": -0.029288179010167503,
- "clp": -28.09007011760849,
- "cny": -0.23318933044522527,
- "czk": -0.7422969267782182,
- "dkk": -0.21646722422194742,
- "dot": -0.001582770970613622,
- "eos": -0.006471953950213273,
- "eth": -0.00000433950637988,
- "eur": -0.029002947375875558,
- "gbp": -0.025137792696274534,
- "gel": -0.0860811840968726,
- "hkd": -0.2547031121854686,
- "huf": -10.371740945450085,
- "idr": -482.23092939692833,
- "ils": -0.10907747392154254,
- "inr": -2.6669969149981263,
- "jpy": -4.748936225731889,
- "krw": -41.29572036688637,
- "kwd": -0.009846449695760276,
- "lkr": -9.42671516951799,
- "ltc": -0.000196122085332801,
- "mmk": -67.82401505962775,
- "mxn": -0.4650846335369385,
- "myr": -0.14835010630896317,
- "ngn": -38.7257861397224,
- "nok": -0.33764656781680635,
- "nzd": -0.04913465635059222,
- "php": -1.757992313793732,
- "pkr": -8.911613425060082,
- "pln": -0.1087833512888039,
- "rub": -2.933818018236664,
- "sar": -0.12100113045087202,
- "sek": -0.3338348367706523,
- "sgd": -0.04227282706677882,
- "thb": -1.201163666530265,
- "try": -0.9880931066842003,
- "twd": -0.9988477899150539,
- "uah": -1.1617320529889614,
- "usd": -0.032240143856507586,
- "vef": -0.003228205604352136,
- "vnd": -758.7188178141987,
- "xag": -0.001101940335587947,
- "xau": -0.000014887406051676,
- "xdr": -0.021122055667415873,
- "xlm": -0.13165071930771033,
- "xrp": -0.035329856629493395,
- "yfi": -0.000001593874191219,
- "zar": -0.5210879791910061,
- "bits": -0.2018985110340985,
- "link": -0.000740436727323223,
- "sats": -20.189851103409865
- },
- "price_change_percentage_1h_in_currency": {
- "aed": 3.27361,
- "ars": 3.2741,
- "aud": 3.24854,
- "bch": 1.7741,
- "bdt": 3.27361,
- "bhd": 3.26977,
- "bmd": 3.27361,
- "bnb": 2.70662,
- "brl": 3.26964,
- "btc": 2.70759,
- "cad": 3.27331,
- "chf": 3.33549,
- "clp": 3.27361,
- "cny": 3.28645,
- "czk": 3.2697,
- "dkk": 3.23179,
- "dot": 1.96426,
- "eos": 2.18949,
- "eth": 2.39847,
- "eur": 3.23799,
- "gbp": 3.11929,
- "gel": 3.27361,
- "hkd": 3.29063,
- "huf": 3.39915,
- "idr": 3.211,
- "ils": 3.666,
- "inr": 3.30405,
- "jpy": 3.36993,
- "krw": 3.22226,
- "kwd": 3.33061,
- "lkr": 3.27361,
- "ltc": 1.90222,
- "mmk": 3.27361,
- "mxn": 3.38537,
- "myr": 3.27361,
- "ngn": 3.27361,
- "nok": 3.22624,
- "nzd": 3.3061,
- "php": 3.25548,
- "pkr": 3.27361,
- "pln": 3.33975,
- "rub": 3.46718,
- "sar": 3.27523,
- "sek": 3.30845,
- "sgd": 3.22997,
- "thb": 3.22342,
- "try": 3.32242,
- "twd": 3.09463,
- "uah": 3.27361,
- "usd": 3.27361,
- "vef": 3.27361,
- "vnd": 3.27243,
- "xag": 4.22451,
- "xau": 3.82073,
- "xdr": 3.27361,
- "xlm": 1.87427,
- "xrp": 2.17821,
- "yfi": 1.97253,
- "zar": 3.49302,
- "bits": 2.70759,
- "link": 1.61107,
- "sats": 2.70759
- },
- "price_change_percentage_24h_in_currency": {
- "aed": -8.04942,
- "ars": -7.88773,
- "aud": -7.17304,
- "bch": 4.23542,
- "bdt": -8.0664,
- "bhd": -8.05817,
- "bmd": -8.04817,
- "bnb": -3.58066,
- "brl": -6.78437,
- "btc": -3.35054,
- "cad": -7.77465,
- "chf": -8.00748,
- "clp": -7.26937,
- "cny": -8.04182,
- "czk": -7.79817,
- "dkk": -7.71661,
- "dot": -2.80513,
- "eos": -1.30337,
- "eth": -3.51069,
- "eur": -7.71342,
- "gbp": -7.82481,
- "gel": -8.04817,
- "hkd": -8.11636,
- "huf": -7.04069,
- "idr": -7.49178,
- "ils": -7.30455,
- "inr": -7.97854,
- "jpy": -7.70388,
- "krw": -7.44814,
- "kwd": -7.98188,
- "lkr": -7.88528,
- "ltc": -4.01506,
- "mmk": -8.06498,
- "mxn": -6.99537,
- "myr": -7.7499,
- "ngn": -8.04817,
- "nok": -7.7202,
- "nzd": -7.2846,
- "php": -7.72604,
- "pkr": -8.00549,
- "pln": -6.76546,
- "rub": -7.83274,
- "sar": -8.05192,
- "sek": -7.6623,
- "sgd": -7.75588,
- "thb": -8.16459,
- "try": -7.63539,
- "twd": -7.70437,
- "uah": -7.35546,
- "usd": -8.04817,
- "vef": -8.04817,
- "vnd": -7.53813,
- "xag": -7.84458,
- "xau": -8.75429,
- "xdr": -6.99314,
- "xlm": -3.72535,
- "xrp": -4.53704,
- "yfi": -2.9092,
- "zar": -6.90764,
- "bits": -3.35054,
- "link": -2.66394,
- "sats": -3.35054
- },
- "price_change_percentage_7d_in_currency": {
- "aed": -26.51129,
- "ars": -26.16518,
- "aud": -24.47674,
- "bch": 0.50205,
- "bdt": -26.37436,
- "bhd": -26.54697,
- "bmd": -26.5152,
- "bnb": -22.38382,
- "brl": -24.17849,
- "btc": -17.86304,
- "cad": -25.33566,
- "chf": -25.80103,
- "clp": -24.3854,
- "cny": -26.46135,
- "czk": -24.99905,
- "dkk": -24.85547,
- "dot": -2.09234,
- "eos": 7.98562,
- "eth": -13.41606,
- "eur": -24.87342,
- "gbp": -25.24695,
- "gel": -26.65255,
- "hkd": -26.55214,
- "huf": -23.93701,
- "idr": -25.26196,
- "ils": -25.10836,
- "inr": -26.25846,
- "jpy": -25.28576,
- "krw": -24.44152,
- "kwd": -26.35532,
- "lkr": -26.34869,
- "ltc": -5.66175,
- "mmk": -26.37311,
- "mxn": -24.32565,
- "myr": -25.8501,
- "ngn": -29.5311,
- "nok": -24.68346,
- "nzd": -24.70619,
- "php": -25.79136,
- "pkr": -26.39785,
- "pln": -23.86684,
- "rub": -25.68875,
- "sar": -26.50989,
- "sek": -24.02657,
- "sgd": -25.58084,
- "thb": -26.28508,
- "try": -25.9881,
- "twd": -25.63267,
- "uah": -24.94972,
- "usd": -26.5152,
- "vef": -26.5152,
- "vnd": -25.58773,
- "xag": -28.09957,
- "xau": -27.41803,
- "xdr": -25.51379,
- "xlm": -9.59721,
- "xrp": -8.61215,
- "yfi": -9.89794,
- "zar": -24.73905,
- "bits": -17.86304,
- "link": -3.92495,
- "sats": -17.86304
- },
- "price_change_percentage_14d_in_currency": {
- "aed": -27.45623,
- "ars": -26.54764,
- "aud": -26.66278,
- "bch": -9.89134,
- "bdt": -27.46281,
- "bhd": -27.47985,
- "bmd": -27.4581,
- "bnb": -25.63463,
- "brl": -25.59555,
- "btc": -23.30461,
- "cad": -26.26519,
- "chf": -26.96865,
- "clp": -28.39222,
- "cny": -27.41599,
- "czk": -26.66054,
- "dkk": -26.66985,
- "dot": -4.80177,
- "eos": -4.26883,
- "eth": -20.58095,
- "eur": -26.68176,
- "gbp": -26.81915,
- "gel": -28.13103,
- "hkd": -27.43802,
- "huf": -26.68463,
- "idr": -26.35398,
- "ils": -25.97339,
- "inr": -27.3354,
- "jpy": -26.13133,
- "krw": -25.31498,
- "kwd": -27.36783,
- "lkr": -27.78776,
- "ltc": -8.56176,
- "mmk": -27.4635,
- "mxn": -26.72378,
- "myr": -26.82465,
- "ngn": -38.68057,
- "nok": -27.46942,
- "nzd": -26.74272,
- "php": -26.6669,
- "pkr": -27.41741,
- "pln": -26.29426,
- "rub": -26.4383,
- "sar": -27.44917,
- "sek": -26.6489,
- "sgd": -26.83312,
- "thb": -27.467,
- "try": -26.73292,
- "twd": -26.49989,
- "uah": -26.50486,
- "usd": -27.4581,
- "vef": -27.4581,
- "vnd": -26.23098,
- "xag": -35.11484,
- "xau": -31.06474,
- "xdr": -26.72627,
- "xlm": -11.98434,
- "xrp": -12.03968,
- "yfi": -12.25935,
- "zar": -26.9712,
- "bits": -23.30461,
- "link": -2.78572,
- "sats": -23.30461
- },
- "price_change_percentage_30d_in_currency": {
- "aed": 11.26166,
- "ars": 13.58449,
- "aud": 13.7107,
- "bch": -13.63035,
- "bdt": 11.17243,
- "bhd": 11.23225,
- "bmd": 11.2603,
- "bnb": 13.46919,
- "brl": 15.46451,
- "btc": 14.77084,
- "cad": 13.46379,
- "chf": 14.89848,
- "clp": 14.73615,
- "cny": 11.92824,
- "czk": 14.76936,
- "dkk": 14.1723,
- "dot": 57.01321,
- "eos": 42.24623,
- "eth": 24.76395,
- "eur": 14.1438,
- "gbp": 13.87012,
- "gel": 11.88889,
- "hkd": 11.34913,
- "huf": 14.60994,
- "idr": 14.95041,
- "ils": 13.58008,
- "inr": 12.08951,
- "jpy": 15.30009,
- "krw": 16.50902,
- "kwd": 11.53899,
- "lkr": 8.92879,
- "ltc": 17.58234,
- "mmk": 11.17061,
- "mxn": 11.72818,
- "myr": 13.37695,
- "ngn": -16.06503,
- "nok": 14.88845,
- "nzd": 14.94084,
- "php": 14.03715,
- "pkr": 10.67626,
- "pln": 14.61263,
- "rub": 12.92868,
- "sar": 11.28572,
- "sek": 17.31886,
- "sgd": 13.56713,
- "thb": 14.19535,
- "try": 12.49376,
- "twd": 14.30865,
- "uah": 13.89483,
- "usd": 11.2603,
- "vef": 11.2603,
- "vnd": 13.71864,
- "xag": -1.53949,
- "xau": 1.05544,
- "xdr": 13.29977,
- "xlm": 30.81167,
- "xrp": 34.1777,
- "yfi": 40.79,
- "zar": 12.97703,
- "bits": 14.77084,
- "link": 45.51251,
- "sats": 14.77084
- },
- "price_change_percentage_60d_in_currency": {
- "aed": 11.45987,
- "ars": 15.97439,
- "aud": 13.19787,
- "bch": -38.8275,
- "bdt": 11.72267,
- "bhd": 11.43591,
- "bmd": 11.4714,
- "bnb": -27.31037,
- "brl": 16.2069,
- "btc": -8.54802,
- "cad": 14.06775,
- "chf": 15.58206,
- "clp": 12.05889,
- "cny": 13.36629,
- "czk": 12.73517,
- "dkk": 13.08504,
- "dot": 29.45019,
- "eos": 14.84461,
- "eth": 2.23909,
- "eur": 13.01332,
- "gbp": 12.74284,
- "gel": 12.31269,
- "hkd": 11.55491,
- "huf": 14.54451,
- "idr": 15.1733,
- "ils": 15.60929,
- "inr": 12.10506,
- "jpy": 14.63098,
- "krw": 16.28461,
- "kwd": 11.538,
- "lkr": 6.78757,
- "ltc": -0.61628,
- "mmk": 11.71769,
- "mxn": 9.76739,
- "myr": 11.83298,
- "ngn": -10.47294,
- "nok": 15.71245,
- "nzd": 15.40119,
- "php": 13.5268,
- "pkr": 11.24195,
- "pln": 12.32904,
- "rub": 12.82953,
- "sar": 11.5021,
- "sek": 16.19111,
- "sgd": 13.01453,
- "thb": 13.25926,
- "try": 17.41453,
- "twd": 15.42466,
- "uah": 17.1312,
- "usd": 11.4714,
- "vef": 11.4714,
- "vnd": 14.92012,
- "xag": -10.09891,
- "xau": -5.90245,
- "xdr": 12.96538,
- "xlm": 19.91551,
- "xrp": 27.73023,
- "yfi": 26.56499,
- "zar": 12.24009,
- "bits": -8.54802,
- "link": 64.87512,
- "sats": -8.54802
- },
- "price_change_percentage_200d_in_currency": {
- "aed": 205.25143,
- "ars": 657.28956,
- "aud": 207.93674,
- "bch": 47.14676,
- "bdt": 204.47528,
- "bhd": 205.14809,
- "bmd": 205.29548,
- "bnb": 19.76147,
- "brl": 214.44028,
- "btc": 30.55874,
- "cad": 213.01476,
- "chf": 205.91303,
- "clp": 228.01899,
- "cny": 202.7776,
- "czk": 216.84746,
- "dkk": 204.70315,
- "dot": 85.97779,
- "eos": 133.61884,
- "eth": 64.09965,
- "eur": 204.55999,
- "gbp": 200.48567,
- "gel": 203.58992,
- "hkd": 205.26935,
- "huf": 207.65694,
- "idr": 219.01256,
- "ils": 199.75334,
- "inr": 206.93191,
- "jpy": 216.92931,
- "krw": 215.78822,
- "kwd": 204.49119,
- "lkr": 182.12338,
- "ltc": 155.56873,
- "mmk": 205.87019,
- "mxn": 194.00601,
- "myr": 212.2651,
- "ngn": 371.29001,
- "nok": 214.23674,
- "nzd": 212.609,
- "php": 207.6922,
- "pkr": 195.94597,
- "pln": 183.88991,
- "rub": 194.86033,
- "sar": 205.35051,
- "sek": 206.69124,
- "sgd": 205.92979,
- "thb": 206.85992,
- "try": 260.64482,
- "twd": 208.7792,
- "uah": 229.13535,
- "usd": 205.29548,
- "vef": 205.29548,
- "vnd": 216.70768,
- "xag": 147.39936,
- "xau": 140.52061,
- "xdr": 206.04189,
- "xlm": 221.31841,
- "xrp": 212.69657,
- "yfi": 130.57234,
- "zar": 208.5636,
- "bits": 30.55874,
- "link": 74.39423,
- "sats": 30.55874
- },
- "price_change_percentage_1y_in_currency": {
- "aed": 87.50673,
- "ars": 663.95977,
- "aud": 95.8339,
- "bch": -49.04941,
- "bdt": 94.08432,
- "bhd": 88.34732,
- "bmd": 87.49907,
- "bnb": 13.66922,
- "brl": 98.01221,
- "btc": -10.03878,
- "cad": 91.36805,
- "chf": 91.82461,
- "clp": 128.73132,
- "cny": 97.52958,
- "czk": 110.61017,
- "dkk": 94.46505,
- "dot": 89.33267,
- "eos": 210.10041,
- "eth": 27.34317,
- "eur": 96.10693,
- "gbp": 87.25449,
- "gel": 99.4512,
- "hkd": 86.97466,
- "huf": 105.15241,
- "idr": 105.04609,
- "ils": 91.90368,
- "inr": 91.31521,
- "jpy": 116.42342,
- "krw": 100.25357,
- "kwd": 88.74484,
- "lkr": 74.25548,
- "ltc": 129.55524,
- "mmk": 88.18295,
- "mxn": 74.7557,
- "myr": 104.19594,
- "ngn": 391.14878,
- "nok": 97.81738,
- "nzd": 97.77621,
- "php": 93.09365,
- "pkr": 86.35941,
- "pln": 80.76825,
- "rub": 115.43941,
- "sar": 87.51396,
- "sek": 98.21627,
- "sgd": 92.36483,
- "thb": 102.844,
- "try": 214.28182,
- "twd": 99.57758,
- "uah": 102.50176,
- "usd": 87.49907,
- "vef": 87.49907,
- "vnd": 102.01633,
- "xag": 67.33535,
- "xau": 58.32002,
- "xdr": 94.09322,
- "xlm": 84.65446,
- "xrp": 96.9308,
- "yfi": 147.67923,
- "zar": 98.39062,
- "bits": -10.03878,
- "link": 11.22912,
- "sats": -10.03878
- },
- "market_cap_change_24h_in_currency": {
- "aed": -54159061.51641059,
- "ars": -12526184756.756256,
- "aud": -20278688.281909823,
- "bch": 11915,
- "bdt": -1621448795.123333,
- "bhd": -5563431.6417720765,
- "bmd": -14744904.379095018,
- "bnb": -12122.801502022776,
- "brl": -63608052.44413161,
- "btc": -96.1373556617732,
- "cad": -19596400.870092362,
- "chf": -13395020.434733301,
- "clp": -12850639566.288239,
- "cny": -106648462.99666476,
- "czk": -339516306.1333308,
- "dkk": -99012048.8819263,
- "dot": -767014.302391693,
- "eos": -3942321.8227217793,
- "eth": -2110.9760231491236,
- "eur": -13265955.75503233,
- "gbp": -11497567.084905148,
- "gel": -39368894.69218248,
- "hkd": -116484807.05180621,
- "huf": -4745327328.852097,
- "idr": -220591129606.91162,
- "ils": -49900014.729486346,
- "inr": -1219769706.001072,
- "jpy": -2172172339.4365616,
- "krw": -18890588391.0018,
- "kwd": -4503337.50614237,
- "lkr": -4311514501.816345,
- "ltc": -93831.03129687393,
- "mmk": -31018873051.585815,
- "mxn": -212791989.90081787,
- "myr": -67854468.47806978,
- "ngn": -17711087648.271454,
- "nok": -154439243.2357757,
- "nzd": -22477970.65100974,
- "php": -804102408.2976494,
- "pkr": -4075751021.6369247,
- "pln": -49777379.231575966,
- "rub": -1341870944.8178139,
- "sar": -55339325.99402201,
- "sek": -152699042.00525928,
- "sgd": -19335300.96617046,
- "thb": -549326157.0667906,
- "try": -451967195.3702183,
- "twd": -456874770.08842945,
- "uah": -531450158.3793974,
- "usd": -14744904.379095018,
- "vef": -1476407.2754788063,
- "vnd": -347061158043.89453,
- "xag": -504003.81248629,
- "xau": -6807.1988158937165,
- "xdr": -9664066.350344017,
- "xlm": -63220868.03148484,
- "xrp": -16808844.146733224,
- "yfi": -890.8872941235568,
- "zar": -238424920.93319798,
- "bits": -96137355.6617732,
- "link": -359758.94173844904,
- "sats": -9613735566.177368
- },
- "market_cap_change_percentage_24h_in_currency": {
- "aed": -8.06966,
- "ars": -7.908,
- "aud": -7.19348,
- "bch": 3.60748,
- "bdt": -8.08664,
- "bhd": -8.07841,
- "bmd": -8.06841,
- "bnb": -3.82134,
- "brl": -6.80489,
- "btc": -3.49322,
- "cad": -7.79495,
- "chf": -8.02773,
- "clp": -7.28978,
- "cny": -8.06206,
- "czk": -7.81847,
- "dkk": -7.73693,
- "dot": -2.97503,
- "eos": -1.73334,
- "eth": -3.73729,
- "eur": -7.73374,
- "gbp": -7.8451,
- "gel": -8.06841,
- "hkd": -8.13659,
- "huf": -7.06115,
- "idr": -7.51214,
- "ils": -7.32496,
- "inr": -7.9988,
- "jpy": -7.7242,
- "krw": -7.46851,
- "kwd": -8.00214,
- "lkr": -7.90556,
- "ltc": -4.20328,
- "mmk": -8.08522,
- "mxn": -7.01585,
- "myr": -7.77021,
- "ngn": -8.06841,
- "nok": -7.74051,
- "nzd": -7.30501,
- "php": -7.74636,
- "pkr": -8.02574,
- "pln": -6.78598,
- "rub": -7.85303,
- "sar": -8.07216,
- "sek": -7.68263,
- "sgd": -7.77618,
- "thb": -8.18481,
- "try": -7.65572,
- "twd": -7.72469,
- "uah": -7.37585,
- "usd": -8.06841,
- "vef": -8.06841,
- "vnd": -7.55849,
- "xag": -7.86486,
- "xau": -8.77438,
- "xdr": -7.01362,
- "xlm": -3.91291,
- "xrp": -4.72242,
- "yfi": -3.54645,
- "zar": -6.92813,
- "bits": -3.49322,
- "link": -2.83224,
- "sats": -3.49322
- },
- "total_supply": 500000000,
- "max_supply": 1000000000,
- "circulating_supply": 457027796.316325,
- "last_updated": "2024-04-16T07:13:03.305Z"
- },
- "community_data": {
- "facebook_likes": null,
- "twitter_followers": 61111,
- "reddit_average_posts_48h": 0,
- "reddit_average_comments_48h": 0,
- "reddit_subscribers": 0,
- "reddit_accounts_active_48h": 0,
- "telegram_channel_user_count": 7741
- },
- "developer_data": {
- "forks": 47,
- "stars": 101,
- "subscribers": 23,
- "total_issues": 956,
- "closed_issues": 921,
- "pull_requests_merged": 503,
- "pull_request_contributors": 14,
- "code_additions_deletions_4_weeks": {
- "additions": 0,
- "deletions": 0
- },
- "commit_count_4_weeks": 0,
- "last_4_weeks_commit_activity_series": []
- },
- "status_updates": [
- {
- "description": "Don’t miss out on the 28th $DUSK Development Update for the latest behind-the-scenes insights. ⚡️ \r\n\r\nLearn all about ABIs, stress-testing of the nodes, Inter-contract calls & intermediate states, and PLONK stability improvements.\r\n\r\nRead on: https://dusk.network/news/development-update-28 ",
- "category": "general",
- "created_at": "2021-03-10T16:01:15.641Z",
- "user": "Mels Dees",
- "user_title": "Co-Founder & Marketing Lead",
- "pin": false,
- "project": {
- "type": "Coin",
- "id": "dusk-network",
- "name": "Dusk",
- "symbol": "dusk",
- "image": {
- "thumb": "https://assets.coingecko.com/coins/images/5217/thumb/image_widget_biddfvxd454b1.png?1696505726",
- "small": "https://assets.coingecko.com/coins/images/5217/small/image_widget_biddfvxd454b1.png?1696505726",
- "large": "https://assets.coingecko.com/coins/images/5217/large/image_widget_biddfvxd454b1.png?1696505726"
- }
- }
- },
- {
- "description": "⚡️ $DUSK swaps are now available on @Binance Bridge! \r\n\r\nEthereum-based $DUSK can now be transferred to the #Binance Smart Chain and vice versa. \r\n\r\nCompatibility with #BSC increases the utility of $DUSK through a myriad of DeFi-focused ecosystems. \r\n\r\nFind out more: https://dusk.network/news/binance-bridge-integration ",
- "category": "general",
- "created_at": "2021-03-05T10:32:32.176Z",
- "user": "Mels Dees",
- "user_title": "Co-Founder & Marketing Lead",
- "pin": false,
- "project": {
- "type": "Coin",
- "id": "dusk-network",
- "name": "Dusk",
- "symbol": "dusk",
- "image": {
- "thumb": "https://assets.coingecko.com/coins/images/5217/thumb/image_widget_biddfvxd454b1.png?1696505726",
- "small": "https://assets.coingecko.com/coins/images/5217/small/image_widget_biddfvxd454b1.png?1696505726",
- "large": "https://assets.coingecko.com/coins/images/5217/large/image_widget_biddfvxd454b1.png?1696505726"
- }
- }
- },
- {
- "description": "We are taking the partnership with LTO Network to enhance the Dutch digital share registry to the next level: tokenization on Dusk Network.\r\n\r\nThe Dusk Network technology is set to provide thousands of companies each year with lifetime access to blockchain benefits ⛓️. \r\n\r\nRead the full story here: https://dusk.network/news/lto-dusk-tokenized-share-registry\r\n",
- "category": "general",
- "created_at": "2021-03-04T15:18:11.017Z",
- "user": "Mels Dees",
- "user_title": "Co-Founder & Marketing Lead",
- "pin": false,
- "project": {
- "type": "Coin",
- "id": "dusk-network",
- "name": "Dusk",
- "symbol": "dusk",
- "image": {
- "thumb": "https://assets.coingecko.com/coins/images/5217/thumb/image_widget_biddfvxd454b1.png?1696505726",
- "small": "https://assets.coingecko.com/coins/images/5217/small/image_widget_biddfvxd454b1.png?1696505726",
- "large": "https://assets.coingecko.com/coins/images/5217/large/image_widget_biddfvxd454b1.png?1696505726"
- }
- }
- },
- {
- "description": "⚡️ Rabobank CBDC report highlights the importance of Dusk Network’s key design principles\r\n\r\n💡 In this article we aim to educate readers about CBDC, the challenges for blockchain to become the accepted infrastructure of choice, and how the Dusk Network is built upon the exact core-principles that may underpin future CBDCs.\r\n\r\n👉 7 min read: https://dusk.network/news/rabobank-cbdc-report",
- "category": "general",
- "created_at": "2021-03-03T17:04:34.240Z",
- "user": "Mels Dees",
- "user_title": "Co-Founder & Marketing Lead",
- "pin": false,
- "project": {
- "type": "Coin",
- "id": "dusk-network",
- "name": "Dusk",
- "symbol": "dusk",
- "image": {
- "thumb": "https://assets.coingecko.com/coins/images/5217/thumb/image_widget_biddfvxd454b1.png?1696505726",
- "small": "https://assets.coingecko.com/coins/images/5217/small/image_widget_biddfvxd454b1.png?1696505726",
- "large": "https://assets.coingecko.com/coins/images/5217/large/image_widget_biddfvxd454b1.png?1696505726"
- }
- }
- },
- {
- "description": "Dusk Network and Binance Smart Chain integration for large scale DeFi adoption 💥\r\n\r\nThis year, Binance Smart Chain aims to build cross-chain financial infrastructure that unlocks the Internet of Value. By wrapping DUSK as BEP20 tokens on the Binance Smart Chain, the companies take their first step towards large scale adoption of DeFi applications. \r\n\r\n👉 https://dusk.network/news/binance-smart-chain-integration ",
- "category": "general",
- "created_at": "2021-03-02T15:17:13.424Z",
- "user": "Mels Dees",
- "user_title": "Co-Founder & Marketing Lead",
- "pin": false,
- "project": {
- "type": "Coin",
- "id": "dusk-network",
- "name": "Dusk",
- "symbol": "dusk",
- "image": {
- "thumb": "https://assets.coingecko.com/coins/images/5217/thumb/image_widget_biddfvxd454b1.png?1696505726",
- "small": "https://assets.coingecko.com/coins/images/5217/small/image_widget_biddfvxd454b1.png?1696505726",
- "large": "https://assets.coingecko.com/coins/images/5217/large/image_widget_biddfvxd454b1.png?1696505726"
- }
- }
- },
- {
- "description": "💥 Dusk Network Whitepaper V3 release\r\n\r\n⚙️ The updated whitepaper includes the latest advancements and specifications of Dusk Network: a privacy-preserving blockchain for smart contracts, financial applications, and regulated decentralized finance.\r\n\r\n📆 Important stepping stone for Dusk Network as we move closer towards the upcoming E2E Release Candidate (save-the-date: April 9th, 2021)\r\n\r\n👉 Go straight to Whitepaper V3: https://dusk.network/uploads/The_Dusk_Network_Whitepaper_v3_0_0.pdf",
- "category": "general",
- "created_at": "2021-03-01T16:03:30.732Z",
- "user": "Mels Dees",
- "user_title": "Co-Founder & Marketing Lead",
- "pin": false,
- "project": {
- "type": "Coin",
- "id": "dusk-network",
- "name": "Dusk",
- "symbol": "dusk",
- "image": {
- "thumb": "https://assets.coingecko.com/coins/images/5217/thumb/image_widget_biddfvxd454b1.png?1696505726",
- "small": "https://assets.coingecko.com/coins/images/5217/small/image_widget_biddfvxd454b1.png?1696505726",
- "large": "https://assets.coingecko.com/coins/images/5217/large/image_widget_biddfvxd454b1.png?1696505726"
- }
- }
- },
- {
- "description": "Dusk Network is always on the look-out for talented 🧠 team members in the realms of technology, business development, and marketing.\r\n\r\nToday, we’d like to shine a brief spotlight💡 on two of the most recent additions to the Dusk Network family and our Research & Development department: Errol & Marta!\r\n\r\n👉 https://dusk.network/news/dusk-network-expands-research-development-team \r\n\r\n",
- "category": "general",
- "created_at": "2021-02-24T17:24:38.576Z",
- "user": "Mels Dees",
- "user_title": "Co-Founder & Marketing Lead",
- "pin": false,
- "project": {
- "type": "Coin",
- "id": "dusk-network",
- "name": "Dusk",
- "symbol": "dusk",
- "image": {
- "thumb": "https://assets.coingecko.com/coins/images/5217/thumb/image_widget_biddfvxd454b1.png?1696505726",
- "small": "https://assets.coingecko.com/coins/images/5217/small/image_widget_biddfvxd454b1.png?1696505726",
- "large": "https://assets.coingecko.com/coins/images/5217/large/image_widget_biddfvxd454b1.png?1696505726"
- }
- }
- }
- ],
- "last_updated": "2024-04-16T07:13:03.305Z",
- "tickers": [
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "WEEX",
- "identifier": "weex",
- "has_trading_incentive": false
- },
- "last": 0.3677,
- "volume": 2538443,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011902,
- "usd": 0.367804
- },
- "converted_volume": {
- "btc": 14.986608,
- "eth": 306.75,
- "usd": 947904
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.027159,
- "timestamp": "2024-04-16T07:10:53+00:00",
- "last_traded_at": "2024-04-16T07:10:53+00:00",
- "last_fetch_at": "2024-04-16T07:10:53+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.weex.com/trade/dusk_usdt",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "Binance",
- "identifier": "binance",
- "has_trading_incentive": false
- },
- "last": 0.3671,
- "volume": 18569271,
- "converted_last": {
- "btc": 0.00000581,
- "eth": 0.00011885,
- "usd": 0.367232
- },
- "converted_volume": {
- "btc": 109.19,
- "eth": 2235,
- "usd": 6906789
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.054481,
- "timestamp": "2024-04-16T07:09:04+00:00",
- "last_traded_at": "2024-04-16T07:09:04+00:00",
- "last_fetch_at": "2024-04-16T07:11:02+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.binance.com/en/trade/DUSK_USDT?ref=37754157",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "TokoCrypto",
- "identifier": "toko_crypto",
- "has_trading_incentive": false
- },
- "last": 0.3679,
- "volume": 62475.28295732536,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011909,
- "usd": 0.368004
- },
- "converted_volume": {
- "btc": 0.36349602,
- "eth": 7.440139,
- "usd": 22991
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.054481,
- "timestamp": "2024-04-16T07:10:27+00:00",
- "last_traded_at": "2024-04-16T07:10:27+00:00",
- "last_fetch_at": "2024-04-16T07:10:27+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.tokocrypto.com/trade/DUSKUSDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "Bitget",
- "identifier": "bitget",
- "has_trading_incentive": false
- },
- "last": 0.36721,
- "volume": 1132580,
- "converted_last": {
- "btc": 0.00000581,
- "eth": 0.00011889,
- "usd": 0.367342
- },
- "converted_volume": {
- "btc": 6.718,
- "eth": 137.531,
- "usd": 424947
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.117045,
- "timestamp": "2024-04-16T07:11:09+00:00",
- "last_traded_at": "2024-04-16T07:11:09+00:00",
- "last_fetch_at": "2024-04-16T07:11:09+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.bitget.com/spot/DUSKUSDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "BingX",
- "identifier": "bingx",
- "has_trading_incentive": false
- },
- "last": 0.3683,
- "volume": 1134085.799573,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011924,
- "usd": 0.368433
- },
- "converted_volume": {
- "btc": 6.676942,
- "eth": 136.691,
- "usd": 422350
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.108962,
- "timestamp": "2024-04-16T07:11:15+00:00",
- "last_traded_at": "2024-04-16T07:11:15+00:00",
- "last_fetch_at": "2024-04-16T07:11:15+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://bingx.com/en-us/spot/DUSKUSDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "Gate.io",
- "identifier": "gate",
- "has_trading_incentive": false
- },
- "last": 0.36711,
- "volume": 1596976.2880635,
- "converted_last": {
- "btc": 0.00000581,
- "eth": 0.00011886,
- "usd": 0.367242
- },
- "converted_volume": {
- "btc": 9.297206,
- "eth": 190.333,
- "usd": 588095
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.179602,
- "timestamp": "2024-04-16T07:10:32+00:00",
- "last_traded_at": "2024-04-16T07:10:32+00:00",
- "last_fetch_at": "2024-04-16T07:11:13+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://gate.io/trade/DUSK_USDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "HTX",
- "identifier": "huobi",
- "has_trading_incentive": false
- },
- "last": 0.3678,
- "volume": 24858301.23914042,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011908,
- "usd": 0.367933
- },
- "converted_volume": {
- "btc": 145.421,
- "eth": 2977,
- "usd": 9198636
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.163177,
- "timestamp": "2024-04-16T07:11:23+00:00",
- "last_traded_at": "2024-04-16T07:11:23+00:00",
- "last_fetch_at": "2024-04-16T07:11:23+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.huobi.com/en-us/exchange/dusk_usdt",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "EUR",
- "market": {
- "name": "Bitvavo",
- "identifier": "bitvavo",
- "has_trading_incentive": false
- },
- "last": 0.34671,
- "volume": 779359.20602014,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011908,
- "usd": 0.368099
- },
- "converted_volume": {
- "btc": 4.534746,
- "eth": 92.807,
- "usd": 286881
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.187477,
- "timestamp": "2024-04-16T07:08:37+00:00",
- "last_traded_at": "2024-04-16T07:08:37+00:00",
- "last_fetch_at": "2024-04-16T07:08:37+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://account.bitvavo.com/markets/DUSK-EUR",
- "token_info_url": null,
- "coin_id": "dusk-network"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "KuCoin",
- "identifier": "kucoin",
- "has_trading_incentive": false
- },
- "last": 0.36701,
- "volume": 1433844.4672,
- "converted_last": {
- "btc": 0.0000058,
- "eth": 0.0001188,
- "usd": 0.367114
- },
- "converted_volume": {
- "btc": 8.322266,
- "eth": 170.342,
- "usd": 526384
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.120009,
- "timestamp": "2024-04-16T07:10:27+00:00",
- "last_traded_at": "2024-04-16T07:10:27+00:00",
- "last_fetch_at": "2024-04-16T07:10:27+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.kucoin.com/trade/DUSK-USDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "BTC",
- "market": {
- "name": "Binance",
- "identifier": "binance",
- "has_trading_incentive": false
- },
- "last": 0.00000581,
- "volume": 1214014,
- "converted_last": {
- "btc": 0.00000581,
- "eth": 0.00011904,
- "usd": 0.367127
- },
- "converted_volume": {
- "btc": 7.0784,
- "eth": 145.023,
- "usd": 447275
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.344828,
- "timestamp": "2024-04-16T07:05:03+00:00",
- "last_traded_at": "2024-04-16T07:05:03+00:00",
- "last_fetch_at": "2024-04-16T07:05:03+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.binance.com/en/trade/DUSK_BTC?ref=37754157",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "bitcoin"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "MEXC",
- "identifier": "mxc",
- "has_trading_incentive": false
- },
- "last": 0.36692,
- "volume": 842769.6,
- "converted_last": {
- "btc": 0.0000058,
- "eth": 0.00011877,
- "usd": 0.367024
- },
- "converted_volume": {
- "btc": 4.890372,
- "eth": 100.098,
- "usd": 309316
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.133246,
- "timestamp": "2024-04-16T07:10:07+00:00",
- "last_traded_at": "2024-04-16T07:10:07+00:00",
- "last_fetch_at": "2024-04-16T07:10:07+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.mexc.com/exchange/DUSK_USDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "AscendEX (BitMax)",
- "identifier": "bitmax",
- "has_trading_incentive": false
- },
- "last": 0.36586,
- "volume": 397738,
- "converted_last": {
- "btc": 0.00000579,
- "eth": 0.00011845,
- "usd": 0.365992
- },
- "converted_volume": {
- "btc": 2.301302,
- "eth": 47.112324,
- "usd": 145569
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.199133,
- "timestamp": "2024-04-16T07:10:06+00:00",
- "last_traded_at": "2024-04-16T07:10:06+00:00",
- "last_fetch_at": "2024-04-16T07:11:07+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://ascendex.com/en/cashtrade-spottrading/usdt/dusk",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "Hotcoin Global",
- "identifier": "hotcoin_global",
- "has_trading_incentive": false
- },
- "last": 0.3671,
- "volume": 1078032,
- "converted_last": {
- "btc": 0.00000581,
- "eth": 0.0001188,
- "usd": 0.36732
- },
- "converted_volume": {
- "btc": 6.258607,
- "eth": 128.076,
- "usd": 395982
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.758397,
- "timestamp": "2024-04-16T07:09:59+00:00",
- "last_traded_at": "2024-04-16T07:09:59+00:00",
- "last_fetch_at": "2024-04-16T07:09:59+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.hotcoin.com/currencyExchange/dusk_usdt",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "XRP",
- "market": {
- "name": "Bitrue",
- "identifier": "bitrue",
- "has_trading_incentive": false
- },
- "last": 0.7417,
- "volume": 2217226.66,
- "converted_last": {
- "btc": 0.0000058,
- "eth": 0.0001188,
- "usd": 0.367124
- },
- "converted_volume": {
- "btc": 12.869509,
- "eth": 263.417,
- "usd": 813997
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 1.098754,
- "timestamp": "2024-04-16T07:10:35+00:00",
- "last_traded_at": "2024-04-16T07:10:35+00:00",
- "last_fetch_at": "2024-04-16T07:10:35+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.bitrue.com/trade/dusk_xrp",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "ripple"
- },
- {
- "base": "DUSK",
- "target": "USD",
- "market": {
- "name": "Bitfinex",
- "identifier": "bitfinex",
- "has_trading_incentive": false
- },
- "last": 0.36855,
- "volume": 113270.48623731,
- "converted_last": {
- "btc": 0.00000583,
- "eth": 0.00011929,
- "usd": 0.368579
- },
- "converted_volume": {
- "btc": 0.66001255,
- "eth": 13.511795,
- "usd": 41749
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.325027,
- "timestamp": "2024-04-16T07:07:02+00:00",
- "last_traded_at": "2024-04-16T07:07:02+00:00",
- "last_fetch_at": "2024-04-16T07:11:04+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://trading.bitfinex.com/t/DUSK:USD?type=exchange",
- "token_info_url": null,
- "coin_id": "dusk-network"
- },
- {
- "base": "0XB2BD0749DBE21F623D9BABA856D3B0F0E1BFEC9C",
- "target": "WBNB",
- "market": {
- "name": "PancakeSwap (v2)",
- "identifier": "pancakeswap_new",
- "has_trading_incentive": false
- },
- "last": 0.000669209397765875,
- "volume": 322446.837207692,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011913,
- "usd": 0.368123
- },
- "converted_volume": {
- "btc": 1.861868,
- "eth": 38.109241,
- "usd": 117763
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.603233,
- "timestamp": "2024-04-16T07:10:43+00:00",
- "last_traded_at": "2024-04-16T07:10:43+00:00",
- "last_fetch_at": "2024-04-16T07:10:43+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://pancakeswap.finance/swap?inputCurrency=0xb2bd0749dbe21f623d9baba856d3b0f0e1bfec9c&outputCurrency=wbnb",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "wbnb"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "Bitrue",
- "identifier": "bitrue",
- "has_trading_incentive": false
- },
- "last": 0.3672,
- "volume": 3018798,
- "converted_last": {
- "btc": 0.00000581,
- "eth": 0.00011884,
- "usd": 0.36742
- },
- "converted_volume": {
- "btc": 17.530664,
- "eth": 358.746,
- "usd": 1109166
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 1.62206,
- "timestamp": "2024-04-16T07:09:33+00:00",
- "last_traded_at": "2024-04-16T07:09:33+00:00",
- "last_fetch_at": "2024-04-16T07:09:33+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.bitrue.com/trade/dusk_usdt",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDC",
- "market": {
- "name": "Bitrue",
- "identifier": "bitrue",
- "has_trading_incentive": false
- },
- "last": 0.3677,
- "volume": 2179263,
- "converted_last": {
- "btc": 0.00000581,
- "eth": 0.00011899,
- "usd": 0.367711
- },
- "converted_volume": {
- "btc": 12.669378,
- "eth": 259.32,
- "usd": 801339
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.757781,
- "timestamp": "2024-04-16T07:10:35+00:00",
- "last_traded_at": "2024-04-16T07:10:35+00:00",
- "last_fetch_at": "2024-04-16T07:10:35+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.bitrue.com/trade/dusk_usdc",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "usd-coin"
- },
- {
- "base": "DUSK",
- "target": "ETH",
- "market": {
- "name": "Gate.io",
- "identifier": "gate",
- "has_trading_incentive": false
- },
- "last": 0.00011873,
- "volume": 26243.6520148703,
- "converted_last": {
- "btc": 0.0000058,
- "eth": 0.00011864,
- "usd": 0.366576
- },
- "converted_volume": {
- "btc": 0.15168199,
- "eth": 3.105238,
- "usd": 9594.64
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.4271,
- "timestamp": "2024-04-16T07:10:31+00:00",
- "last_traded_at": "2024-04-16T07:10:31+00:00",
- "last_fetch_at": "2024-04-16T07:11:13+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://gate.io/trade/DUSK_ETH",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "ethereum"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "LATOKEN",
- "identifier": "latoken",
- "has_trading_incentive": false
- },
- "last": 0.36812631,
- "volume": 19201.05192586452,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011918,
- "usd": 0.368259
- },
- "converted_volume": {
- "btc": 0.111785,
- "eth": 2.288466,
- "usd": 7070.96
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.228011,
- "timestamp": "2024-04-16T07:11:19+00:00",
- "last_traded_at": "2024-04-16T07:11:19+00:00",
- "last_fetch_at": "2024-04-16T07:11:19+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://latoken.com/exchange/USDT-DUSK",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "Cryptology",
- "identifier": "cryptology",
- "has_trading_incentive": false
- },
- "last": 0.3665,
- "volume": 29608.58430667,
- "converted_last": {
- "btc": 0.0000058,
- "eth": 0.00011861,
- "usd": 0.366719
- },
- "converted_volume": {
- "btc": 0.17161422,
- "eth": 3.511896,
- "usd": 10858.04
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.489396,
- "timestamp": "2024-04-16T07:09:18+00:00",
- "last_traded_at": "2024-04-16T07:09:18+00:00",
- "last_fetch_at": "2024-04-16T07:09:18+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://cryptology.com/app/next/trading/DUSK_USDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "BNT",
- "market": {
- "name": "Bancor (V2)",
- "identifier": "bancor",
- "has_trading_incentive": false
- },
- "last": 0.443286246604661,
- "volume": 3033.44746094734,
- "converted_last": {
- "btc": 0.00000488,
- "eth": 0.00009979,
- "usd": 0.30848
- },
- "converted_volume": {
- "btc": 0.01479154,
- "eth": 0.30271911,
- "usd": 935.76
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.613008,
- "timestamp": "2024-04-16T07:01:10+00:00",
- "last_traded_at": "2024-04-16T07:01:10+00:00",
- "last_fetch_at": "2024-04-16T07:08:38+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://app.bancor.network/trade?inputCurrency=dusk&outputCurrency=bnt",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "bancor"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "CoinEx",
- "identifier": "coinex",
- "has_trading_incentive": false
- },
- "last": 0.367,
- "volume": 30095.94802705,
- "converted_last": {
- "btc": 0.00000581,
- "eth": 0.00011881,
- "usd": 0.367285
- },
- "converted_volume": {
- "btc": 0.17625736,
- "eth": 3.607125,
- "usd": 11150.5
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 0.947482,
- "timestamp": "2024-04-16T07:07:32+00:00",
- "last_traded_at": "2024-04-16T07:07:32+00:00",
- "last_fetch_at": "2024-04-16T07:07:32+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.coinex.com/trading?currency=USDT&dest=DUSK#limit",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "Koinpark",
- "identifier": "koinpark",
- "has_trading_incentive": false
- },
- "last": 0.3679,
- "volume": 4109.434165,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011909,
- "usd": 0.368004
- },
- "converted_volume": {
- "btc": 0.02390966,
- "eth": 0.48938972,
- "usd": 1512.29
- },
- "trust_score": "green",
- "bid_ask_spread_percentage": 3.038964,
- "timestamp": "2024-04-16T07:10:55+00:00",
- "last_traded_at": "2024-04-16T07:10:55+00:00",
- "last_fetch_at": "2024-04-16T07:10:55+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.koinpark.com/trade/DUSK-USDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "Nominex",
- "identifier": "nominex",
- "has_trading_incentive": false
- },
- "last": 0.3684,
- "volume": 20641.897937024973,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011927,
- "usd": 0.368129
- },
- "converted_volume": {
- "btc": 0.1202335,
- "eth": 2.461922,
- "usd": 7598.87
- },
- "trust_score": "yellow",
- "bid_ask_spread_percentage": 0.052659,
- "timestamp": "2024-04-16T06:55:48+00:00",
- "last_traded_at": "2024-04-16T06:55:48+00:00",
- "last_fetch_at": "2024-04-16T06:55:48+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://nominex.io/en/markets/DUSK/USDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "CoinTR Pro",
- "identifier": "cointr",
- "has_trading_incentive": false
- },
- "last": 0.3678,
- "volume": 39189,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011906,
- "usd": 0.367904
- },
- "converted_volume": {
- "btc": 0.23002521,
- "eth": 4.708221,
- "usd": 14549.11
- },
- "trust_score": "yellow",
- "bid_ask_spread_percentage": 0.298265,
- "timestamp": "2024-04-16T07:10:47+00:00",
- "last_traded_at": "2024-04-16T07:10:47+00:00",
- "last_fetch_at": "2024-04-16T07:10:47+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.cointr.com/en-us/spot/DUSK_USDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "BTC",
- "market": {
- "name": "TokoCrypto",
- "identifier": "toko_crypto",
- "has_trading_incentive": false
- },
- "last": 0.00000582,
- "volume": 58.697594502,
- "converted_last": {
- "btc": 0.00000582,
- "eth": 0.00011911,
- "usd": 0.36819
- },
- "converted_volume": {
- "btc": 0.00034162,
- "eth": 0.00699149,
- "usd": 21.61
- },
- "trust_score": "yellow",
- "bid_ask_spread_percentage": 0.172117,
- "timestamp": "2024-04-16T07:08:43+00:00",
- "last_traded_at": "2024-04-16T07:08:43+00:00",
- "last_fetch_at": "2024-04-16T07:08:43+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.tokocrypto.com/trade/DUSKBTC",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "bitcoin"
- },
- {
- "base": "DUSK",
- "target": "BTC",
- "market": {
- "name": "Nominex",
- "identifier": "nominex",
- "has_trading_incentive": false
- },
- "last": 0.00000581,
- "volume": 1960.376936317,
- "converted_last": {
- "btc": 0.00000581,
- "eth": 0.00011895,
- "usd": 0.366979
- },
- "converted_volume": {
- "btc": 0.01138979,
- "eth": 0.23318543,
- "usd": 719.42
- },
- "trust_score": "yellow",
- "bid_ask_spread_percentage": 0.367647,
- "timestamp": "2024-04-16T06:50:47+00:00",
- "last_traded_at": "2024-04-16T06:50:47+00:00",
- "last_fetch_at": "2024-04-16T06:50:47+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://nominex.io/en/markets/DUSK/BTC",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "bitcoin"
- },
- {
- "base": "DUSK",
- "target": "IDR",
- "market": {
- "name": "Bittime",
- "identifier": "bittime",
- "has_trading_incentive": false
- },
- "last": 5976,
- "volume": 683.6,
- "converted_last": {
- "btc": 0.00000584,
- "eth": 0.00011956,
- "usd": 0.369591
- },
- "converted_volume": {
- "btc": 0.0040211,
- "eth": 0.08229229,
- "usd": 254.39
- },
- "trust_score": "yellow",
- "bid_ask_spread_percentage": 1.26183,
- "timestamp": "2024-04-16T07:07:58+00:00",
- "last_traded_at": "2024-04-16T07:07:58+00:00",
- "last_fetch_at": "2024-04-16T07:07:58+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.bittime.com/en/trade/DUSK-IDR",
- "token_info_url": null,
- "coin_id": "dusk-network"
- },
- {
- "base": "DUSK",
- "target": "BRL",
- "market": {
- "name": "NovaDAX",
- "identifier": "novadax",
- "has_trading_incentive": false
- },
- "last": 1.89248,
- "volume": 3254.92,
- "converted_last": {
- "btc": 0.00000577,
- "eth": 0.00011811,
- "usd": 0.364977
- },
- "converted_volume": {
- "btc": 0.01878214,
- "eth": 0.38443817,
- "usd": 1187.97
- },
- "trust_score": "yellow",
- "bid_ask_spread_percentage": 1.447385,
- "timestamp": "2024-04-16T02:50:26+00:00",
- "last_traded_at": "2024-04-16T02:50:26+00:00",
- "last_fetch_at": "2024-04-16T07:10:24+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://www.novadax.com/product/orderbook?pair=DUSK_BRL",
- "token_info_url": null,
- "coin_id": "dusk-network"
- },
- {
- "base": "0XC581B735A1688071A1746C968E0798D642EDE491",
- "target": "0X940A2DB1B7008B6C776D4FAACA729D6D4A4AA551",
- "market": {
- "name": "Uniswap V3 (Ethereum)",
- "identifier": "uniswap_v3",
- "has_trading_incentive": false
- },
- "last": 2.77683438954474,
- "volume": 11358.555032,
- "converted_last": {
- "btc": 0.00000571,
- "eth": 0.00011681,
- "usd": 0.361147
- },
- "converted_volume": {
- "btc": 0.17619901,
- "eth": 3.605719,
- "usd": 11148.12
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 0.605038,
- "timestamp": "2024-04-16T07:02:43+00:00",
- "last_traded_at": "2024-04-16T07:02:43+00:00",
- "last_fetch_at": "2024-04-16T07:09:52+00:00",
- "is_anomaly": false,
- "is_stale": false,
- "trade_url": "https://app.uniswap.org/#/swap?inputCurrency=0xc581b735a1688071a1746c968e0798d642ede491&outputCurrency=0x940a2db1b7008b6c776d4faaca729d6d4a4aa551",
- "token_info_url": null,
- "coin_id": "tether-eurt",
- "target_coin_id": "dusk-network"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "FMFW.io",
- "identifier": "bitcoin_com",
- "has_trading_incentive": false
- },
- "last": 0.35557,
- "volume": 293.1,
- "converted_last": {
- "btc": 0.00000562,
- "eth": 0.00011511,
- "usd": 0.355553
- },
- "converted_volume": {
- "btc": 0.00164866,
- "eth": 0.03373792,
- "usd": 104.21
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 0.062604,
- "timestamp": "2024-04-16T03:26:52+00:00",
- "last_traded_at": "2024-04-16T03:26:52+00:00",
- "last_fetch_at": "2024-04-16T07:06:47+00:00",
- "is_anomaly": true,
- "is_stale": false,
- "trade_url": "https://fmfw.io/DUSK-to-USDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "HitBTC",
- "identifier": "hitbtc",
- "has_trading_incentive": false
- },
- "last": 0.35557,
- "volume": 293.1,
- "converted_last": {
- "btc": 0.00000562,
- "eth": 0.0001151,
- "usd": 0.35567
- },
- "converted_volume": {
- "btc": 0.00179527,
- "eth": 0.03674612,
- "usd": 113.55
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 0.122546,
- "timestamp": "2024-04-16T03:26:42+00:00",
- "last_traded_at": "2024-04-16T03:26:42+00:00",
- "last_fetch_at": "2024-04-16T07:10:29+00:00",
- "is_anomaly": true,
- "is_stale": false,
- "trade_url": "https://hitbtc.com/DUSK-to-USDT",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "BTC",
- "market": {
- "name": "FMFW.io",
- "identifier": "bitcoin_com",
- "has_trading_incentive": false
- },
- "last": 0.000005631,
- "volume": 244.24,
- "converted_last": {
- "btc": 0.00000563,
- "eth": 0.00011523,
- "usd": 0.355939
- },
- "converted_volume": {
- "btc": 0.00137532,
- "eth": 0.02814424,
- "usd": 86.93
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 0.171851,
- "timestamp": "2024-04-16T01:09:53+00:00",
- "last_traded_at": "2024-04-16T01:09:53+00:00",
- "last_fetch_at": "2024-04-16T07:06:47+00:00",
- "is_anomaly": true,
- "is_stale": false,
- "trade_url": "https://fmfw.io/DUSK-to-BTC",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "bitcoin"
- },
- {
- "base": "DUSK",
- "target": "BTC",
- "market": {
- "name": "HitBTC",
- "identifier": "hitbtc",
- "has_trading_incentive": false
- },
- "last": 0.000005631,
- "volume": 244.24,
- "converted_last": {
- "btc": 0.00000563,
- "eth": 0.00011526,
- "usd": 0.356161
- },
- "converted_volume": {
- "btc": 0.00144252,
- "eth": 0.02952582,
- "usd": 91.24
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 0.206505,
- "timestamp": "2024-04-16T01:06:27+00:00",
- "last_traded_at": "2024-04-16T01:06:27+00:00",
- "last_fetch_at": "2024-04-16T07:10:11+00:00",
- "is_anomaly": true,
- "is_stale": false,
- "trade_url": "https://hitbtc.com/DUSK-to-BTC",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "bitcoin"
- },
- {
- "base": "0X940A2DB1B7008B6C776D4FAACA729D6D4A4AA551",
- "target": "0XDAC17F958D2EE523A2206206994597C13D831EC7",
- "market": {
- "name": "Uniswap V3 (Ethereum)",
- "identifier": "uniswap_v3",
- "has_trading_incentive": false
- },
- "last": 0.36618226342531,
- "volume": 988640.467674595,
- "converted_last": {
- "btc": 0.00000571,
- "eth": 0.00011681,
- "usd": 0.361147
- },
- "converted_volume": {
- "btc": 5.707073,
- "eth": 116.789,
- "usd": 361087
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 0.603147,
- "timestamp": "2024-04-16T07:09:50+00:00",
- "last_traded_at": "2024-04-16T07:09:50+00:00",
- "last_fetch_at": "2024-04-16T07:09:50+00:00",
- "is_anomaly": true,
- "is_stale": false,
- "trade_url": "https://app.uniswap.org/#/swap?inputCurrency=0x940a2db1b7008b6c776d4faaca729d6d4a4aa551&outputCurrency=0xdac17f958d2ee523a2206206994597c13d831ec7",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "0X940A2DB1B7008B6C776D4FAACA729D6D4A4AA551",
- "target": "0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2",
- "market": {
- "name": "Uniswap V3 (Ethereum)",
- "identifier": "uniswap_v3",
- "has_trading_incentive": false
- },
- "last": 0.000116943747218566,
- "volume": 458.357245626918,
- "converted_last": {
- "btc": 0.00000565,
- "eth": 0.00011569,
- "usd": 0.357689
- },
- "converted_volume": {
- "btc": 0.00267337,
- "eth": 0.05470748,
- "usd": 169.14
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 0.763871,
- "timestamp": "2024-04-16T06:27:45+00:00",
- "last_traded_at": "2024-04-16T06:27:45+00:00",
- "last_fetch_at": "2024-04-16T07:09:52+00:00",
- "is_anomaly": true,
- "is_stale": false,
- "trade_url": "https://app.uniswap.org/#/swap?inputCurrency=0x940a2db1b7008b6c776d4faaca729d6d4a4aa551&outputCurrency=ETH",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "weth"
- },
- {
- "base": "DUSK",
- "target": "INR",
- "market": {
- "name": "Koinpark",
- "identifier": "koinpark",
- "has_trading_incentive": false
- },
- "last": 32.89026,
- "volume": 4748.855209,
- "converted_last": {
- "btc": 0.00000623,
- "eth": 0.00012743,
- "usd": 0.393906
- },
- "converted_volume": {
- "btc": 0.02956884,
- "eth": 0.60512928,
- "usd": 1870.6
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 3.077864,
- "timestamp": "2024-04-16T07:07:51+00:00",
- "last_traded_at": "2024-04-16T07:07:51+00:00",
- "last_fetch_at": "2024-04-16T07:07:51+00:00",
- "is_anomaly": true,
- "is_stale": false,
- "trade_url": "https://www.koinpark.com/trade/DUSK-INR",
- "token_info_url": null,
- "coin_id": "dusk-network"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "WazirX",
- "identifier": "wazirx",
- "has_trading_incentive": false
- },
- "last": 0.4711,
- "volume": 1208.6,
- "converted_last": {
- "btc": 0.00000745,
- "eth": 0.00015252,
- "usd": 0.47127
- },
- "converted_volume": {
- "btc": 0.00900445,
- "eth": 0.18433942,
- "usd": 569.58
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 34.352442,
- "timestamp": "2024-04-16T06:07:56+00:00",
- "last_traded_at": "2024-04-16T06:07:56+00:00",
- "last_fetch_at": "2024-04-16T07:11:38+00:00",
- "is_anomaly": true,
- "is_stale": false,
- "trade_url": null,
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- },
- {
- "base": "DUSK",
- "target": "USDT",
- "market": {
- "name": "Poloniex",
- "identifier": "poloniex",
- "has_trading_incentive": false
- },
- "last": 0.2921,
- "volume": 49.321,
- "converted_last": {
- "btc": 0.00000447,
- "eth": 0.00009229,
- "usd": 0.291763
- },
- "converted_volume": {
- "btc": 0.00022063,
- "eth": 0.00455099,
- "usd": 14.39
- },
- "trust_score": null,
- "bid_ask_spread_percentage": 52.445285,
- "timestamp": "2024-04-14T21:58:33+00:00",
- "last_traded_at": "2024-04-14T21:58:33+00:00",
- "last_fetch_at": "2024-04-14T22:27:56+00:00",
- "is_anomaly": true,
- "is_stale": true,
- "trade_url": "https://poloniex.com/trade/DUSK_USDT/?type=spot",
- "token_info_url": null,
- "coin_id": "dusk-network",
- "target_coin_id": "tether"
- }
- ]
-}
diff --git a/explorer/src/lib/mock-data/api-node-info.json b/explorer/src/lib/mock-data/api-node-info.json
deleted file mode 100644
index 6106b5aeec..0000000000
--- a/explorer/src/lib/mock-data/api-node-info.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "bootstrapping_nodes": [
- "nocturne-20241011-100-2-node-0.testnet.dusk:9000",
- "nocturne-20241011-100-2-node-1.testnet.dusk:9000"
- ],
- "chain_id": 2,
- "kadcast_address": "64.225.3.119:9000",
- "version": "0.8.0",
- "version_build": "0.8.0 (8a9df55 2024-10-14)"
-}
diff --git a/explorer/src/lib/mock-data/api-node-locations.json b/explorer/src/lib/mock-data/api-node-locations.json
deleted file mode 100644
index 6d23ac0eb7..0000000000
--- a/explorer/src/lib/mock-data/api-node-locations.json
+++ /dev/null
@@ -1,618 +0,0 @@
-[
- {
- "city": "Alexandria",
- "country": "Australia",
- "countryCode": "AU",
- "lat": -33.9088,
- "lon": 151.196
- },
- {
- "city": "Milan",
- "country": "Italy",
- "countryCode": "IT",
- "lat": 45.4722,
- "lon": 9.1922
- },
- {
- "city": "Sydney",
- "country": "Australia",
- "countryCode": "AU",
- "lat": -33.808,
- "lon": 151.1415
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.3891,
- "lon": 4.6563
- },
- {
- "city": "Nuremberg",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 49.405,
- "lon": 11.1617
- },
- {
- "city": "Nuremberg",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 49.405,
- "lon": 11.1617
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1169,
- "lon": 8.6837
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.3891,
- "lon": 4.6563
- },
- {
- "city": "Nuremberg",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 49.4527,
- "lon": 11.0783
- },
- {
- "city": "Hillsboro",
- "country": "United States",
- "countryCode": "US",
- "lat": 45.5397,
- "lon": -122.9638
- },
- {
- "city": "Portsmouth",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 50.8544,
- "lon": -1.002
- },
- {
- "city": "St Louis",
- "country": "United States",
- "countryCode": "US",
- "lat": 38.6364,
- "lon": -90.1985
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "Slough",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 51.5368,
- "lon": -0.6718
- },
- {
- "city": "Helsinki",
- "country": "Finland",
- "countryCode": "FI",
- "lat": 60.1797,
- "lon": 24.9344
- },
- {
- "city": "Portsmouth",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 50.8544,
- "lon": -1.002
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "Singapore",
- "country": "Singapore",
- "countryCode": "SG",
- "lat": 1.32123,
- "lon": 103.695
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1169,
- "lon": 8.6837
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1103,
- "lon": 8.7147
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403
- },
- {
- "city": "Seattle",
- "country": "United States",
- "countryCode": "US",
- "lat": 47.3066,
- "lon": -122.2619
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Limerick",
- "country": "Ireland",
- "countryCode": "IE",
- "lat": 52.6669,
- "lon": -8.6274
- },
- {
- "city": "Portsmouth",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 50.8544,
- "lon": -1.002
- },
- {
- "city": "Portsmouth",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 50.8544,
- "lon": -1.002
- },
- {
- "city": "Portsmouth",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 50.8544,
- "lon": -1.002
- },
- {
- "city": "Singapore",
- "country": "Singapore",
- "countryCode": "SG",
- "lat": 1.32123,
- "lon": 103.695
- },
- {
- "city": "Portsmouth",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 50.8544,
- "lon": -1.002
- },
- {
- "city": "Falkenstein",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.4777,
- "lon": 12.3649
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403
- },
- {
- "city": "Helsinki",
- "country": "Finland",
- "countryCode": "FI",
- "lat": 60.1797,
- "lon": 24.9344
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1169,
- "lon": 8.6837
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1169,
- "lon": 8.6837
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Paris",
- "country": "France",
- "countryCode": "FR",
- "lat": 48.8323,
- "lon": 2.4075
- },
- {
- "city": "Newcastle upon Tyne",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 54.9958,
- "lon": -1.6897
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "Sneek",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 53.0366,
- "lon": 5.6858
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Nuremberg",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 49.405,
- "lon": 11.1617
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1169,
- "lon": 8.6837
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Singapore",
- "country": "Singapore",
- "countryCode": "SG",
- "lat": 1.32123,
- "lon": 103.695
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1169,
- "lon": 8.6837
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1169,
- "lon": 8.6837
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1169,
- "lon": 8.6837
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392
- },
- {
- "city": "Singapore",
- "country": "Singapore",
- "countryCode": "SG",
- "lat": 1.32123,
- "lon": 103.695
- },
- {
- "city": "Singapore",
- "country": "Singapore",
- "countryCode": "SG",
- "lat": 1.32123,
- "lon": 103.695
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962
- },
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247
- }
-]
diff --git a/explorer/src/lib/mock-data/api-stats.json b/explorer/src/lib/mock-data/api-stats.json
deleted file mode 100644
index bbe785936f..0000000000
--- a/explorer/src/lib/mock-data/api-stats.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "tps": 12,
- "hostlist": 23,
- "activeProvisioners": 945,
- "activeStake": 58226174026663410,
- "waitingProvisioners": 34,
- "waitingStake": 2573278329709436,
- "lastBlock": 487596,
- "txCount": {
- "public": 13742,
- "shielded": 2621,
- "total": 16363
- }
-}
diff --git a/explorer/src/lib/mock-data/enriched-provisioners.json b/explorer/src/lib/mock-data/enriched-provisioners.json
deleted file mode 100644
index 2906632f47..0000000000
--- a/explorer/src/lib/mock-data/enriched-provisioners.json
+++ /dev/null
@@ -1,3426 +0,0 @@
-[
- {
- "amount": 1000000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "n3qToJrMkYCnUkJkFG2a7fEVn2Krj6arVUfuQbZNRk4gcDPQ9jESngvKQGZ4XToGAhS4qFsGzJtiZzDJ5E9TyYA5SZcCJGYfi5cZWBJkzmAmwiScS256TCMZZjmEq6aNuj6",
- "locked_amt": 0,
- "reward": 12178759788262,
- "owner": {
- "Account": "n3qToJrMkYCnUkJkFG2a7fEVn2Krj6arVUfuQbZNRk4gcDPQ9jESngvKQGZ4XToGAhS4qFsGzJtiZzDJ5E9TyYA5SZcCJGYfi5cZWBJkzmAmwiScS256TCMZZjmEq6aNuj6"
- },
- "rank": 1,
- "ownerType": "Account",
- "ownerAddress": "n3qToJrMkYCnUkJkFG2a7fEVn2Krj6arVUfuQbZNRk4gcDPQ9jESngvKQGZ4XToGAhS4qFsGzJtiZzDJ5E9TyYA5SZcCJGYfi5cZWBJkzmAmwiScS256TCMZZjmEq6aNuj6",
- "hasSeparateOwner": false
- },
- {
- "amount": 510000000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "s9mQHPDuKiUwomr7k6S3mmeqd8rwpXENtvmCY7f9ndukC4VQH385ePgzHdiw6vWoJX7ee1oZEFSYXXZtVr4326XmZrkTbranxdYz89Vrd1HMfX2f3uis4hi33XxiM4ksRbH",
- "locked_amt": 0,
- "reward": 780152437445,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 2,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 505000000000000,
- "eligibility": 38880,
- "faults": 0,
- "hard_faults": 0,
- "key": "sX4JooVNAFov3Xx9cfZHtRemijsggdRKrywC14jfGyZn5k2wupNvyY9ZLu7YTuh3CpuyKsftbmzYPzdgptG6Rq9UayDXeaPwFHanmXpUqGdTyEvw5Cb3UqGEqfCFZMqQhtz",
- "locked_amt": 0,
- "reward": 2063426446466,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 3,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 504000000000000,
- "eligibility": 15120,
- "faults": 0,
- "hard_faults": 0,
- "key": "scRkV9xaMCNTsjEx2mwDABavD5exRSNAyCnTZT9hYi2HGKPRAYhqzff5BmdsXgqaYRxgSxkyiDUBFiyHGhuHxMC2R5ztdmG8QUe6jBXsyFMJoGx6H9faXfyA2XwXrJMpbfo",
- "locked_amt": 0,
- "reward": 5190546947071,
- "owner": {
- "Account": "scRkV9xaMCNTsjEx2mwDABavD5exRSNAyCnTZT9hYi2HGKPRAYhqzff5BmdsXgqaYRxgSxkyiDUBFiyHGhuHxMC2R5ztdmG8QUe6jBXsyFMJoGx6H9faXfyA2XwXrJMpbfo"
- },
- "rank": 4,
- "ownerType": "Account",
- "ownerAddress": "scRkV9xaMCNTsjEx2mwDABavD5exRSNAyCnTZT9hYi2HGKPRAYhqzff5BmdsXgqaYRxgSxkyiDUBFiyHGhuHxMC2R5ztdmG8QUe6jBXsyFMJoGx6H9faXfyA2XwXrJMpbfo",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "m6dy2gz3jC3ifLpZmdTaZbgcptWxRrfnQEZ8hG8ewhopKXTcCTnTqs4UeucXFkcSuFMfTqMzT1Go6KfNkuFvJPvsrvp5vKxEccuJNUgMi1uSCne1ti5kgYeNHtW82FWtnpf",
- "locked_amt": 0,
- "reward": 7121257296087,
- "owner": {
- "Account": "m6dy2gz3jC3ifLpZmdTaZbgcptWxRrfnQEZ8hG8ewhopKXTcCTnTqs4UeucXFkcSuFMfTqMzT1Go6KfNkuFvJPvsrvp5vKxEccuJNUgMi1uSCne1ti5kgYeNHtW82FWtnpf"
- },
- "rank": 5,
- "ownerType": "Account",
- "ownerAddress": "m6dy2gz3jC3ifLpZmdTaZbgcptWxRrfnQEZ8hG8ewhopKXTcCTnTqs4UeucXFkcSuFMfTqMzT1Go6KfNkuFvJPvsrvp5vKxEccuJNUgMi1uSCne1ti5kgYeNHtW82FWtnpf",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "m9dVuRgr3CQX5P5Fxh2t68QRhRFBZFWroUM9Do77Xusc6ZuJHfj4xhPokm62bFXw8WrA2Lq7dkJcFSEGHKBvVxJ2TmZBJKBBjzhEXtCP7UmZ9qF734nJJhb2f94r33pFQyz",
- "locked_amt": 0,
- "reward": 6923840604194,
- "owner": {
- "Account": "m9dVuRgr3CQX5P5Fxh2t68QRhRFBZFWroUM9Do77Xusc6ZuJHfj4xhPokm62bFXw8WrA2Lq7dkJcFSEGHKBvVxJ2TmZBJKBBjzhEXtCP7UmZ9qF734nJJhb2f94r33pFQyz"
- },
- "rank": 6,
- "ownerType": "Account",
- "ownerAddress": "m9dVuRgr3CQX5P5Fxh2t68QRhRFBZFWroUM9Do77Xusc6ZuJHfj4xhPokm62bFXw8WrA2Lq7dkJcFSEGHKBvVxJ2TmZBJKBBjzhEXtCP7UmZ9qF734nJJhb2f94r33pFQyz",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mTgXDqkyVacn7zCgoJfk7rKMVbvKhxfG1WD3jcXaXXdmUwiDouhYvGTGgVtYqW7MsvbKYtpFMKDRkJNJ5BWRvkP8TLHf2uz1XUuPU7cnz5nRE4uXaAhpCPPSjgAseybAsfU",
- "locked_amt": 0,
- "reward": 7518756679536,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 7,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mUUpjnXow2LHwm8a65cJsckTeQz55mRem6Vzo5VjZDbANnCoDKAFWESLiAPx6WUYcuosbSpYSoRm21amChNuLu3gqA2zo9VXdPNYNkfq8pxrsre7jNbLdDocqSfzQcywzaW",
- "locked_amt": 0,
- "reward": 7653541671166,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 8,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mXKJ97xTtrSPzxWHBKPurUpehP1yPywcPVw554CCFhMtEL4Vh6jQTmFgqQD416xScqwEix5NCQwfQ9BAh1pkp3Fae6BTG5FxGyMEiP3VDzeUPuXjqaC9dp6H7JgkCK2o7x4",
- "locked_amt": 0,
- "reward": 7512060104659,
- "owner": {
- "Account": "mXKJ97xTtrSPzxWHBKPurUpehP1yPywcPVw554CCFhMtEL4Vh6jQTmFgqQD416xScqwEix5NCQwfQ9BAh1pkp3Fae6BTG5FxGyMEiP3VDzeUPuXjqaC9dp6H7JgkCK2o7x4"
- },
- "rank": 9,
- "ownerType": "Account",
- "ownerAddress": "mXKJ97xTtrSPzxWHBKPurUpehP1yPywcPVw554CCFhMtEL4Vh6jQTmFgqQD416xScqwEix5NCQwfQ9BAh1pkp3Fae6BTG5FxGyMEiP3VDzeUPuXjqaC9dp6H7JgkCK2o7x4",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mdXsA3Ee1YDt1aTcvUg7AKpzTKgJBoUDpvSRYmtZhM85dLBZN6VPYDd4BzFxLMo3RA2XKEc7t3nfipBcKQHbgpCqSZTZEZz8ohhMzqjDfvepuR9FPWCcJQfDwK8VZPimZ2J",
- "locked_amt": 0,
- "reward": 7973118109253,
- "owner": {
- "Account": "mdXsA3Ee1YDt1aTcvUg7AKpzTKgJBoUDpvSRYmtZhM85dLBZN6VPYDd4BzFxLMo3RA2XKEc7t3nfipBcKQHbgpCqSZTZEZz8ohhMzqjDfvepuR9FPWCcJQfDwK8VZPimZ2J"
- },
- "rank": 10,
- "ownerType": "Account",
- "ownerAddress": "mdXsA3Ee1YDt1aTcvUg7AKpzTKgJBoUDpvSRYmtZhM85dLBZN6VPYDd4BzFxLMo3RA2XKEc7t3nfipBcKQHbgpCqSZTZEZz8ohhMzqjDfvepuR9FPWCcJQfDwK8VZPimZ2J",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mdca2ea2KpRZaW6s6NkYAY29wbprGPGGo8MmB812HxUXcvb8dDDE8J4GjN9VH9FbB8GJdohgFKoK2oDFLyL5cCsDtPU1maWw1o7Xnzo7uHBPg8MmRfxyBCUVRji7SxM2zBD",
- "locked_amt": 0,
- "reward": 7091398997002,
- "owner": {
- "Account": "mdca2ea2KpRZaW6s6NkYAY29wbprGPGGo8MmB812HxUXcvb8dDDE8J4GjN9VH9FbB8GJdohgFKoK2oDFLyL5cCsDtPU1maWw1o7Xnzo7uHBPg8MmRfxyBCUVRji7SxM2zBD"
- },
- "rank": 11,
- "ownerType": "Account",
- "ownerAddress": "mdca2ea2KpRZaW6s6NkYAY29wbprGPGGo8MmB812HxUXcvb8dDDE8J4GjN9VH9FbB8GJdohgFKoK2oDFLyL5cCsDtPU1maWw1o7Xnzo7uHBPg8MmRfxyBCUVRji7SxM2zBD",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mgmcqkk1VFfsa1ko7ydBjhVuM9WuVFDGby9JthvDWsKX9kyqdNeqrSzbW1ccQ19sVfbHgVzfYwdGLipYdPcU4ZD5CjsbRmzZeEQ3WBZHUcEWDB1wsvV5avoC2xddxLvEDVP",
- "locked_amt": 0,
- "reward": 7373189839389,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 12,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "n2DPucZgNznPCfhRfAS8aHQUktJYZ99wAUcYM5Qijs7XyENoF6w1bzHuHdX9duEcZTX1X7o7tX9UkFF35AE8JzdbGqN5zYNAnyGJXVogBzbDNKwS6GhaRRR9f95PUxRwtD1",
- "locked_amt": 0,
- "reward": 7127318018509,
- "owner": {
- "Account": "n2DPucZgNznPCfhRfAS8aHQUktJYZ99wAUcYM5Qijs7XyENoF6w1bzHuHdX9duEcZTX1X7o7tX9UkFF35AE8JzdbGqN5zYNAnyGJXVogBzbDNKwS6GhaRRR9f95PUxRwtD1"
- },
- "rank": 13,
- "ownerType": "Account",
- "ownerAddress": "n2DPucZgNznPCfhRfAS8aHQUktJYZ99wAUcYM5Qijs7XyENoF6w1bzHuHdX9duEcZTX1X7o7tX9UkFF35AE8JzdbGqN5zYNAnyGJXVogBzbDNKwS6GhaRRR9f95PUxRwtD1",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "nV71a9Hec6jeXVFkUN6JvgiLDTucp1R4g6GewvnL7nYLbRrcxuPtFHt2PNjApDaLXLKTBEEwMdefjnQgKtBFaJAtA1jxkF9K2EKW1nBea26cHcvb326rbXNgYA4pNWv4roh",
- "locked_amt": 0,
- "reward": 6731430572710,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 14,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "nXqyaSYaTas47KNqNwVtpNyfCsTmvYMQ2bXcmtpVbiuMLn9NsE7SwsJFq1bLh9jtwRSN7Wkg7h53DV1DSdEPnD3dwsMxy4hmYaiRmeqGw9z6tpqYcyaGWjURkQpLqoCPDeD",
- "locked_amt": 0,
- "reward": 7428022676833,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 15,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "ngmrqKGVX91c5aAWjzpEhfGdTdMkfSacDvZRR43Ptu4whfW2yzJvy7UwzK4dBfUhn5o2eLnZWyoaJwuaTn9eDSUN8WtaULRr6v8dW7qRqUowdeJKLbmNXszxRgbBYoTgYKw",
- "locked_amt": 0,
- "reward": 7106713975923,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 16,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "nkKb7ixLVJULE9WFufo5hb11Ggt9ako3tabHesmfTb1uDDHGscKKcSn4Cid8mbnFuRfJurrDwdi7ZPMUfDR5jkWMMC4GqBPaNU7Fka5LJhjQQmJVqmJXrbTMRMijWvB1p3Y",
- "locked_amt": 0,
- "reward": 7285963056286,
- "owner": {
- "Account": "nkKb7ixLVJULE9WFufo5hb11Ggt9ako3tabHesmfTb1uDDHGscKKcSn4Cid8mbnFuRfJurrDwdi7ZPMUfDR5jkWMMC4GqBPaNU7Fka5LJhjQQmJVqmJXrbTMRMijWvB1p3Y"
- },
- "rank": 17,
- "ownerType": "Account",
- "ownerAddress": "nkKb7ixLVJULE9WFufo5hb11Ggt9ako3tabHesmfTb1uDDHGscKKcSn4Cid8mbnFuRfJurrDwdi7ZPMUfDR5jkWMMC4GqBPaNU7Fka5LJhjQQmJVqmJXrbTMRMijWvB1p3Y",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "nvdsjA8biVgXQc7fFYxJwZAY7AM1wc8YqYNQ5fFe8NYQZnVHSRny6yQadz5MNXzsCYhcFHDAGqrgVRDKoPNN41Z2bwy57SZwCXSBrx3SnjVbefrRXzXAEuHMfUEBBtq8gzH",
- "locked_amt": 0,
- "reward": 6683887630176,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 18,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "o6Ckan2efbGTbJRSgzM9vwK5z4fTY5AFr3WqWTRNVL8dsXxEBkEqa4wsHs6g3ARWZovFVEkV3r1HJZbhLWK2vC8xBarMRKifta7xZNeprb5xUFpjeS3ekF9VBsnKPbwTtP1",
- "locked_amt": 0,
- "reward": 7033101699593,
- "owner": {
- "Account": "o6Ckan2efbGTbJRSgzM9vwK5z4fTY5AFr3WqWTRNVL8dsXxEBkEqa4wsHs6g3ARWZovFVEkV3r1HJZbhLWK2vC8xBarMRKifta7xZNeprb5xUFpjeS3ekF9VBsnKPbwTtP1"
- },
- "rank": 19,
- "ownerType": "Account",
- "ownerAddress": "o6Ckan2efbGTbJRSgzM9vwK5z4fTY5AFr3WqWTRNVL8dsXxEBkEqa4wsHs6g3ARWZovFVEkV3r1HJZbhLWK2vC8xBarMRKifta7xZNeprb5xUFpjeS3ekF9VBsnKPbwTtP1",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "oUgxBUWEPyFAekXW9T2UdJBcMF7xAuBfstrCX8ATXFk7MusqddFGoq2LN9euCbwVuXpSM5rGLKNUb6NVPFUVM5g4pA6CnXjNfNVBiy91NcH9eBVcdcG1eYUaKWQSYQ9t2um",
- "locked_amt": 0,
- "reward": 7692155365422,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 20,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "oXYZWNZwxdDnd4e8qUE9gQUzcAZ1NzcBuhj9bjKi3kE7doyRJ4ixeoerFU8eM8v98C9gmFK2vJ67MdocCKKEexUXnoyyjUWYuNyoWQXJKGPK5EaZYo45Up2y2dqTG56KMqH",
- "locked_amt": 0,
- "reward": 7080100061688,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 21,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "oZR6eDvW1ZQeqqDeegV9eaWMsxmVeWkugNfisTNUkiD8ecHpQbEHPSn6knvCsjxS94t93Pig9JpjZ5zQrujdtWhJvFpGiLFWFpCThrJhCFpAa4jZjKkPwAZCwQSoeehg64r",
- "locked_amt": 0,
- "reward": 7149826226361,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 22,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "ord8D9WF21NPJmaDc3hN9wLnqRTcNsLwFVwUNZW9JuYmQhpbotxrBKXD25M4w76GXbTRS8nmr8y9jmriaw5tp2yhXLBHL47DK6S2eug2P3K5fYgCcJHEU2suaM8SaCTaek5",
- "locked_amt": 0,
- "reward": 7355095596398,
- "owner": {
- "Account": "ord8D9WF21NPJmaDc3hN9wLnqRTcNsLwFVwUNZW9JuYmQhpbotxrBKXD25M4w76GXbTRS8nmr8y9jmriaw5tp2yhXLBHL47DK6S2eug2P3K5fYgCcJHEU2suaM8SaCTaek5"
- },
- "rank": 23,
- "ownerType": "Account",
- "ownerAddress": "ord8D9WF21NPJmaDc3hN9wLnqRTcNsLwFVwUNZW9JuYmQhpbotxrBKXD25M4w76GXbTRS8nmr8y9jmriaw5tp2yhXLBHL47DK6S2eug2P3K5fYgCcJHEU2suaM8SaCTaek5",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pFPEcfxidLvwmFKRQoifrSyWmmVY9UDEThoRFvGXddXRLZ8hB7xfWDYQYwHhTvZvXeL1p5Ygcnsuuxm1X8nHFJH6tEgK3cS76squcFVFSejaKJGMorYZdTup5uscNq6eDU2",
- "locked_amt": 0,
- "reward": 7079306672353,
- "owner": {
- "Account": "pFPEcfxidLvwmFKRQoifrSyWmmVY9UDEThoRFvGXddXRLZ8hB7xfWDYQYwHhTvZvXeL1p5Ygcnsuuxm1X8nHFJH6tEgK3cS76squcFVFSejaKJGMorYZdTup5uscNq6eDU2"
- },
- "rank": 24,
- "ownerType": "Account",
- "ownerAddress": "pFPEcfxidLvwmFKRQoifrSyWmmVY9UDEThoRFvGXddXRLZ8hB7xfWDYQYwHhTvZvXeL1p5Ygcnsuuxm1X8nHFJH6tEgK3cS76squcFVFSejaKJGMorYZdTup5uscNq6eDU2",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pSnJHur5tnA4V88MGPBDCfPYSfSCGynJmbycW5mNeisABxgmZLErnfLuS5vvC6hBD3NKFvdCBhmNv5H8EzTAd5ApavNZeCoautkCDW4KUB8Ey6LNyHGCX19j9TLG8kPdKhf",
- "locked_amt": 0,
- "reward": 7141960968070,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 25,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pSy8VbEwv2v3B75yVkYLYsVjxhYbpNbKDnYwnBbrfqNPfYGUWj6SfDwnx9BKA8QWMGZCnKqWVv37USgZoEJppXZe37rb4qeBodQ3vqXLEqw1F7VaFpvN89pzZYpBEqqiQG9",
- "locked_amt": 0,
- "reward": 7027190914970,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 26,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pWf1wuUow5H95WxYtySqYMbzwY1xVS1FAj8WPXieuSBsYMgDJXNXzkHYhGLDW8v6J7qHNW5x5MSvyyvNLzUAJKsEr7udT4DDYZuUELERe2Q8jdR4a5t7rFpa7KQEJhf6bZb",
- "locked_amt": 0,
- "reward": 7256725536779,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 27,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pjsbtm6iNLBbMNG4FBGqggEFsiF8Y1DUUYb9J3KYeeQmoVUoSNfRhztzQQds2NLZYgWDGuXnQ3mLtZDK7MxNnQmEY98hdjfTWyGAigTRC9aizgF8WFo7it6ySQQ9fF9Rhea",
- "locked_amt": 0,
- "reward": 7765311539016,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 28,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "prV8r1A5oHHyMGuqvsyVP4eMfaqbYYtzKvfV6phwHMBNKaDnRCy4ntC81QGGS1dUDyqu6EuNamAEHZpR5cWWQkHvABrADkXs1fDbNqKtisEAnVjBj46iDJdQ7ck4vGs69Td",
- "locked_amt": 0,
- "reward": 6947252201599,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 29,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "q3e51AKaDByuyB1nM9fYpcgafrmZ52T3caoMkVD1iDcLQJaXUcSpNEiwvuTs6hc4EcMubf2wp3axfkGZgkgBG3FYZ4eaHxeB1gDbEWS6V2pPBrqitRXisURnNRnKk9T841F",
- "locked_amt": 0,
- "reward": 6998409757231,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 30,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qHeUtHGi27ZRFHyBimKF6fHCy8B3mr2VShAkfk2ifkb8HAwD8Gr7Zrq96F9s5G4VWFUSbaUVcCBnExnumHeoQqfjRp52CRfzXDzkBevUG2CVtGqUvGGV1DxsDAEXHhCyXbX",
- "locked_amt": 0,
- "reward": 6938110125794,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 31,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qWpfeFB4BB6RLCWdAaeHcq84BfeXKFh3woQFUCGc2wnCMyh5bnzofBMxm63Ns6fe6QuFUmRj7reyJVy958pwb9h4yCh97QfkKvmgtdyDxamD1UkeX9Y55wRGTSgdugosLLc",
- "locked_amt": 0,
- "reward": 6554033459794,
- "owner": {
- "Account": "qWpfeFB4BB6RLCWdAaeHcq84BfeXKFh3woQFUCGc2wnCMyh5bnzofBMxm63Ns6fe6QuFUmRj7reyJVy958pwb9h4yCh97QfkKvmgtdyDxamD1UkeX9Y55wRGTSgdugosLLc"
- },
- "rank": 32,
- "ownerType": "Account",
- "ownerAddress": "qWpfeFB4BB6RLCWdAaeHcq84BfeXKFh3woQFUCGc2wnCMyh5bnzofBMxm63Ns6fe6QuFUmRj7reyJVy958pwb9h4yCh97QfkKvmgtdyDxamD1UkeX9Y55wRGTSgdugosLLc",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qXCkaKuFChiPXXzU8Zz4RHNAygDmHFBSbBiCFhtiqMtVXdhv7DbiUtFjoyaEFvfDuH2yJ92Lbbydyg1onghEi79HcVfMxwJksAFPJk3qgXFGutvWv5JCMPmujTkwY1MdMfv",
- "locked_amt": 0,
- "reward": 7171782082614,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 33,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qe2tbCK8cBBwPLEwGNWmaJWx5cZ6Gkf4mUAdbPU16PMa7GkuMQFBg1JK77qXo8oQHhJM59Yr3xoSUdBKNgeQXGPybd13pyDWTNCjTXoa4fsg8G6nYb4vHKHngPy4fAg9WuA",
- "locked_amt": 0,
- "reward": 6742685385399,
- "owner": {
- "Account": "qe2tbCK8cBBwPLEwGNWmaJWx5cZ6Gkf4mUAdbPU16PMa7GkuMQFBg1JK77qXo8oQHhJM59Yr3xoSUdBKNgeQXGPybd13pyDWTNCjTXoa4fsg8G6nYb4vHKHngPy4fAg9WuA"
- },
- "rank": 34,
- "ownerType": "Account",
- "ownerAddress": "qe2tbCK8cBBwPLEwGNWmaJWx5cZ6Gkf4mUAdbPU16PMa7GkuMQFBg1JK77qXo8oQHhJM59Yr3xoSUdBKNgeQXGPybd13pyDWTNCjTXoa4fsg8G6nYb4vHKHngPy4fAg9WuA",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qier5uHrps512yKXMiLXL319rT5dzwu7yeEfKi6ze5w6kCM2DMfdtW7TqcXdzPZhAB3tNAZ1Hv7Q2pARF6hnyusjdxVwN4zLoPQS3wsGMZopVXKXUqm3DySD9kzqQQFej4c",
- "locked_amt": 0,
- "reward": 7324165325785,
- "owner": {
- "Account": "qier5uHrps512yKXMiLXL319rT5dzwu7yeEfKi6ze5w6kCM2DMfdtW7TqcXdzPZhAB3tNAZ1Hv7Q2pARF6hnyusjdxVwN4zLoPQS3wsGMZopVXKXUqm3DySD9kzqQQFej4c"
- },
- "rank": 35,
- "ownerType": "Account",
- "ownerAddress": "qier5uHrps512yKXMiLXL319rT5dzwu7yeEfKi6ze5w6kCM2DMfdtW7TqcXdzPZhAB3tNAZ1Hv7Q2pARF6hnyusjdxVwN4zLoPQS3wsGMZopVXKXUqm3DySD9kzqQQFej4c",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qqoRXtqcJux5mNH5UaWp2WVdqg8xmAS9PfPUKLdEt24HKcj4SazPx59ctn23M1FskJBhxFBfnuwbrsDjRRJxEZynZLSaj6L4JUuGXMrtfFyxzL9mEUuWrjNk3egCTRkbz3Y",
- "locked_amt": 0,
- "reward": 6915066298205,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 36,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qsT2E4s538wm9c2L53aXyNEzm5hNdyJ1zbD2jRs5hQZXVu55hD5nLVTNi8URnDcCaT14mNUdQTqQt7krWPjHeGxCjKyyQcdTpcHDzJjwMeAdHNRbUoWgoXzrFeEym48TRUM",
- "locked_amt": 0,
- "reward": 6968405512419,
- "owner": {
- "Account": "qsT2E4s538wm9c2L53aXyNEzm5hNdyJ1zbD2jRs5hQZXVu55hD5nLVTNi8URnDcCaT14mNUdQTqQt7krWPjHeGxCjKyyQcdTpcHDzJjwMeAdHNRbUoWgoXzrFeEym48TRUM"
- },
- "rank": 37,
- "ownerType": "Account",
- "ownerAddress": "qsT2E4s538wm9c2L53aXyNEzm5hNdyJ1zbD2jRs5hQZXVu55hD5nLVTNi8URnDcCaT14mNUdQTqQt7krWPjHeGxCjKyyQcdTpcHDzJjwMeAdHNRbUoWgoXzrFeEym48TRUM",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "r8bBMqBn483hgwLsNJy4Ck3oVFTxdU7br2RKT7UGWcPbaUoMxv6V3qUtYdzwkeWhVgRa3AfLTDZ96xu93XM5YwwvHHqUnGVESBkhBPNuRnwmNyUema2bykezc2BaJe9EpNb",
- "locked_amt": 0,
- "reward": 6886237514739,
- "owner": {
- "Account": "r8bBMqBn483hgwLsNJy4Ck3oVFTxdU7br2RKT7UGWcPbaUoMxv6V3qUtYdzwkeWhVgRa3AfLTDZ96xu93XM5YwwvHHqUnGVESBkhBPNuRnwmNyUema2bykezc2BaJe9EpNb"
- },
- "rank": 38,
- "ownerType": "Account",
- "ownerAddress": "r8bBMqBn483hgwLsNJy4Ck3oVFTxdU7br2RKT7UGWcPbaUoMxv6V3qUtYdzwkeWhVgRa3AfLTDZ96xu93XM5YwwvHHqUnGVESBkhBPNuRnwmNyUema2bykezc2BaJe9EpNb",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "rSGm1CeKgLT7SeUWitc6XWMueHfcC1mg5ozjB2jWMANMuVUYze2b2k2mDYSoXqVL4ia5KUs3uyKWczDSMK4LGoBwWBewP22L2JeJMpbN9eZ39yG5AUfRKAvi78yGfXqeid4",
- "locked_amt": 0,
- "reward": 6870853163373,
- "owner": {
- "Account": "rSGm1CeKgLT7SeUWitc6XWMueHfcC1mg5ozjB2jWMANMuVUYze2b2k2mDYSoXqVL4ia5KUs3uyKWczDSMK4LGoBwWBewP22L2JeJMpbN9eZ39yG5AUfRKAvi78yGfXqeid4"
- },
- "rank": 39,
- "ownerType": "Account",
- "ownerAddress": "rSGm1CeKgLT7SeUWitc6XWMueHfcC1mg5ozjB2jWMANMuVUYze2b2k2mDYSoXqVL4ia5KUs3uyKWczDSMK4LGoBwWBewP22L2JeJMpbN9eZ39yG5AUfRKAvi78yGfXqeid4",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "rThKGgPJkxRHUL9qCA97K6pW3RPDqprYjLHZiEb42bLYYPSxsbwd9pWFNdqKVZVhW7VtKA85gCs7SdwkENhTjhEvTe4NkYVEhBSpeuG5DdVBMm3mYf5gQvNKKiWhE29r5rV",
- "locked_amt": 0,
- "reward": 7893306567778,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 40,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "rdHa4H5p1rVtQyqD5AjDHyr1EGg7yVU1wynqQ9VRqU8Wp7kMcePsSk2tURGzRLnzS36CaKEadpfRGwa3ucvFH5MEGYvF1LAqSQQT3zE1Fx7wQzYsrvDpJ44bBa6dKxN6mTC",
- "locked_amt": 0,
- "reward": 6336840178975,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 41,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "rvXLHF8DBNwzZ63uSWPki3y7uNgGbdRCrKpouEP9N7awiGBDaP1uzyrtLBDtFbNgw8bPNjbyMsfAsNutZKnuX8JXzMiFvpW9vK4c2zmAmk3RygzwiFGCVJ9KSU7b4bgC1UT",
- "locked_amt": 0,
- "reward": 6877531223603,
- "owner": {
- "Account": "rvXLHF8DBNwzZ63uSWPki3y7uNgGbdRCrKpouEP9N7awiGBDaP1uzyrtLBDtFbNgw8bPNjbyMsfAsNutZKnuX8JXzMiFvpW9vK4c2zmAmk3RygzwiFGCVJ9KSU7b4bgC1UT"
- },
- "rank": 42,
- "ownerType": "Account",
- "ownerAddress": "rvXLHF8DBNwzZ63uSWPki3y7uNgGbdRCrKpouEP9N7awiGBDaP1uzyrtLBDtFbNgw8bPNjbyMsfAsNutZKnuX8JXzMiFvpW9vK4c2zmAmk3RygzwiFGCVJ9KSU7b4bgC1UT",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "sMnHcRLM2BTKDLrJUDcTQPAE7NhkNDS3v986rmV2eZJF5RRqtDJQya2RnLTN8vBodfHrqxVeVpFG2MEbta6YmNfokSn135rYhAvnmDwPL1nd3Uq3iwqih5hNBpiGK7HY9D1",
- "locked_amt": 0,
- "reward": 7611295592578,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 43,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "sVmcJnhKJDfm8wzVjyeLhxi9RjcabEagJLnQoS6BXV6VvQ1GHpnyTPJBJbwCbG5igWn49UdMQtroxr2pGggh2FbXtyUbKqWexyK5LGgFn5QS4FesdFbnbcWf2bYkx6vDeDM",
- "locked_amt": 0,
- "reward": 7206376600867,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 44,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "shAky1Dnjxdhy1HsJRC17hgFw7YmT8PSdobce73k3ANmJWaDmycRyqruoxoxKoaVpudkCY4ENSgrkEoUgfG9xBa77jULgpDcWvYNLFQfWsA2bSFbooCJhZTHyGLyNQC73os",
- "locked_amt": 0,
- "reward": 8055884278776,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 45,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "shB6W4UWipm3JQQgmbkC4Xy3CEvtyz4FL3QBpYUb5aRr4UspY4ezzq6XzoYENZgaf6p2j3xrtLuWNGcYhNU1jUdi9hS62bvCctoiqNNVdx1dXLJHyndHyT97Cww6Kmyr5r9",
- "locked_amt": 0,
- "reward": 7360588042631,
- "owner": {
- "Account": "shB6W4UWipm3JQQgmbkC4Xy3CEvtyz4FL3QBpYUb5aRr4UspY4ezzq6XzoYENZgaf6p2j3xrtLuWNGcYhNU1jUdi9hS62bvCctoiqNNVdx1dXLJHyndHyT97Cww6Kmyr5r9"
- },
- "rank": 46,
- "ownerType": "Account",
- "ownerAddress": "shB6W4UWipm3JQQgmbkC4Xy3CEvtyz4FL3QBpYUb5aRr4UspY4ezzq6XzoYENZgaf6p2j3xrtLuWNGcYhNU1jUdi9hS62bvCctoiqNNVdx1dXLJHyndHyT97Cww6Kmyr5r9",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "soPdMsNykSsrLcmHGBGfiajFNc5kJ7SheMEapCu9zjnTyiFaJLc2MTeq8ZQ9R91dgxFQJjkybY2ETgTU5Xv3J9RhoHqzNVnBCty5s2W87UdntXWiSSWPEEpXYrun5Pw7eML",
- "locked_amt": 0,
- "reward": 7351299597267,
- "owner": {
- "Account": "soPdMsNykSsrLcmHGBGfiajFNc5kJ7SheMEapCu9zjnTyiFaJLc2MTeq8ZQ9R91dgxFQJjkybY2ETgTU5Xv3J9RhoHqzNVnBCty5s2W87UdntXWiSSWPEEpXYrun5Pw7eML"
- },
- "rank": 47,
- "ownerType": "Account",
- "ownerAddress": "soPdMsNykSsrLcmHGBGfiajFNc5kJ7SheMEapCu9zjnTyiFaJLc2MTeq8ZQ9R91dgxFQJjkybY2ETgTU5Xv3J9RhoHqzNVnBCty5s2W87UdntXWiSSWPEEpXYrun5Pw7eML",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "suRcCj2X2THo8mFFYrjhS4bbo45RDeT59VJi1rWoq1ZEz9Xx9CyiqMsz9oWhNhr6g71aPWrBtwMJR6oxxhmvfNxy1Sd5Q4VgMWmmBAfwnUabaX6itEmVv9fbGigFyNtSGvR",
- "locked_amt": 0,
- "reward": 7514873489879,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 48,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "txesrFKYx2Ea7foBoBUNDj1rn1MjG8KREfZYNEb6UGg1k3KSBQdXr52Ayfemz1cEJ64AosipuGH5khnSXq87EcKP6uD2JrGb1NKdAgBELYkocXpbcmANd4VupWnVCPoecr1",
- "locked_amt": 0,
- "reward": 7493948476408,
- "owner": {
- "Account": "txesrFKYx2Ea7foBoBUNDj1rn1MjG8KREfZYNEb6UGg1k3KSBQdXr52Ayfemz1cEJ64AosipuGH5khnSXq87EcKP6uD2JrGb1NKdAgBELYkocXpbcmANd4VupWnVCPoecr1"
- },
- "rank": 49,
- "ownerType": "Account",
- "ownerAddress": "txesrFKYx2Ea7foBoBUNDj1rn1MjG8KREfZYNEb6UGg1k3KSBQdXr52Ayfemz1cEJ64AosipuGH5khnSXq87EcKP6uD2JrGb1NKdAgBELYkocXpbcmANd4VupWnVCPoecr1",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "u1bee5K2ZFCDr7Cp1wZRomLHM18TVRwqtMNTFYX8dojJRQMEmALMVceKo6n5P29U3H7eNkGoTwV8aPdgt1tHSgoyHqkvKdGebNp8wa6EsqF1JU3mQFKVzUbeWt3wvuGm3Lk",
- "locked_amt": 0,
- "reward": 7551922334029,
- "owner": {
- "Account": "u1bee5K2ZFCDr7Cp1wZRomLHM18TVRwqtMNTFYX8dojJRQMEmALMVceKo6n5P29U3H7eNkGoTwV8aPdgt1tHSgoyHqkvKdGebNp8wa6EsqF1JU3mQFKVzUbeWt3wvuGm3Lk"
- },
- "rank": 50,
- "ownerType": "Account",
- "ownerAddress": "u1bee5K2ZFCDr7Cp1wZRomLHM18TVRwqtMNTFYX8dojJRQMEmALMVceKo6n5P29U3H7eNkGoTwV8aPdgt1tHSgoyHqkvKdGebNp8wa6EsqF1JU3mQFKVzUbeWt3wvuGm3Lk",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "uDYKaU8SM5iriU88tWsR8Z7KbepmjiVubFLtetASuzEeBjwJZ5en4XuXjJTCZgHztK85gjS9que8njCebHGku9wnXzKbneYwx5xF1puiNF8XWRTcvDAta1ndsa4jAqGkWzm",
- "locked_amt": 0,
- "reward": 7391984635089,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 51,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "uSXgfWF1uhmxjmLaQPXhVY2NJt1UNUKf5xTGK5eCGF1kFtnhG2DwhYJGX4kowZScrJV37vEFDMPEzG4q2hsjBoSMbnMjz7qUWevKA5UP3MBZS45k6vcjHEF5GB5CeuafQwA",
- "locked_amt": 0,
- "reward": 7767772961486,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 52,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "ufX5NcUWXUKkaLYrdcUf9yxmSjWngrS8Y5ErGmzf56DjHUqeonr3oM4cLMsuFKfm88WS1b8FPVoMBoETnuoTkHZ4whwhsSEuQzuPMQZy5UjLV5u33vbe8sFgceaYnn5XVsd",
- "locked_amt": 0,
- "reward": 7235901395821,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 53,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "uvR72GsvbjCy2jCR6EKbfKpgUfHYQrphV6u915bQ3rHAEyPV5ows6QjtmoLS7NSvmJrBWgM7v92faivad82t3WDBB1ceUQmohNh6EBT2TiNALkwaMSzAzKziFEqUY67j9RU",
- "locked_amt": 0,
- "reward": 7414055592213,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 54,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xEXp8qBarpXnVD9DJHUj8ywkWPggbPmgsmGFFtGAuXd2EXwEiXiXJ6r4WqdjvTvpE7Fx42TpwnkrpFwdc5BphPu7LCQ3FPU1DMQ1WKoDCxeQVircgHKrFpWsCZ8VLrGCdWm",
- "locked_amt": 0,
- "reward": 7317990920949,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 55,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xLwzkFxrXetA74LSreTusgyv9Lh62tvHfL7jnuGmEdG7Aa9W7XLEDx7Ag968wjD8CyVncvsKVd6YXzrB6HdHVa1e7mYDVe6tDrmXiAatAnH3KphhPHzcPsEUQZzyhV2Emqt",
- "locked_amt": 0,
- "reward": 7495848393394,
- "owner": {
- "Account": "xLwzkFxrXetA74LSreTusgyv9Lh62tvHfL7jnuGmEdG7Aa9W7XLEDx7Ag968wjD8CyVncvsKVd6YXzrB6HdHVa1e7mYDVe6tDrmXiAatAnH3KphhPHzcPsEUQZzyhV2Emqt"
- },
- "rank": 56,
- "ownerType": "Account",
- "ownerAddress": "xLwzkFxrXetA74LSreTusgyv9Lh62tvHfL7jnuGmEdG7Aa9W7XLEDx7Ag968wjD8CyVncvsKVd6YXzrB6HdHVa1e7mYDVe6tDrmXiAatAnH3KphhPHzcPsEUQZzyhV2Emqt",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xWeLQPyUXo82pjvxmf5iZdr5itR7kWriTpMK47M5KkDYYtg6Vmtgt1D5DLgEDLfv8BuJjyuB4aDB9wM3NXcdEY4Y9wzJ87JKjGfY2XzZVvb6R3LcxWCmzRfBS1bSihu9af7",
- "locked_amt": 0,
- "reward": 7804360300347,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 57,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xc5LwKkUxzQ6Vhtd83Cuz5whAPfi8naDGvQPLhQPqmGGteZRGrfoH2QU3ZwGiy6xuviEfjpkdZNh69rJfg2L6PVgPBdaumX5AZT4N5Lyv9GAi1ZunJWQobKxXk2JGsWdZwU",
- "locked_amt": 0,
- "reward": 7016612133945,
- "owner": {
- "Account": "xc5LwKkUxzQ6Vhtd83Cuz5whAPfi8naDGvQPLhQPqmGGteZRGrfoH2QU3ZwGiy6xuviEfjpkdZNh69rJfg2L6PVgPBdaumX5AZT4N5Lyv9GAi1ZunJWQobKxXk2JGsWdZwU"
- },
- "rank": 58,
- "ownerType": "Account",
- "ownerAddress": "xc5LwKkUxzQ6Vhtd83Cuz5whAPfi8naDGvQPLhQPqmGGteZRGrfoH2QU3ZwGiy6xuviEfjpkdZNh69rJfg2L6PVgPBdaumX5AZT4N5Lyv9GAi1ZunJWQobKxXk2JGsWdZwU",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xqn4oFHyeUE46CJ7XZnaA6pFSqUt8EkoNjM1or4dyNigWpP9GfbH8Y5ps8PqCF5wcnfvjoBtM2gNrauB3EVATv6PnLPiGBp46eiNqrVcWWcFjNTwB5ggQ1cJQVdDXsoNi1S",
- "locked_amt": 0,
- "reward": 6996618997361,
- "owner": {
- "Account": "xqn4oFHyeUE46CJ7XZnaA6pFSqUt8EkoNjM1or4dyNigWpP9GfbH8Y5ps8PqCF5wcnfvjoBtM2gNrauB3EVATv6PnLPiGBp46eiNqrVcWWcFjNTwB5ggQ1cJQVdDXsoNi1S"
- },
- "rank": 59,
- "ownerType": "Account",
- "ownerAddress": "xqn4oFHyeUE46CJ7XZnaA6pFSqUt8EkoNjM1or4dyNigWpP9GfbH8Y5ps8PqCF5wcnfvjoBtM2gNrauB3EVATv6PnLPiGBp46eiNqrVcWWcFjNTwB5ggQ1cJQVdDXsoNi1S",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "y2axcZATs557zYzuuQSyyVDpV7jxR5th4YFy22o7bABByvXvybTGCUxfvsyaSsenZA5b1sYYdSLwYdjttnkx9wBpYhuTqy72xKSKhbJFwZwzmUEkpKCwT6pRXqgDV2BBFvC",
- "locked_amt": 0,
- "reward": 6946491986904,
- "owner": {
- "Account": "y2axcZATs557zYzuuQSyyVDpV7jxR5th4YFy22o7bABByvXvybTGCUxfvsyaSsenZA5b1sYYdSLwYdjttnkx9wBpYhuTqy72xKSKhbJFwZwzmUEkpKCwT6pRXqgDV2BBFvC"
- },
- "rank": 60,
- "ownerType": "Account",
- "ownerAddress": "y2axcZATs557zYzuuQSyyVDpV7jxR5th4YFy22o7bABByvXvybTGCUxfvsyaSsenZA5b1sYYdSLwYdjttnkx9wBpYhuTqy72xKSKhbJFwZwzmUEkpKCwT6pRXqgDV2BBFvC",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "yDiwuTDWV9WPeihhaToqHYijiwM5n84deh8Nn779WyNr9kGFcRLnHHkDTcVpzLaNSEa7b3DQQky6i72hvsrKJ2uFSsJQD37pokQKVokV4Q2q1p1aRPNRdSujfmcdMP3MBVS",
- "locked_amt": 0,
- "reward": 7008983973208,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 61,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "yjfKm8yE7SarRQuXYzt7RZ5EkFLZv67KfSiKarVhWsTdHiy3GGbmWF3KmYHvqVWaEGQoVQiP1A6vgrA7A3zt45Zc2zvht6q9REHkYLhFywmn7czjj897xXe7eTkj6itMx8X",
- "locked_amt": 0,
- "reward": 6986991787460,
- "owner": {
- "Account": "yjfKm8yE7SarRQuXYzt7RZ5EkFLZv67KfSiKarVhWsTdHiy3GGbmWF3KmYHvqVWaEGQoVQiP1A6vgrA7A3zt45Zc2zvht6q9REHkYLhFywmn7czjj897xXe7eTkj6itMx8X"
- },
- "rank": 62,
- "ownerType": "Account",
- "ownerAddress": "yjfKm8yE7SarRQuXYzt7RZ5EkFLZv67KfSiKarVhWsTdHiy3GGbmWF3KmYHvqVWaEGQoVQiP1A6vgrA7A3zt45Zc2zvht6q9REHkYLhFywmn7czjj897xXe7eTkj6itMx8X",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "yomfztR36C81wr31uZ5XZFvww6dfcFK2wBmvRsHnm3JVgF3XcCz6fs58Z3hfiFswux55xsVznuwMRq6Frk28FcJRrpvnsyT3pRNmuqq4mHFqvPYbSYk75BnC3dJX3DD76pC",
- "locked_amt": 0,
- "reward": 7020551562601,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 63,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "z96tDWGGF4cuTrQLZgLnuBos4VAMfUP3qYJ4A4mHWoEZWi5cC2P6hNgC5b9LiWLaWTYseda3teKrTvEjCsr3aPVDdLyhgrMshuJX8KPy4yZks5YZRt5JHNxM4fh7fX8fgTw",
- "locked_amt": 0,
- "reward": 7454220423464,
- "owner": {
- "Account": "z96tDWGGF4cuTrQLZgLnuBos4VAMfUP3qYJ4A4mHWoEZWi5cC2P6hNgC5b9LiWLaWTYseda3teKrTvEjCsr3aPVDdLyhgrMshuJX8KPy4yZks5YZRt5JHNxM4fh7fX8fgTw"
- },
- "rank": 64,
- "ownerType": "Account",
- "ownerAddress": "z96tDWGGF4cuTrQLZgLnuBos4VAMfUP3qYJ4A4mHWoEZWi5cC2P6hNgC5b9LiWLaWTYseda3teKrTvEjCsr3aPVDdLyhgrMshuJX8KPy4yZks5YZRt5JHNxM4fh7fX8fgTw",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zERG7qf7STXTAKKiUbEvfj4YcpTttHASTxDXUBA1JYxdhpuU13FtgzDUpU5eMSt3qxYamQNZjiiiDKVN3zi5Mnz264ggAD3Ft9j3BwmcHArQpPdVhLpHCfnq5Pot6GCW9Vx",
- "locked_amt": 0,
- "reward": 2335501877268,
- "owner": {
- "Account": "zERG7qf7STXTAKKiUbEvfj4YcpTttHASTxDXUBA1JYxdhpuU13FtgzDUpU5eMSt3qxYamQNZjiiiDKVN3zi5Mnz264ggAD3Ft9j3BwmcHArQpPdVhLpHCfnq5Pot6GCW9Vx"
- },
- "rank": 65,
- "ownerType": "Account",
- "ownerAddress": "zERG7qf7STXTAKKiUbEvfj4YcpTttHASTxDXUBA1JYxdhpuU13FtgzDUpU5eMSt3qxYamQNZjiiiDKVN3zi5Mnz264ggAD3Ft9j3BwmcHArQpPdVhLpHCfnq5Pot6GCW9Vx",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zQgvJ6xQPCumYhTso8LCgmcxjATSuza5ACBHQs1t1XPBdxQkh56vHMJXrd89dJV5d6fXimP8HiS4Kb1jcj2YpLCQQsJLhiJDzR7PHPE5LLmDSPPqoT4XA1C4RL7vX4zdAAY",
- "locked_amt": 0,
- "reward": 6829571609560,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 66,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zT3G39wGo9htH5GGCfugrE6fEbpDknb2aNwrPS51Upiqb1zZh8QvJKDKJjrJYC9fNBwezUWbqiN1HXjr2kzcQYacXQkyycVqP88aHb7v6RNCuLuPVEF8iMpZGEteeRXb2nS",
- "locked_amt": 0,
- "reward": 6777651848269,
- "owner": {
- "Account": "zT3G39wGo9htH5GGCfugrE6fEbpDknb2aNwrPS51Upiqb1zZh8QvJKDKJjrJYC9fNBwezUWbqiN1HXjr2kzcQYacXQkyycVqP88aHb7v6RNCuLuPVEF8iMpZGEteeRXb2nS"
- },
- "rank": 67,
- "ownerType": "Account",
- "ownerAddress": "zT3G39wGo9htH5GGCfugrE6fEbpDknb2aNwrPS51Upiqb1zZh8QvJKDKJjrJYC9fNBwezUWbqiN1HXjr2kzcQYacXQkyycVqP88aHb7v6RNCuLuPVEF8iMpZGEteeRXb2nS",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zTHaqm7jKyV4cSqrdeqCkeLci74v6ymXU8QRN48qxAoztYZ8hbLemskC9ycQqtEW2EdzALw3bwyEGmrG9J3DDeNKZoPoPCSLHL2Cymkf29zxvi8J23gB9MFwFSRQSEKRJf6",
- "locked_amt": 0,
- "reward": 7432524164948,
- "owner": {
- "Account": "zTHaqm7jKyV4cSqrdeqCkeLci74v6ymXU8QRN48qxAoztYZ8hbLemskC9ycQqtEW2EdzALw3bwyEGmrG9J3DDeNKZoPoPCSLHL2Cymkf29zxvi8J23gB9MFwFSRQSEKRJf6"
- },
- "rank": 68,
- "ownerType": "Account",
- "ownerAddress": "zTHaqm7jKyV4cSqrdeqCkeLci74v6ymXU8QRN48qxAoztYZ8hbLemskC9ycQqtEW2EdzALw3bwyEGmrG9J3DDeNKZoPoPCSLHL2Cymkf29zxvi8J23gB9MFwFSRQSEKRJf6",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zVnmVA7jfgAoBGnsMDrHGiwPx3sZhG42t6pysHjMj7rF6BKPGut87GZaDaXwmdjXsz53ULB2Mmur9aoSU1ZCGHYwQ57eN59FMwHqdBjULpNBfvFZN1qnzVpgz23y3UPPz6x",
- "locked_amt": 0,
- "reward": 7465149666031,
- "owner": {
- "Account": "zVnmVA7jfgAoBGnsMDrHGiwPx3sZhG42t6pysHjMj7rF6BKPGut87GZaDaXwmdjXsz53ULB2Mmur9aoSU1ZCGHYwQ57eN59FMwHqdBjULpNBfvFZN1qnzVpgz23y3UPPz6x"
- },
- "rank": 69,
- "ownerType": "Account",
- "ownerAddress": "zVnmVA7jfgAoBGnsMDrHGiwPx3sZhG42t6pysHjMj7rF6BKPGut87GZaDaXwmdjXsz53ULB2Mmur9aoSU1ZCGHYwQ57eN59FMwHqdBjULpNBfvFZN1qnzVpgz23y3UPPz6x",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zseHtUg7CNtUThmcsnren1FJtK9inn2kTMg38jd74zrRzPP1Xm8XzXQE528bb9CSwABwnuMgVA5CjUJMYnNmzdMTMTkQHiWuAAmASeS27myBaEGEqg3DUXLJZdPzMxaS7Nq",
- "locked_amt": 0,
- "reward": 7134931385805,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 70,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "215SPqmBgiheG8Eac5yBi6NiNb6MyN5yC9MKJKfUAtU5NmafmowELzZKXo3pbS1h2Unqeyw9BShTz4ZxNVt9ZG5TTLJAuMHrwLHtXicKpgrhTttkhLA14apZ4tDxNgQkCtj1",
- "locked_amt": 0,
- "reward": 7074719183418,
- "owner": {
- "Account": "215SPqmBgiheG8Eac5yBi6NiNb6MyN5yC9MKJKfUAtU5NmafmowELzZKXo3pbS1h2Unqeyw9BShTz4ZxNVt9ZG5TTLJAuMHrwLHtXicKpgrhTttkhLA14apZ4tDxNgQkCtj1"
- },
- "rank": 71,
- "ownerType": "Account",
- "ownerAddress": "215SPqmBgiheG8Eac5yBi6NiNb6MyN5yC9MKJKfUAtU5NmafmowELzZKXo3pbS1h2Unqeyw9BShTz4ZxNVt9ZG5TTLJAuMHrwLHtXicKpgrhTttkhLA14apZ4tDxNgQkCtj1",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "21SQ3HyThUvJUAtn3cfYUAisdw9h25DCp5hT2vzeiiQrvjGpmjsZKmbMMQTFSfU3EsEYtLqncXhVRkxnapwYrjYmR1tVdx3xE3nz2UkxSD1L34E1aTCoGqqZek9TfmSTQ5Sn",
- "locked_amt": 0,
- "reward": 7043130493696,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 72,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "21kVjRYLmoPy3WGK8h2TrVxVYzWT5QZfpMD9JHwAALkAVbvGLGETJxPmZuMDZNLxXUkebsyCRXSzxgNAvoiMxaYX2mFwm6RnYHrg9z7iUV2uX3ZJwKk5oHHYvSvHtzdEhPka",
- "locked_amt": 0,
- "reward": 7192222581053,
- "owner": {
- "Account": "21kVjRYLmoPy3WGK8h2TrVxVYzWT5QZfpMD9JHwAALkAVbvGLGETJxPmZuMDZNLxXUkebsyCRXSzxgNAvoiMxaYX2mFwm6RnYHrg9z7iUV2uX3ZJwKk5oHHYvSvHtzdEhPka"
- },
- "rank": 73,
- "ownerType": "Account",
- "ownerAddress": "21kVjRYLmoPy3WGK8h2TrVxVYzWT5QZfpMD9JHwAALkAVbvGLGETJxPmZuMDZNLxXUkebsyCRXSzxgNAvoiMxaYX2mFwm6RnYHrg9z7iUV2uX3ZJwKk5oHHYvSvHtzdEhPka",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "22e4nDy3SHN1z6EQj7hQ9qwBASfoEXZ7PWgK1xYZGFsPXSNEBHEB4ntcLnDpYpePbjsuLFAUQC1YXTJdJN3bq9Gr6bwe24UiPXhZgxSHZPHspCeWTeoPiopw9zHkbhwBecjc",
- "locked_amt": 0,
- "reward": 6685578690172,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 74,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "22exgqwRRtryBxVT7f7xC27fBkcHjUbAA3BxqL9ySqDguJAaWY5UWtgVkcm3o8HE1Tf8qcfXNpBt7ezva3pLSaygVrrdnRktF4stZMDoLnUhy2ej1hnoKP91TyQrumkbUU4n",
- "locked_amt": 0,
- "reward": 7066191295983,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 75,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "238cmghibzsNoAhVYsXfmmgv4MCN88PWQMcmUTSbvTXJ1uFpqi4ejo74eNZQnve1xbwiLREyo4p2kReH49vV6gi6Wf137chzfiCMoG18LHBkTVxrwxWEinAyeQmd2QiVitV8",
- "locked_amt": 0,
- "reward": 7545523161920,
- "owner": {
- "Account": "238cmghibzsNoAhVYsXfmmgv4MCN88PWQMcmUTSbvTXJ1uFpqi4ejo74eNZQnve1xbwiLREyo4p2kReH49vV6gi6Wf137chzfiCMoG18LHBkTVxrwxWEinAyeQmd2QiVitV8"
- },
- "rank": 76,
- "ownerType": "Account",
- "ownerAddress": "238cmghibzsNoAhVYsXfmmgv4MCN88PWQMcmUTSbvTXJ1uFpqi4ejo74eNZQnve1xbwiLREyo4p2kReH49vV6gi6Wf137chzfiCMoG18LHBkTVxrwxWEinAyeQmd2QiVitV8",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23Bgd58Xr999Xt7cgh671Lr77H3en5C8SjMfg41NJEnvL7hyZdo7YUPtVHM9fLoT9jCNRnJXmMMeeL3B9Q7JMCPL6ByjEDJUPzruabShyfSZpNAd16rnJ34i4wNx9Biic8QN",
- "locked_amt": 0,
- "reward": 7880699523860,
- "owner": {
- "Account": "23Bgd58Xr999Xt7cgh671Lr77H3en5C8SjMfg41NJEnvL7hyZdo7YUPtVHM9fLoT9jCNRnJXmMMeeL3B9Q7JMCPL6ByjEDJUPzruabShyfSZpNAd16rnJ34i4wNx9Biic8QN"
- },
- "rank": 77,
- "ownerType": "Account",
- "ownerAddress": "23Bgd58Xr999Xt7cgh671Lr77H3en5C8SjMfg41NJEnvL7hyZdo7YUPtVHM9fLoT9jCNRnJXmMMeeL3B9Q7JMCPL6ByjEDJUPzruabShyfSZpNAd16rnJ34i4wNx9Biic8QN",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23XeH9YWf68FhQX6wdHBjrdz4Yu2N9DuubrthX267FcdWaqPRyKwTnvYa2xRTaEJG2LBY96XzG4NRStHktt2ETZitSRN7ZjoKAe43EFKEZfCge4MCgoWYfMptWSqE9sZUzzE",
- "locked_amt": 0,
- "reward": 6880069718934,
- "owner": {
- "Account": "23XeH9YWf68FhQX6wdHBjrdz4Yu2N9DuubrthX267FcdWaqPRyKwTnvYa2xRTaEJG2LBY96XzG4NRStHktt2ETZitSRN7ZjoKAe43EFKEZfCge4MCgoWYfMptWSqE9sZUzzE"
- },
- "rank": 78,
- "ownerType": "Account",
- "ownerAddress": "23XeH9YWf68FhQX6wdHBjrdz4Yu2N9DuubrthX267FcdWaqPRyKwTnvYa2xRTaEJG2LBY96XzG4NRStHktt2ETZitSRN7ZjoKAe43EFKEZfCge4MCgoWYfMptWSqE9sZUzzE",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23aykwjPGYfhwqkSWksDs1TmU2zkBgMn339shztJ14oXkUmwMcS1E7EMUaCg7HKpdAP4e3NuNruEEeN36t88f6oinwUPNaJqkTtLnPjH4yt2QJsssgpD8BRyusoLADWG7i5h",
- "locked_amt": 0,
- "reward": 7268548444440,
- "owner": {
- "Account": "23aykwjPGYfhwqkSWksDs1TmU2zkBgMn339shztJ14oXkUmwMcS1E7EMUaCg7HKpdAP4e3NuNruEEeN36t88f6oinwUPNaJqkTtLnPjH4yt2QJsssgpD8BRyusoLADWG7i5h"
- },
- "rank": 79,
- "ownerType": "Account",
- "ownerAddress": "23aykwjPGYfhwqkSWksDs1TmU2zkBgMn339shztJ14oXkUmwMcS1E7EMUaCg7HKpdAP4e3NuNruEEeN36t88f6oinwUPNaJqkTtLnPjH4yt2QJsssgpD8BRyusoLADWG7i5h",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23fAnih3A9TtZLmwBggRgjGHsEB9qyVTq25C1LahSVH2LigFdjLxveccFgnfQPxWUmMFLJDh8Ptd4NivosEK6pDZoAb48EirBaKqDEExh75iXDsr6k8hjFxV2hJhfGtYLFGr",
- "locked_amt": 0,
- "reward": 7217958614485,
- "owner": {
- "Account": "23fAnih3A9TtZLmwBggRgjGHsEB9qyVTq25C1LahSVH2LigFdjLxveccFgnfQPxWUmMFLJDh8Ptd4NivosEK6pDZoAb48EirBaKqDEExh75iXDsr6k8hjFxV2hJhfGtYLFGr"
- },
- "rank": 80,
- "ownerType": "Account",
- "ownerAddress": "23fAnih3A9TtZLmwBggRgjGHsEB9qyVTq25C1LahSVH2LigFdjLxveccFgnfQPxWUmMFLJDh8Ptd4NivosEK6pDZoAb48EirBaKqDEExh75iXDsr6k8hjFxV2hJhfGtYLFGr",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23gx8TwJPoTxFppny5Py7JwH5bGSFfZq5igPYDgoJEg2qhzVgXAsGKsspfB3yWY7k428dH2yhyoXM8LB4vzvRBXmdUsMpYhWc73yvsHaBkwQqcvrZzJRUF7zxEMP5DKVzAFJ",
- "locked_amt": 0,
- "reward": 7469596802275,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 81,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23hcRjNqzKUhcHevbiP24NThLLbCjMXDFdwFXqgLjmx5cheXE6drSuSiuvvaSc7rbnbR2Yb1NY1x3276WVp47nFUM2ygmmERC4cxuF51aMqu75PVanouxfgmaHtFHjcHoHjj",
- "locked_amt": 0,
- "reward": 6776178368237,
- "owner": {
- "Account": "23hcRjNqzKUhcHevbiP24NThLLbCjMXDFdwFXqgLjmx5cheXE6drSuSiuvvaSc7rbnbR2Yb1NY1x3276WVp47nFUM2ygmmERC4cxuF51aMqu75PVanouxfgmaHtFHjcHoHjj"
- },
- "rank": 82,
- "ownerType": "Account",
- "ownerAddress": "23hcRjNqzKUhcHevbiP24NThLLbCjMXDFdwFXqgLjmx5cheXE6drSuSiuvvaSc7rbnbR2Yb1NY1x3276WVp47nFUM2ygmmERC4cxuF51aMqu75PVanouxfgmaHtFHjcHoHjj",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23ws1motGfNRuZ4PJxN9DHnQxLTHMuKFfU97zgpFevcNXpbhesd7e5T2uxDc95tYkY2tgJC3EYfFjJXvRYFK2E2n8ogTjSW5NWurv1sarywLNGNkKqxzhyvSUsANqdRQBnzT",
- "locked_amt": 0,
- "reward": 7567266204238,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 83,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "244Sywxj7PuMHpcPxemaXLcrY5rPgztra6H9Vz8cU1Ro5v23SxKTfVqr2yS7NXAXE1iq59ndn4aMZmYxuzu3Te3e9fokQKTUkYvFxYg2P2E8EEg1gWUbs3AFL2aNx62HQd7r",
- "locked_amt": 0,
- "reward": 7181940088941,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 84,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "248rpHWnGPT3puKGBB4CHdaHDnkFU8vaBNCUzV2bJ7JTyXA875PFPAUaFuUrMvmZd5PmBTPx5FhvBoPcddZhn7f97gmiPEpvs5zHEHbhfmWad176yKGwKkA5pvNDeXfEf9Lp",
- "locked_amt": 0,
- "reward": 7281601926239,
- "owner": {
- "Account": "248rpHWnGPT3puKGBB4CHdaHDnkFU8vaBNCUzV2bJ7JTyXA875PFPAUaFuUrMvmZd5PmBTPx5FhvBoPcddZhn7f97gmiPEpvs5zHEHbhfmWad176yKGwKkA5pvNDeXfEf9Lp"
- },
- "rank": 85,
- "ownerType": "Account",
- "ownerAddress": "248rpHWnGPT3puKGBB4CHdaHDnkFU8vaBNCUzV2bJ7JTyXA875PFPAUaFuUrMvmZd5PmBTPx5FhvBoPcddZhn7f97gmiPEpvs5zHEHbhfmWad176yKGwKkA5pvNDeXfEf9Lp",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24APW8dZ91iy4kwVAFAZ8rDRg8tZtLuurUB2aERXUKRj5tEMQQhTHQp2p5oxKtZNrpcWUKidK6u9tHTSZy9mzWnKtwu5Hnf1s42bdG4tcZw8edJPzePVWRytGoUXMHmuWWG3",
- "locked_amt": 0,
- "reward": 7080292530410,
- "owner": {
- "Account": "24APW8dZ91iy4kwVAFAZ8rDRg8tZtLuurUB2aERXUKRj5tEMQQhTHQp2p5oxKtZNrpcWUKidK6u9tHTSZy9mzWnKtwu5Hnf1s42bdG4tcZw8edJPzePVWRytGoUXMHmuWWG3"
- },
- "rank": 86,
- "ownerType": "Account",
- "ownerAddress": "24APW8dZ91iy4kwVAFAZ8rDRg8tZtLuurUB2aERXUKRj5tEMQQhTHQp2p5oxKtZNrpcWUKidK6u9tHTSZy9mzWnKtwu5Hnf1s42bdG4tcZw8edJPzePVWRytGoUXMHmuWWG3",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24Qzcp49pQt8Rb1bWf65Yq76QysTfyQKUZh7C219345iD6eYfHKptxxAKrqGYLFXKUci3NR5FbLhFjmLnL4jf249hwZK19gY2nqKESbSyfkMVMQHpS5dVVcN2my1KWR3jha4",
- "locked_amt": 0,
- "reward": 7472061603093,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 87,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24TMiKLMRMv8BJFoGxHGVcHQoqkoEhcEAFDvBmM6iQ6TK3oyeiXSTYdQZSvad8AYaQcfvLSetJg2urFtDJJu5WgakYoXzm2HdwuotouiFCBdWsKe8dVhZgN7ERYhcxKr7LTd",
- "locked_amt": 0,
- "reward": 6977070492446,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 88,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24YhQRLs3Yv9ChjpwshFQAFqxmYNMzvFynpcGvEYXUCz33whjrQbX4yRvMwSTL5vEivpx8Enm8cxhDeGxXkQRrxtkzZ1WERnBLtz4JsBf6m5QmQzUziTKiofZnRHFRm5zQ1z",
- "locked_amt": 0,
- "reward": 7276764391833,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 89,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24bfNr8MDUo5xJBecmeGzXDEraax4Cmbnhjyyt5GaL1Vbe6H48ZSYTpmjRDcFRDFzgzuePAPUNcdGMnBzBQBk4zAMgBCtPsY27tBJtKmB1st6qcmpzRR4Er5imxrzvMRnfWc",
- "locked_amt": 0,
- "reward": 7558684314227,
- "owner": {
- "Account": "24bfNr8MDUo5xJBecmeGzXDEraax4Cmbnhjyyt5GaL1Vbe6H48ZSYTpmjRDcFRDFzgzuePAPUNcdGMnBzBQBk4zAMgBCtPsY27tBJtKmB1st6qcmpzRR4Er5imxrzvMRnfWc"
- },
- "rank": 90,
- "ownerType": "Account",
- "ownerAddress": "24bfNr8MDUo5xJBecmeGzXDEraax4Cmbnhjyyt5GaL1Vbe6H48ZSYTpmjRDcFRDFzgzuePAPUNcdGMnBzBQBk4zAMgBCtPsY27tBJtKmB1st6qcmpzRR4Er5imxrzvMRnfWc",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25A9dZXaWhLsPtgyfxNtdqpdrNkHzk7C3mJxGgq64NrRd5HhAQab59n6H5hLjkQgJvJWZbuZEm8GQ4UvtdRzXzB6nt8CMHWaNURLmhTzCnxuxCmJf5ws5WxiSUEEUHxaCYvb",
- "locked_amt": 0,
- "reward": 7607325040606,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 91,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25HZa8omGsExfeeGBcege198RY5mx9fpGsuA3rDUamqCr96tBeprRbm1d1YL1Mr4HXi1YuFJ1ozH9CFRSauaEigtEatc7t321KffgxzFXRQaE8DD83P7NphwANV3jVhFdYa7",
- "locked_amt": 0,
- "reward": 7410817629537,
- "owner": {
- "Account": "25HZa8omGsExfeeGBcege198RY5mx9fpGsuA3rDUamqCr96tBeprRbm1d1YL1Mr4HXi1YuFJ1ozH9CFRSauaEigtEatc7t321KffgxzFXRQaE8DD83P7NphwANV3jVhFdYa7"
- },
- "rank": 92,
- "ownerType": "Account",
- "ownerAddress": "25HZa8omGsExfeeGBcege198RY5mx9fpGsuA3rDUamqCr96tBeprRbm1d1YL1Mr4HXi1YuFJ1ozH9CFRSauaEigtEatc7t321KffgxzFXRQaE8DD83P7NphwANV3jVhFdYa7",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25J8LTkT3fj2a5qeRvxCRiXgakMqivtmB4iLzfJqrS3nvtpK1KEZcWrybMcRb7pgmcVepQTEoxTBQwHTvo9ZC7wrXyUVcpGrBSvJwxJxNYM68N8VwwWaBzjgnFTDEEy3hE3H",
- "locked_amt": 0,
- "reward": 7301740226967,
- "owner": {
- "Account": "25J8LTkT3fj2a5qeRvxCRiXgakMqivtmB4iLzfJqrS3nvtpK1KEZcWrybMcRb7pgmcVepQTEoxTBQwHTvo9ZC7wrXyUVcpGrBSvJwxJxNYM68N8VwwWaBzjgnFTDEEy3hE3H"
- },
- "rank": 93,
- "ownerType": "Account",
- "ownerAddress": "25J8LTkT3fj2a5qeRvxCRiXgakMqivtmB4iLzfJqrS3nvtpK1KEZcWrybMcRb7pgmcVepQTEoxTBQwHTvo9ZC7wrXyUVcpGrBSvJwxJxNYM68N8VwwWaBzjgnFTDEEy3hE3H",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25KnsEoBhedA6Gnyx67c2i69h3iYJFErFdKVWZygVPgsyc7b5Hz1X6pP1NUREt9DQ9byVxkHtwmoG1Lhirr1QGG1vLLEd6AT8k5HWqZSisqvPexAzzxX63xCGwkW4ZiR2AhL",
- "locked_amt": 0,
- "reward": 7913298597306,
- "owner": {
- "Account": "25KnsEoBhedA6Gnyx67c2i69h3iYJFErFdKVWZygVPgsyc7b5Hz1X6pP1NUREt9DQ9byVxkHtwmoG1Lhirr1QGG1vLLEd6AT8k5HWqZSisqvPexAzzxX63xCGwkW4ZiR2AhL"
- },
- "rank": 94,
- "ownerType": "Account",
- "ownerAddress": "25KnsEoBhedA6Gnyx67c2i69h3iYJFErFdKVWZygVPgsyc7b5Hz1X6pP1NUREt9DQ9byVxkHtwmoG1Lhirr1QGG1vLLEd6AT8k5HWqZSisqvPexAzzxX63xCGwkW4ZiR2AhL",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25L2qjS7difo6T1PW871rjnqjQenGCYTVmNZGAoJBqjdaBDNpbJyfo6x16kHjiwaB1eP4k7JzFhz7BCxE83xeYKDAU6rZDr3JeMsTrnJHTfcSCuuskbtL3xhW99qJjG53cQM",
- "locked_amt": 0,
- "reward": 7081272543114,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 95,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25MjwFViKFCofcwqP9z7Em7hLzx9E9tou7tS9X3SDvzJvRWUixMZmHWQMDNnJZNN8PdzLBy9sj3wjscR4aADVNM7WqMnGfZxNdRAh4nWdW5wpAH8Dqn2hGTLE6kCUcKSMZE4",
- "locked_amt": 0,
- "reward": 7339003398621,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 96,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25RHcLU8DPEnZm2iXy9qvQj5aDCcpE4B9KJT9VGZS24Qsv3vpbrN7b72Wj7YBH66aXNjm6i2URSQQnpdvQLFp6R7Jt85b8DJVHFrQHvhH35Z2xQXqtLk4Whgng6N4gqgq9h7",
- "locked_amt": 0,
- "reward": 6931001245450,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 97,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25h5BvLgTAJ57DS4z4fuBJhj17k4iBfEQT6YMbzWPWuFfhUufVfU9ryohapjkA7rkb7xBtCfULZic2eJmCGssKdW2DCfBez26yXUy1qhRBnLQ4QCFadfM96tbUURoVYyYfWJ",
- "locked_amt": 0,
- "reward": 7241109562888,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 98,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25hHuGqH6MU67syGovZD2L1eEBypLb7fCV2Q7inVWSYSWqto9Yr962rfsUjL5WZjGBwa9EkFf7eBcouKRKNvhYrm7LPRQk6k4JR45KtnKUjXgdDTsmYJ4G49V4o3pT5aGdMP",
- "locked_amt": 0,
- "reward": 6811442642016,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 99,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25yVrGJKTjZzfiHewWbShsU5s2CpuUGfqG17YLt2sf158fc1EJJEYHnPJKFPjoTXYxe1jJymaYoRbnZ1hSCa1uvdsox36mgoKiBQsw2pVUbWmodz5D2EBzrtBKABBKkrChbK",
- "locked_amt": 0,
- "reward": 7127400279825,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 100,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "2681cRrpmrN17r1C1jNKNqAL6xc7mCTNu9qwhtjTVNHiaVioqowCcTcMqXcmYuqpG8c22bPqKWDRfRmzcfSnLLA9GG5jdgBhmoQxSAqaXMUL2Ee5LAGMB5RJycuUcDoHTCwY",
- "locked_amt": 0,
- "reward": 7662628745173,
- "owner": {
- "Account": "2681cRrpmrN17r1C1jNKNqAL6xc7mCTNu9qwhtjTVNHiaVioqowCcTcMqXcmYuqpG8c22bPqKWDRfRmzcfSnLLA9GG5jdgBhmoQxSAqaXMUL2Ee5LAGMB5RJycuUcDoHTCwY"
- },
- "rank": 101,
- "ownerType": "Account",
- "ownerAddress": "2681cRrpmrN17r1C1jNKNqAL6xc7mCTNu9qwhtjTVNHiaVioqowCcTcMqXcmYuqpG8c22bPqKWDRfRmzcfSnLLA9GG5jdgBhmoQxSAqaXMUL2Ee5LAGMB5RJycuUcDoHTCwY",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26DsWXiCrNxkmCZ1zfCh3XTE2cXqf4NEPGGRMU39vZhNYF6hExrRrzN4nETVYduLuiRAHmtonkP6TvtVnhf9v5YcksgUfhHY78dNgCTSZs9WgHjN4NP2QRiybAaH3xUGeatm",
- "locked_amt": 0,
- "reward": 6792420959548,
- "owner": {
- "Account": "26DsWXiCrNxkmCZ1zfCh3XTE2cXqf4NEPGGRMU39vZhNYF6hExrRrzN4nETVYduLuiRAHmtonkP6TvtVnhf9v5YcksgUfhHY78dNgCTSZs9WgHjN4NP2QRiybAaH3xUGeatm"
- },
- "rank": 102,
- "ownerType": "Account",
- "ownerAddress": "26DsWXiCrNxkmCZ1zfCh3XTE2cXqf4NEPGGRMU39vZhNYF6hExrRrzN4nETVYduLuiRAHmtonkP6TvtVnhf9v5YcksgUfhHY78dNgCTSZs9WgHjN4NP2QRiybAaH3xUGeatm",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26LsKrN6Rk4UPALU6msRjkdu5tdSsoNtudcMSvz8Xa2jmp6gDCv964yf7rq4SC4bHDCuoT28KBS8989WfTjBuxTdYqQhCswDL1MiDhXBvraiWPX9Hjhvi1X4pbs757sHYXGb",
- "locked_amt": 0,
- "reward": 7084882997029,
- "owner": {
- "Account": "26LsKrN6Rk4UPALU6msRjkdu5tdSsoNtudcMSvz8Xa2jmp6gDCv964yf7rq4SC4bHDCuoT28KBS8989WfTjBuxTdYqQhCswDL1MiDhXBvraiWPX9Hjhvi1X4pbs757sHYXGb"
- },
- "rank": 103,
- "ownerType": "Account",
- "ownerAddress": "26LsKrN6Rk4UPALU6msRjkdu5tdSsoNtudcMSvz8Xa2jmp6gDCv964yf7rq4SC4bHDCuoT28KBS8989WfTjBuxTdYqQhCswDL1MiDhXBvraiWPX9Hjhvi1X4pbs757sHYXGb",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26N7gdQRjgw9atu8nN5ua1bfxBp7kdNvE5BRHUvaMFGjwrNcRrDNedhK2RrqVooRJ8SMGi1iYiW4Wnysx4SMcbUPffwNeY4T1wQLt5ESdYjh91exuhR15S9c3o7Eu6EZNudz",
- "locked_amt": 0,
- "reward": 7122737082704,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 104,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26TVUnyxdYwX3Sipc2RLAwGnE6gLHW86sudf2HU3xP8S7NbAoiJDUE2XTn1FaEKV32FvZpCf9SjsgkYatddn6BsoBhMTmXyd1TMpzgFyJ8rGNXNN2R9LBuHfCXoXXj3MtNJr",
- "locked_amt": 0,
- "reward": 6873120849995,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 105,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26brdzqNXEG1jTzCubJAPhks18bSSDY4n21ZW6VLYkCv6bBUdBAZZAbn1Coz1LPBYc4uEekBbzFnZvhL9untGCqRamhZS2cBV51fdZog3qkP3NbMEaqgNMcKEahAFV8t2Cke",
- "locked_amt": 0,
- "reward": 7630941111854,
- "owner": {
- "Account": "26brdzqNXEG1jTzCubJAPhks18bSSDY4n21ZW6VLYkCv6bBUdBAZZAbn1Coz1LPBYc4uEekBbzFnZvhL9untGCqRamhZS2cBV51fdZog3qkP3NbMEaqgNMcKEahAFV8t2Cke"
- },
- "rank": 106,
- "ownerType": "Account",
- "ownerAddress": "26brdzqNXEG1jTzCubJAPhks18bSSDY4n21ZW6VLYkCv6bBUdBAZZAbn1Coz1LPBYc4uEekBbzFnZvhL9untGCqRamhZS2cBV51fdZog3qkP3NbMEaqgNMcKEahAFV8t2Cke",
- "hasSeparateOwner": false
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26zCm7Hqi4Gv42D39zx9p8tG1aHDuVRaYABpNGdmcusWJchmTRRHtagWFZo76SMyCUui3JvnFRNekNu6WShm6mW9F8uEucUau8H3cCpm1osc4gZLd8WaCaGzWV2gvt8dhyga",
- "locked_amt": 0,
- "reward": 7199704091617,
- "owner": {
- "Account": "26zCm7Hqi4Gv42D39zx9p8tG1aHDuVRaYABpNGdmcusWJchmTRRHtagWFZo76SMyCUui3JvnFRNekNu6WShm6mW9F8uEucUau8H3cCpm1osc4gZLd8WaCaGzWV2gvt8dhyga"
- },
- "rank": 107,
- "ownerType": "Account",
- "ownerAddress": "26zCm7Hqi4Gv42D39zx9p8tG1aHDuVRaYABpNGdmcusWJchmTRRHtagWFZo76SMyCUui3JvnFRNekNu6WShm6mW9F8uEucUau8H3cCpm1osc4gZLd8WaCaGzWV2gvt8dhyga",
- "hasSeparateOwner": false
- },
- {
- "amount": 450000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "qeNnTyhWnvJBxSX8D5YS5QCLAtPoZQFCKEHVJoGiDTyFiGz6jnRuz9erafZxLSfWoJNwfz4HoHmKXBfcifHcF8F2sqG5LFSNopLJbkZzGXLaUFFikme1f1PiNiMxxMNkmqP",
- "locked_amt": 50000000000000,
- "reward": 6350603533289,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 108,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 450000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "ykesisNk9pgYFQm65meee5TbTLvrxgS9Mzq1P4GKr4XFXXvN5iraQw1YaNV9H11nFytuGHmx7UngaaTuTnqEkDeGBHvgBE1SZ3PwTsQQRmYsdX2dCKEVxJQbZv47yntfvtQ",
- "locked_amt": 50000000000000,
- "reward": 5766099832210,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 109,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 450000000000000,
- "eligibility": 10800,
- "faults": 0,
- "hard_faults": 0,
- "key": "26KjFyAKT9sMsASS2GTdrAgBswwwUvDAWwRdHWz2Hxp1BLa5VaD5LPAEPocHzsV4CEq3AM66qhUPAsB45FjsYzJB4wVU55ibUT3CNY8SxTgRfbVBpy5BSa4SDmZ7xff7cFJH",
- "locked_amt": 50000000000000,
- "reward": 5972684252228,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 110,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 360000000000000,
- "eligibility": 58320,
- "faults": 3,
- "hard_faults": 0,
- "key": "26LZQDrSNPHgv5HkBdFhYr5TEm3y9zDwceotnywHg9Dproqd3yHymHZskEFxjSStfyyqNo1vvAF1h4nEXEy378W87EQ1p7EC9rfES65C6xGQDS7ujQCAPMoQBp3F6dopZk4i",
- "locked_amt": 140000000000000,
- "reward": 7310999841539,
- "owner": {
- "Account": "26LZQDrSNPHgv5HkBdFhYr5TEm3y9zDwceotnywHg9Dproqd3yHymHZskEFxjSStfyyqNo1vvAF1h4nEXEy378W87EQ1p7EC9rfES65C6xGQDS7ujQCAPMoQBp3F6dopZk4i"
- },
- "rank": 111,
- "ownerType": "Account",
- "ownerAddress": "26LZQDrSNPHgv5HkBdFhYr5TEm3y9zDwceotnywHg9Dproqd3yHymHZskEFxjSStfyyqNo1vvAF1h4nEXEy378W87EQ1p7EC9rfES65C6xGQDS7ujQCAPMoQBp3F6dopZk4i",
- "hasSeparateOwner": false
- },
- {
- "amount": 135000000000000,
- "eligibility": 60480,
- "faults": 6,
- "hard_faults": 0,
- "key": "zKSqc6213BgJbtYtYGUFWVSPzGxWWdBH1tXkpS62cGRNuqJ2NPZK9fpKpw3guDuRLUXLRiL3ZmSVLiKoWU47mXWNszSMXEbe5xiykoa1DZoyNRVbCBKmy7zkwTR7Yesvq8U",
- "locked_amt": 315000000000000,
- "reward": 0,
- "owner": {
- "Account": "zKSqc6213BgJbtYtYGUFWVSPzGxWWdBH1tXkpS62cGRNuqJ2NPZK9fpKpw3guDuRLUXLRiL3ZmSVLiKoWU47mXWNszSMXEbe5xiykoa1DZoyNRVbCBKmy7zkwTR7Yesvq8U"
- },
- "rank": 112,
- "ownerType": "Account",
- "ownerAddress": "zKSqc6213BgJbtYtYGUFWVSPzGxWWdBH1tXkpS62cGRNuqJ2NPZK9fpKpw3guDuRLUXLRiL3ZmSVLiKoWU47mXWNszSMXEbe5xiykoa1DZoyNRVbCBKmy7zkwTR7Yesvq8U",
- "hasSeparateOwner": false
- },
- {
- "amount": 90000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "zT4jzP1bTetabxSoxPxPRYQXP2Br5aP7U6aE6m3SBYC3GZswBfiFFz9Uavn4xo1ZTaWAKrNAntup22cM7F1rcDVg9zawBoVgHSAtzKVbxhXbm6dZXtgeMKDrcrJehAQsa8d",
- "locked_amt": 0,
- "reward": 50544026754,
- "owner": {
- "Account": "zT4jzP1bTetabxSoxPxPRYQXP2Br5aP7U6aE6m3SBYC3GZswBfiFFz9Uavn4xo1ZTaWAKrNAntup22cM7F1rcDVg9zawBoVgHSAtzKVbxhXbm6dZXtgeMKDrcrJehAQsa8d"
- },
- "rank": 113,
- "ownerType": "Account",
- "ownerAddress": "zT4jzP1bTetabxSoxPxPRYQXP2Br5aP7U6aE6m3SBYC3GZswBfiFFz9Uavn4xo1ZTaWAKrNAntup22cM7F1rcDVg9zawBoVgHSAtzKVbxhXbm6dZXtgeMKDrcrJehAQsa8d",
- "hasSeparateOwner": false
- },
- {
- "amount": 59990000000000,
- "eligibility": 23760,
- "faults": 0,
- "hard_faults": 0,
- "key": "x8NZbycsc1Cjz4iW6DriJxkn68h5KaCjuunuFDr5bcjsDSieRCfL51SokQWnpFR46BBhLVPcv8AtuRdVYghZSvWa31mTbE425pFZZYaMMCfLrinjj4bbBFhsZz3PdM3xMp8",
- "locked_amt": 0,
- "reward": 398037872095,
- "owner": {
- "Account": "x8NZbycsc1Cjz4iW6DriJxkn68h5KaCjuunuFDr5bcjsDSieRCfL51SokQWnpFR46BBhLVPcv8AtuRdVYghZSvWa31mTbE425pFZZYaMMCfLrinjj4bbBFhsZz3PdM3xMp8"
- },
- "rank": 114,
- "ownerType": "Account",
- "ownerAddress": "x8NZbycsc1Cjz4iW6DriJxkn68h5KaCjuunuFDr5bcjsDSieRCfL51SokQWnpFR46BBhLVPcv8AtuRdVYghZSvWa31mTbE425pFZZYaMMCfLrinjj4bbBFhsZz3PdM3xMp8",
- "hasSeparateOwner": false
- },
- {
- "amount": 50000000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "yLWh6C8gGG3PhkzMTz7WUTyXQLudWLN7EXu5PZaEaKJT3aQa2Sf9kodH4HF3WQK3mUfh5edqsGEBjW9pq6JHLigezJPZyYnUAnjMRuKFstBktwf5rSw1TgD8Dwz1SmNi6nV",
- "locked_amt": 0,
- "reward": 14567264499,
- "owner": {
- "Account": "yLWh6C8gGG3PhkzMTz7WUTyXQLudWLN7EXu5PZaEaKJT3aQa2Sf9kodH4HF3WQK3mUfh5edqsGEBjW9pq6JHLigezJPZyYnUAnjMRuKFstBktwf5rSw1TgD8Dwz1SmNi6nV"
- },
- "rank": 115,
- "ownerType": "Account",
- "ownerAddress": "yLWh6C8gGG3PhkzMTz7WUTyXQLudWLN7EXu5PZaEaKJT3aQa2Sf9kodH4HF3WQK3mUfh5edqsGEBjW9pq6JHLigezJPZyYnUAnjMRuKFstBktwf5rSw1TgD8Dwz1SmNi6nV",
- "hasSeparateOwner": false
- },
- {
- "amount": 40055000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "pAsCGjoiMA2vo1TRxzsxjUvtQcKVd65skAZSU5gr2Ux9u42t8zWgv66rWP2fe6vYDPmXEF9stEvcjw9NdJxmVLfGGueDqgmZcLXhyafoRC4rrgRkMfUPHmoXvzEqmVdZnHv",
- "locked_amt": 0,
- "reward": 96089500925,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 116,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 30240000000000,
- "eligibility": 58320,
- "faults": 7,
- "hard_faults": 0,
- "key": "thrWTo9XztqcpodzucqDjoEv2Wk8C6XEhw9DQKcZ8uMjF5NHBeFwysvboLuqbwQwESRVfzJBSvcTZNXTsr25zasagiuseY4tkF1HyK25rg73nJxq86gZQK14bFXMVPLwfpe",
- "locked_amt": 469760000000000,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 117,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 30019000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "xa82X7cdvvdepZr7BT6tvXBpYTJTVi67FbvK8TgxgJH3ykVzTyXF8XtN86Lqu5PYesdTNjHywjRkZqe743t2F71cuiTiGAFDVZaDM5kHNE3NKrhMyY8p4baw2QyzAW9pCRz",
- "locked_amt": 0,
- "reward": 43223088346,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 118,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 30000000000000,
- "eligibility": 54000,
- "faults": 0,
- "hard_faults": 0,
- "key": "22nTqwGqBUcbwXbuuQFpjZtjsFtJhRqktYavVdBASaor7tpcQLNcpLC7S2QRArCvw9hDYa7rNcb3jsJZzeLw7C9Kk56qT92bAFi6P4bpSqKvBtRHMCHJWmEaNGotZvGMYBGU",
- "locked_amt": 0,
- "reward": 148676341284,
- "owner": {
- "Account": "22nTqwGqBUcbwXbuuQFpjZtjsFtJhRqktYavVdBASaor7tpcQLNcpLC7S2QRArCvw9hDYa7rNcb3jsJZzeLw7C9Kk56qT92bAFi6P4bpSqKvBtRHMCHJWmEaNGotZvGMYBGU"
- },
- "rank": 119,
- "ownerType": "Account",
- "ownerAddress": "22nTqwGqBUcbwXbuuQFpjZtjsFtJhRqktYavVdBASaor7tpcQLNcpLC7S2QRArCvw9hDYa7rNcb3jsJZzeLw7C9Kk56qT92bAFi6P4bpSqKvBtRHMCHJWmEaNGotZvGMYBGU",
- "hasSeparateOwner": false
- },
- {
- "amount": 29000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "y1q47PKFhxXHM3KuvArt1DBrGjyER2r4kt4BYcbWNFkjrWCtSuX1Ev2Lw6X1q6QsWHAvkAJawQ7MZyvZsjE5iTPXikbRS3HmsSwrRNC3vLRCMkfLPxqqFED7SHevaDrQzFK",
- "locked_amt": 0,
- "reward": 103649098775,
- "owner": {
- "Account": "y1q47PKFhxXHM3KuvArt1DBrGjyER2r4kt4BYcbWNFkjrWCtSuX1Ev2Lw6X1q6QsWHAvkAJawQ7MZyvZsjE5iTPXikbRS3HmsSwrRNC3vLRCMkfLPxqqFED7SHevaDrQzFK"
- },
- "rank": 120,
- "ownerType": "Account",
- "ownerAddress": "y1q47PKFhxXHM3KuvArt1DBrGjyER2r4kt4BYcbWNFkjrWCtSuX1Ev2Lw6X1q6QsWHAvkAJawQ7MZyvZsjE5iTPXikbRS3HmsSwrRNC3vLRCMkfLPxqqFED7SHevaDrQzFK",
- "hasSeparateOwner": false
- },
- {
- "amount": 25000000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "zFVXTQZfY6gB2rWZFEm4ToWY2NKrpgeswTboWMAe7cjzaqHjsdGuADp8GsYzeruRkP3ZozA34mhWedEHkEiUr73iv8EcK3A192Y5b2uQYxLgprkZ2u8WKZyfDuZiyy4yEuL",
- "locked_amt": 0,
- "reward": 29167460855,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 121,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 24000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "sN4GfdHXZuD6kzXvd2eXaNXeL4GoGqRn5Q6bZZFGQFYQwiq5xaeLP7pJHCA5aHsLXpMr4CHtD5fQyVRngmk9v4SC5y7ugLBQ2yuJt1GkxGPQtWnJqafNQHhbH9xYwDn7wEk",
- "locked_amt": 0,
- "reward": 43268151637,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 122,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 20000000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "nhBn2phxNgSd9AmuzGzNvzk5ysQ2x28MwpYhNTk1qijTy73XXnB6oXk3hWgH1AJEApdzBRRa4UGDxqbhDWAGmSjdikR7EzPaXhCBUgyZ2gESgEEu9MCK1VT1FFRGwEwKrgS",
- "locked_amt": 0,
- "reward": 44420016168,
- "owner": {
- "Account": "nhBn2phxNgSd9AmuzGzNvzk5ysQ2x28MwpYhNTk1qijTy73XXnB6oXk3hWgH1AJEApdzBRRa4UGDxqbhDWAGmSjdikR7EzPaXhCBUgyZ2gESgEEu9MCK1VT1FFRGwEwKrgS"
- },
- "rank": 123,
- "ownerType": "Account",
- "ownerAddress": "nhBn2phxNgSd9AmuzGzNvzk5ysQ2x28MwpYhNTk1qijTy73XXnB6oXk3hWgH1AJEApdzBRRa4UGDxqbhDWAGmSjdikR7EzPaXhCBUgyZ2gESgEEu9MCK1VT1FFRGwEwKrgS",
- "hasSeparateOwner": false
- },
- {
- "amount": 20000000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "xg5Ejj1FWNqLmXM4xP1SjDKmtWL6Zu6oMvVoLCmmFq23P3Trw3PXrh8xB5uFd99qxLvgC7cxxcskoYA1gF2rtqWJeQbxmfGGnFtiSaJHpGEq1rvci6NhY1LHHfMYkoNpcNh",
- "locked_amt": 0,
- "reward": 31633498817,
- "owner": {
- "Account": "xg5Ejj1FWNqLmXM4xP1SjDKmtWL6Zu6oMvVoLCmmFq23P3Trw3PXrh8xB5uFd99qxLvgC7cxxcskoYA1gF2rtqWJeQbxmfGGnFtiSaJHpGEq1rvci6NhY1LHHfMYkoNpcNh"
- },
- "rank": 124,
- "ownerType": "Account",
- "ownerAddress": "xg5Ejj1FWNqLmXM4xP1SjDKmtWL6Zu6oMvVoLCmmFq23P3Trw3PXrh8xB5uFd99qxLvgC7cxxcskoYA1gF2rtqWJeQbxmfGGnFtiSaJHpGEq1rvci6NhY1LHHfMYkoNpcNh",
- "hasSeparateOwner": false
- },
- {
- "amount": 19995000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "24LaJTrgM9dczt1eRXjxeTdg1pGoyiGTGqWmdQrTfN8XwXD61ooEGiifhMDFcRZ6ZJyuniwwy9GtUUQAxzkGT8YHF71NrUn9fnaaBNfMCDZTpnmkK4JihDyuPoSLjQQDPbzE",
- "locked_amt": 0,
- "reward": 51527623616,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 125,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 19800000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "rogBxKsqTJ6XHv2b7JoQ3UGGyYm5gCLvfnx6x4wXRAdJZXPaSSELitiAwuv6wJiwxNX43uw41FPGwHfoHcwJMBSNjCeKEBoEvdS2QgE2mt8DuatKPFKXu7Q3bCaeH6Bbpiu",
- "locked_amt": 0,
- "reward": 90431824794,
- "owner": {
- "Account": "rogBxKsqTJ6XHv2b7JoQ3UGGyYm5gCLvfnx6x4wXRAdJZXPaSSELitiAwuv6wJiwxNX43uw41FPGwHfoHcwJMBSNjCeKEBoEvdS2QgE2mt8DuatKPFKXu7Q3bCaeH6Bbpiu"
- },
- "rank": 126,
- "ownerType": "Account",
- "ownerAddress": "rogBxKsqTJ6XHv2b7JoQ3UGGyYm5gCLvfnx6x4wXRAdJZXPaSSELitiAwuv6wJiwxNX43uw41FPGwHfoHcwJMBSNjCeKEBoEvdS2QgE2mt8DuatKPFKXu7Q3bCaeH6Bbpiu",
- "hasSeparateOwner": false
- },
- {
- "amount": 19500000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "24YAJKhrrTrjYAiFD1m5ezRLZHsRPcSSDRMZhxbtsZPpBCM8usafREJWuzZn2hZHZqL1BQyDkGa3BiQ8T6CLfnXBLzjhFLq32djemxUwkuPq2eXEaZw3XrGxoNBGnUw47cJo",
- "locked_amt": 0,
- "reward": 3180286565,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 127,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 15000000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "24Ujm5AZ1JfSXe1PsVohP4aeuFRRM3TY9sHVULR5WKh7qkK5JxVR7xJBSEFDd81bsFtTFXq9ANuiEEF9jZRVDVHEWSXVmS249fkgc3KnxWse2wrQrVGLmDLzNtySddyiJuCS",
- "locked_amt": 0,
- "reward": 248217488,
- "owner": {
- "Account": "24Ujm5AZ1JfSXe1PsVohP4aeuFRRM3TY9sHVULR5WKh7qkK5JxVR7xJBSEFDd81bsFtTFXq9ANuiEEF9jZRVDVHEWSXVmS249fkgc3KnxWse2wrQrVGLmDLzNtySddyiJuCS"
- },
- "rank": 128,
- "ownerType": "Account",
- "ownerAddress": "24Ujm5AZ1JfSXe1PsVohP4aeuFRRM3TY9sHVULR5WKh7qkK5JxVR7xJBSEFDd81bsFtTFXq9ANuiEEF9jZRVDVHEWSXVmS249fkgc3KnxWse2wrQrVGLmDLzNtySddyiJuCS",
- "hasSeparateOwner": false
- },
- {
- "amount": 14900000000000,
- "eligibility": 54000,
- "faults": 0,
- "hard_faults": 0,
- "key": "25qis7vbcPSTuxaAtrmidrjQ2uHrwJ2LTmZTzDJDiytTnnFg67KDgDE4bmPJYatGDH9RcaM194eHZUUUQQ8VPhUVN6yzFH8KxVUWU3CYw2i9dEWtjigRSJ4mnhAvsZzBMo9V",
- "locked_amt": 0,
- "reward": 1256601106,
- "owner": {
- "Account": "25qis7vbcPSTuxaAtrmidrjQ2uHrwJ2LTmZTzDJDiytTnnFg67KDgDE4bmPJYatGDH9RcaM194eHZUUUQQ8VPhUVN6yzFH8KxVUWU3CYw2i9dEWtjigRSJ4mnhAvsZzBMo9V"
- },
- "rank": 129,
- "ownerType": "Account",
- "ownerAddress": "25qis7vbcPSTuxaAtrmidrjQ2uHrwJ2LTmZTzDJDiytTnnFg67KDgDE4bmPJYatGDH9RcaM194eHZUUUQQ8VPhUVN6yzFH8KxVUWU3CYw2i9dEWtjigRSJ4mnhAvsZzBMo9V",
- "hasSeparateOwner": false
- },
- {
- "amount": 14850000000000,
- "eligibility": 43200,
- "faults": 0,
- "hard_faults": 0,
- "key": "zgcEqSf9XYbhEpQiCT8NXQSAHUfvTSHbu1fdTBG1dbAKz1p3qEdjCJhaxFN7rbh8xWo9A18fQ3JuUmLxqEmQnpAKsHp48KmKfp5My67gGTUpcmWVd8i3KNpxR8TuTm3zqMr",
- "locked_amt": 0,
- "reward": 113344220531,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 130,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 14700000000000,
- "eligibility": 54000,
- "faults": 0,
- "hard_faults": 0,
- "key": "22tKrP4yhaGqq6AxvtPCQyMPXHQMsNraVi4ZQLyHnfcj1fF1zWFZG2LHcDaCCxLJ7btE2dkg7U8CEzUNFq95HhBKDvx9CfWiaB4BW6Zgwikj5oEoHBCNBjhE34cY3ZrFxM7K",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 131,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 14600000000000,
- "eligibility": 54000,
- "faults": 0,
- "hard_faults": 0,
- "key": "xn8a8WN4GkU2uqBCv7VfHFgCDKaQY9kmeXSQhBkLtRVRpRY1JM7J59MaWRtG8RRQRJU1Foc24hQHHpqR63cQvqzqvbZd3nz6bR3JBjpRrezBaB7kPZ1ecLZYQcChS9q2xYd",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 132,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 14500000000000,
- "eligibility": 12960,
- "faults": 0,
- "hard_faults": 0,
- "key": "oE6fewnMgBQSMQ8CMefzpqz4Hh5d6CT4XYiYr5QznWdh4n7ktRxWkxi743fQQ1eW9J3BC6xYBJ6tY587uGxEyATUjNeE432J5S8cq86FeiRYSsJJGvU2v9AchPT2v7Ff58T",
- "locked_amt": 0,
- "reward": 111241019205,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 133,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 10000000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "pgRMt3GMfwftnDQVCTZoXaVuty8Z4fkBqX28Jc5s4dtT63osdLAQaCFhQHNRKqVuyWoqeJa4Pi8fgnuLx8H9VtvJK4X5kiKSVTSwZUv5Lf7Tvnd2MQuQPvdKV8eyKGTPWds",
- "locked_amt": 0,
- "reward": 667084499,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 134,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 10000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "zvpj2P5DPpjwxf72kb4cJYmPSEEcrPsUxL7pcpdgE4qXJYCSJxPvPniu94CNVXnEwLjMBEgL33jkv3Mw8fh7nKWsDgJPCT2PCzND8BMQ7cszuQR9PtB3a3Sm3xbLbr1ub4k",
- "locked_amt": 0,
- "reward": 30329930041,
- "owner": {
- "Account": "zvpj2P5DPpjwxf72kb4cJYmPSEEcrPsUxL7pcpdgE4qXJYCSJxPvPniu94CNVXnEwLjMBEgL33jkv3Mw8fh7nKWsDgJPCT2PCzND8BMQ7cszuQR9PtB3a3Sm3xbLbr1ub4k"
- },
- "rank": 135,
- "ownerType": "Account",
- "ownerAddress": "zvpj2P5DPpjwxf72kb4cJYmPSEEcrPsUxL7pcpdgE4qXJYCSJxPvPniu94CNVXnEwLjMBEgL33jkv3Mw8fh7nKWsDgJPCT2PCzND8BMQ7cszuQR9PtB3a3Sm3xbLbr1ub4k",
- "hasSeparateOwner": false
- },
- {
- "amount": 9990000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "22ATFnKCenVfSyZ7Wxfvy9aYSx6ff6aPGLKX7ndnMCLKpsfRG1r5a5psy6PZNH3Ye1rkg2GsrGTHoNBP3hovNcJVyrNFNCPFMKzAe2PTHfUTJ6yupjSHwKifh28jtJWCMvou",
- "locked_amt": 0,
- "reward": 62522807257,
- "owner": {
- "Account": "22ATFnKCenVfSyZ7Wxfvy9aYSx6ff6aPGLKX7ndnMCLKpsfRG1r5a5psy6PZNH3Ye1rkg2GsrGTHoNBP3hovNcJVyrNFNCPFMKzAe2PTHfUTJ6yupjSHwKifh28jtJWCMvou"
- },
- "rank": 136,
- "ownerType": "Account",
- "ownerAddress": "22ATFnKCenVfSyZ7Wxfvy9aYSx6ff6aPGLKX7ndnMCLKpsfRG1r5a5psy6PZNH3Ye1rkg2GsrGTHoNBP3hovNcJVyrNFNCPFMKzAe2PTHfUTJ6yupjSHwKifh28jtJWCMvou",
- "hasSeparateOwner": false
- },
- {
- "amount": 9900000000000,
- "eligibility": 25920,
- "faults": 0,
- "hard_faults": 0,
- "key": "rFiWhUsdEpsmGh4HSYEWZCr6P8NuQ732ye9NDVdrh49KWQYB41pTFnWYt2e8ujCotA1EZpZm6vGYPKABNiwF3bVz3c3fc9Zotxe6MhsG2fBYRc8Au4s1fnpPvGBzQHwRej2",
- "locked_amt": 0,
- "reward": 7415497601,
- "owner": {
- "Account": "rFiWhUsdEpsmGh4HSYEWZCr6P8NuQ732ye9NDVdrh49KWQYB41pTFnWYt2e8ujCotA1EZpZm6vGYPKABNiwF3bVz3c3fc9Zotxe6MhsG2fBYRc8Au4s1fnpPvGBzQHwRej2"
- },
- "rank": 137,
- "ownerType": "Account",
- "ownerAddress": "rFiWhUsdEpsmGh4HSYEWZCr6P8NuQ732ye9NDVdrh49KWQYB41pTFnWYt2e8ujCotA1EZpZm6vGYPKABNiwF3bVz3c3fc9Zotxe6MhsG2fBYRc8Au4s1fnpPvGBzQHwRej2",
- "hasSeparateOwner": false
- },
- {
- "amount": 7990000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "yB2GHYx8pRdPzNDLTrFFmrcZFYE9GTENjNAfMZKSYQAPK8tNWePqtcFRpJqq4dtTtR4dzunm6UsUnuo62GfbWDuAfWvpPnfoMVUVFHiZnWwdUK86jo5nFNGvVy2G9qCYZDt",
- "locked_amt": 0,
- "reward": 107061662910,
- "owner": {
- "Account": "yB2GHYx8pRdPzNDLTrFFmrcZFYE9GTENjNAfMZKSYQAPK8tNWePqtcFRpJqq4dtTtR4dzunm6UsUnuo62GfbWDuAfWvpPnfoMVUVFHiZnWwdUK86jo5nFNGvVy2G9qCYZDt"
- },
- "rank": 138,
- "ownerType": "Account",
- "ownerAddress": "yB2GHYx8pRdPzNDLTrFFmrcZFYE9GTENjNAfMZKSYQAPK8tNWePqtcFRpJqq4dtTtR4dzunm6UsUnuo62GfbWDuAfWvpPnfoMVUVFHiZnWwdUK86jo5nFNGvVy2G9qCYZDt",
- "hasSeparateOwner": false
- },
- {
- "amount": 5000000000000,
- "eligibility": 49680,
- "faults": 1,
- "hard_faults": 0,
- "key": "xPwM88RhuBXraCa1Lapp561EyxVe7F7RG6v2MM196Hs6ok71tZVPRZ7pRHXuEqUvSbh1rzTDyJ9Q4EnkrQ8kvYnmHUtmr5GFvJFG67xHuL3qVgQpWjmT1qtxTsfJfPE7r78",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 139,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4990000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "261taMMBXpRG7T74sHjLyJLyag55JqFKwkfBs9S8NVKLjsjFUT7nJvkxCjd888kyMdEaesKZ9CDrdYRfJ4NwSMLsYo9rXpyqd7utDf73P81Shj1TDdCvAJdmY9ScyEGsQpMJ",
- "locked_amt": 0,
- "reward": 527462162,
- "owner": {
- "Account": "261taMMBXpRG7T74sHjLyJLyag55JqFKwkfBs9S8NVKLjsjFUT7nJvkxCjd888kyMdEaesKZ9CDrdYRfJ4NwSMLsYo9rXpyqd7utDf73P81Shj1TDdCvAJdmY9ScyEGsQpMJ"
- },
- "rank": 140,
- "ownerType": "Account",
- "ownerAddress": "261taMMBXpRG7T74sHjLyJLyag55JqFKwkfBs9S8NVKLjsjFUT7nJvkxCjd888kyMdEaesKZ9CDrdYRfJ4NwSMLsYo9rXpyqd7utDf73P81Shj1TDdCvAJdmY9ScyEGsQpMJ",
- "hasSeparateOwner": false
- },
- {
- "amount": 4950000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "nWDih3TSkrMG1X4BG8A12BRQcrqdV5rd1YnCyieromYEcJZ8F8Ep3tA1DQyGFoAudgNVRwMBT5ZcmkMnG4aFgTh6DAonSun8WdnQtvCZUDAUWjSx7JoH4oD4N8qkWoiuy9X",
- "locked_amt": 0,
- "reward": 76267293927,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 141,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4950000000000,
- "eligibility": 12960,
- "faults": 0,
- "hard_faults": 0,
- "key": "sa2MdiJhznhPH64AVHYGoZkVW162AEB2UXUYCyLNnW6PdqLb3gCD98bRYUHYtBnrn8Swu2Hgx5ZshKwS68hPcXRncC9dsiiJqAwNDupteayAPmnR5hm1ABkNsKPNdXXZoi7",
- "locked_amt": 0,
- "reward": 75957961298,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 142,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4950000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "y7FSjpyFJAPiHjJnwuoNz1DpBWzoFqto6AvxMNeeYGS3H8Tboi5kY8h5op61XB1u7BgCY1PRzBGu3ZDAWzRfEJgZ9FLq3KNVe581QsFaPcr95pfaW4Qev9EzoiozTAffbV3",
- "locked_amt": 0,
- "reward": 62458918742,
- "owner": {
- "Account": "y7FSjpyFJAPiHjJnwuoNz1DpBWzoFqto6AvxMNeeYGS3H8Tboi5kY8h5op61XB1u7BgCY1PRzBGu3ZDAWzRfEJgZ9FLq3KNVe581QsFaPcr95pfaW4Qev9EzoiozTAffbV3"
- },
- "rank": 143,
- "ownerType": "Account",
- "ownerAddress": "y7FSjpyFJAPiHjJnwuoNz1DpBWzoFqto6AvxMNeeYGS3H8Tboi5kY8h5op61XB1u7BgCY1PRzBGu3ZDAWzRfEJgZ9FLq3KNVe581QsFaPcr95pfaW4Qev9EzoiozTAffbV3",
- "hasSeparateOwner": false
- },
- {
- "amount": 4950000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "21zbWCbNJBpp6wBZ88cUGxD2ywSHthXEoBnz2hGbBShMnmJj8BbYbf4DM1ZZmRktd15XftQTVj6dv717LxKnXtAKFoUfN2tSBec1R1E2zWZibnRaUqR2WT3YfYc8QX2mSQiE",
- "locked_amt": 0,
- "reward": 17240988191,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 144,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4900000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "qTnyKiDC7ou7aELMngJCzWNBP3qSo9DRwDE2cjPr34ck4UKbqxTSL5bkDSHyKRJ22o4Wgqwu8ZnZ7ijfQcQGtsFtmajYqToc3FbQ6VxpFpT52snvhXb6BtotruZtC2pzTMN",
- "locked_amt": 0,
- "reward": 47493792295,
- "owner": {
- "Account": "qTnyKiDC7ou7aELMngJCzWNBP3qSo9DRwDE2cjPr34ck4UKbqxTSL5bkDSHyKRJ22o4Wgqwu8ZnZ7ijfQcQGtsFtmajYqToc3FbQ6VxpFpT52snvhXb6BtotruZtC2pzTMN"
- },
- "rank": 145,
- "ownerType": "Account",
- "ownerAddress": "qTnyKiDC7ou7aELMngJCzWNBP3qSo9DRwDE2cjPr34ck4UKbqxTSL5bkDSHyKRJ22o4Wgqwu8ZnZ7ijfQcQGtsFtmajYqToc3FbQ6VxpFpT52snvhXb6BtotruZtC2pzTMN",
- "hasSeparateOwner": false
- },
- {
- "amount": 4900000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "r4tt3NG44HnikAUPRCFNy2PVt6UKXWckvQMW7wGUX2qDbRyv5JaEWG64b4qk42Bo1mZ4UbD5gATbNHKxFMZFWD3c8p8FRmJG4yf1CpM9ZNdfL4quCGtvtRTqNTi8mdhMZK2",
- "locked_amt": 0,
- "reward": 104832296009,
- "owner": {
- "Account": "r4tt3NG44HnikAUPRCFNy2PVt6UKXWckvQMW7wGUX2qDbRyv5JaEWG64b4qk42Bo1mZ4UbD5gATbNHKxFMZFWD3c8p8FRmJG4yf1CpM9ZNdfL4quCGtvtRTqNTi8mdhMZK2"
- },
- "rank": 146,
- "ownerType": "Account",
- "ownerAddress": "r4tt3NG44HnikAUPRCFNy2PVt6UKXWckvQMW7wGUX2qDbRyv5JaEWG64b4qk42Bo1mZ4UbD5gATbNHKxFMZFWD3c8p8FRmJG4yf1CpM9ZNdfL4quCGtvtRTqNTi8mdhMZK2",
- "hasSeparateOwner": false
- },
- {
- "amount": 4900000000000,
- "eligibility": 10800,
- "faults": 0,
- "hard_faults": 0,
- "key": "2262WQqqiFonBaKtdKdsAxurcYuD3Ag5C6QAfZXQXq6DwufZUbFP5CEvU6hYAvURQWY2iRmfQZD2HqniuYFqXTFE1R2wjBkoy7zNY9GWzduegdzTBYk5PpxT5W8t9U3P29xU",
- "locked_amt": 0,
- "reward": 114727950696,
- "owner": {
- "Account": "2262WQqqiFonBaKtdKdsAxurcYuD3Ag5C6QAfZXQXq6DwufZUbFP5CEvU6hYAvURQWY2iRmfQZD2HqniuYFqXTFE1R2wjBkoy7zNY9GWzduegdzTBYk5PpxT5W8t9U3P29xU"
- },
- "rank": 147,
- "ownerType": "Account",
- "ownerAddress": "2262WQqqiFonBaKtdKdsAxurcYuD3Ag5C6QAfZXQXq6DwufZUbFP5CEvU6hYAvURQWY2iRmfQZD2HqniuYFqXTFE1R2wjBkoy7zNY9GWzduegdzTBYk5PpxT5W8t9U3P29xU",
- "hasSeparateOwner": false
- },
- {
- "amount": 4900000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "25Q7QA1w5MS3cJaurwu7YnezymMt4gt8JwjLdRwUFfF8BLCERdSNpDfNbV54R28GFzPP5vjBPnw1iUYxSaomSdXa64FwZz4XgaZcEeF3RB5jn7Spvbe9qXAMf9grR6vAi5p1",
- "locked_amt": 0,
- "reward": 103836672999,
- "owner": {
- "Account": "25Q7QA1w5MS3cJaurwu7YnezymMt4gt8JwjLdRwUFfF8BLCERdSNpDfNbV54R28GFzPP5vjBPnw1iUYxSaomSdXa64FwZz4XgaZcEeF3RB5jn7Spvbe9qXAMf9grR6vAi5p1"
- },
- "rank": 148,
- "ownerType": "Account",
- "ownerAddress": "25Q7QA1w5MS3cJaurwu7YnezymMt4gt8JwjLdRwUFfF8BLCERdSNpDfNbV54R28GFzPP5vjBPnw1iUYxSaomSdXa64FwZz4XgaZcEeF3RB5jn7Spvbe9qXAMf9grR6vAi5p1",
- "hasSeparateOwner": false
- },
- {
- "amount": 4900000000000,
- "eligibility": 30240,
- "faults": 0,
- "hard_faults": 0,
- "key": "262ZminCbPCFP6Cq5LfzWd8h58CJ1dRKKmV59RVYRhug4ymFFZ94sTzDqQhKKQj4Ef3a8SBAP1TcfM15HCGTEeaT3jHeFJwHQS3agTbcjVTcsPzfg5cgmsSLHkSBfJ3ret9Z",
- "locked_amt": 0,
- "reward": 58878012343,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 149,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4888000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "21qyUCtnGwCKHKb42jZak8771rAavhcqNaHkDZsvrSb7Vq6zSBEivSL4kDk7VBFs234WvCveUtHaqSxdu98s41K6sAu8hno3n5jzcLwhm9E4SAwCNf8q2KBaGzmXCRgANpoz",
- "locked_amt": 0,
- "reward": 49013517348,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 150,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4800000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "mHGvQ9XdjzuGyixBGrMeeC7EdX9QZNWV64FQWWwTMhFYmdskMbZkQMGiKC3DXqx8ALS4ipC3TJ9NckHPzD7AC1Tfc1GH3TrCxAZ8o93rPux7H5V95Q3hPxdxHiTfxTvgn7f",
- "locked_amt": 0,
- "reward": 89505343279,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 151,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4800000000000,
- "eligibility": 23760,
- "faults": 0,
- "hard_faults": 0,
- "key": "mUJHMDEBiTUVJU5U76Krb5wwMXK6R7CjBrTTGFFAZzgwnasxspJMbcUjedRsY8TbrRfxCuyhmvgb7Kv4chjvHNDsyWA6J8XTSCPH4y5PeqLyLvCCdgUnQ74FDFHNxRNhoAA",
- "locked_amt": 0,
- "reward": 73800637305,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 152,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4800000000000,
- "eligibility": 8640,
- "faults": 0,
- "hard_faults": 0,
- "key": "xwMHJQgF9EGawzuMt5Pvjp1tSWEQmWbeU9T34qTeTeoY8nPijm3qd7G6PrNVWCm53FGsHL5Pc442oLqwwLZZZoqky7Cz2yUYf9jEcMzsGKj45rBmG5CbdhLLmzFm8Tb2Lih",
- "locked_amt": 0,
- "reward": 73181450856,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 153,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4777000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "nEWqKGKsew4zQMYPCYpdkDXdE4USkvPbH4sZkS6f1LuoLRcfWQ3oxPjaFN1mHc7xdw6DbNwzELF8TzqFyKhnxeG1SkBAzy3qFxKk5EkzathBRhUS6662v8fx8zixV2eXKwR",
- "locked_amt": 0,
- "reward": 20921406738,
- "owner": {
- "Account": "nEWqKGKsew4zQMYPCYpdkDXdE4USkvPbH4sZkS6f1LuoLRcfWQ3oxPjaFN1mHc7xdw6DbNwzELF8TzqFyKhnxeG1SkBAzy3qFxKk5EkzathBRhUS6662v8fx8zixV2eXKwR"
- },
- "rank": 154,
- "ownerType": "Account",
- "ownerAddress": "nEWqKGKsew4zQMYPCYpdkDXdE4USkvPbH4sZkS6f1LuoLRcfWQ3oxPjaFN1mHc7xdw6DbNwzELF8TzqFyKhnxeG1SkBAzy3qFxKk5EkzathBRhUS6662v8fx8zixV2eXKwR",
- "hasSeparateOwner": false
- },
- {
- "amount": 4750000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "22cV6z47RkVLMpimfQPeouFwfi8HUHXsG9tRvZq6AwyBETPuqFyxsrgrbEp3UnnaiN6719KjEFfbKijxDfLsCUrEpj4KC2N9CzYBdCA2mZkeKBC8hSBt7zWnVCrWusE581pv",
- "locked_amt": 0,
- "reward": 46959650586,
- "owner": {
- "Account": "22cV6z47RkVLMpimfQPeouFwfi8HUHXsG9tRvZq6AwyBETPuqFyxsrgrbEp3UnnaiN6719KjEFfbKijxDfLsCUrEpj4KC2N9CzYBdCA2mZkeKBC8hSBt7zWnVCrWusE581pv"
- },
- "rank": 155,
- "ownerType": "Account",
- "ownerAddress": "22cV6z47RkVLMpimfQPeouFwfi8HUHXsG9tRvZq6AwyBETPuqFyxsrgrbEp3UnnaiN6719KjEFfbKijxDfLsCUrEpj4KC2N9CzYBdCA2mZkeKBC8hSBt7zWnVCrWusE581pv",
- "hasSeparateOwner": false
- },
- {
- "amount": 4700000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "zhXg8xqq1EvUxQVajbGJrdYfTcpwRw4V8cbnQL8aPMB4CCv2HMJ6Xkh7FotjeYMQmvVqfkL3gv1dNjuty9hfrEHQQdYFNAnquV5NBnCGueku9sFbSfif2DURijNfLDrVc4q",
- "locked_amt": 0,
- "reward": 34657796153,
- "owner": {
- "Account": "zhXg8xqq1EvUxQVajbGJrdYfTcpwRw4V8cbnQL8aPMB4CCv2HMJ6Xkh7FotjeYMQmvVqfkL3gv1dNjuty9hfrEHQQdYFNAnquV5NBnCGueku9sFbSfif2DURijNfLDrVc4q"
- },
- "rank": 156,
- "ownerType": "Account",
- "ownerAddress": "zhXg8xqq1EvUxQVajbGJrdYfTcpwRw4V8cbnQL8aPMB4CCv2HMJ6Xkh7FotjeYMQmvVqfkL3gv1dNjuty9hfrEHQQdYFNAnquV5NBnCGueku9sFbSfif2DURijNfLDrVc4q",
- "hasSeparateOwner": false
- },
- {
- "amount": 4600000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "sVhNRcqfxqYXh5YBWXbvpx36voghkU7SMr4LY15Ru7UQHtQv6a3VniWr2WD8cuKqF3fveVz6gLnfrfDU7d5vVaP3EQfpH6NnPDhyqAo1GSBP4hnBte9Lg9qYnB34LRUAJzK",
- "locked_amt": 0,
- "reward": 76392744936,
- "owner": {
- "Account": "sVhNRcqfxqYXh5YBWXbvpx36voghkU7SMr4LY15Ru7UQHtQv6a3VniWr2WD8cuKqF3fveVz6gLnfrfDU7d5vVaP3EQfpH6NnPDhyqAo1GSBP4hnBte9Lg9qYnB34LRUAJzK"
- },
- "rank": 157,
- "ownerType": "Account",
- "ownerAddress": "sVhNRcqfxqYXh5YBWXbvpx36voghkU7SMr4LY15Ru7UQHtQv6a3VniWr2WD8cuKqF3fveVz6gLnfrfDU7d5vVaP3EQfpH6NnPDhyqAo1GSBP4hnBte9Lg9qYnB34LRUAJzK",
- "hasSeparateOwner": false
- },
- {
- "amount": 4550000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "mvsVWvCaiHtugFDx1VmDCX5Zeex1u1768EWuMYBF68czYLbJ8rtaxBbqKvLJJsCD9xEDmLm2STduJsb2j11VEsT7ZUGBzAURd8884zUMDyeWVgrE1CfbGCaYvcdeSzHCUUb",
- "locked_amt": 0,
- "reward": 75588259150,
- "owner": {
- "Account": "mvsVWvCaiHtugFDx1VmDCX5Zeex1u1768EWuMYBF68czYLbJ8rtaxBbqKvLJJsCD9xEDmLm2STduJsb2j11VEsT7ZUGBzAURd8884zUMDyeWVgrE1CfbGCaYvcdeSzHCUUb"
- },
- "rank": 158,
- "ownerType": "Account",
- "ownerAddress": "mvsVWvCaiHtugFDx1VmDCX5Zeex1u1768EWuMYBF68czYLbJ8rtaxBbqKvLJJsCD9xEDmLm2STduJsb2j11VEsT7ZUGBzAURd8884zUMDyeWVgrE1CfbGCaYvcdeSzHCUUb",
- "hasSeparateOwner": false
- },
- {
- "amount": 4550000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "ozZES9sJc2KfPDM4ovagzb6PrVkftgGmsM3wsamBKCgPWAtn2zV2Hvx55ToWcxektLCQw89na4U1DxvDUPioFSkJA3CtR2tbMtcU2PuYiKnCNcRrBuXFtmoiLcRzBqSZXJB",
- "locked_amt": 0,
- "reward": 90404117665,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 159,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4500000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "o73g7mTw89CmomkXJMWB4DGVk1fQZRcdty7dyWV8ww6tL3B35ntiN7fQzLvhoiMbuMm6e9WEhFNevwrktUZPesednKyPXdN1V2AcKv9f8SG9awTmRYhDB9XhJqDP7ikcsmv",
- "locked_amt": 0,
- "reward": 103124193866,
- "owner": {
- "Account": "o73g7mTw89CmomkXJMWB4DGVk1fQZRcdty7dyWV8ww6tL3B35ntiN7fQzLvhoiMbuMm6e9WEhFNevwrktUZPesednKyPXdN1V2AcKv9f8SG9awTmRYhDB9XhJqDP7ikcsmv"
- },
- "rank": 160,
- "ownerType": "Account",
- "ownerAddress": "o73g7mTw89CmomkXJMWB4DGVk1fQZRcdty7dyWV8ww6tL3B35ntiN7fQzLvhoiMbuMm6e9WEhFNevwrktUZPesednKyPXdN1V2AcKv9f8SG9awTmRYhDB9XhJqDP7ikcsmv",
- "hasSeparateOwner": false
- },
- {
- "amount": 4500000000000,
- "eligibility": 30240,
- "faults": 0,
- "hard_faults": 0,
- "key": "r9Vbf2N6mQ1feskB4H5YKDZcN3eak4S6aPPZxhmXtyYd7T6zKVCCeGnvUmJizWJ7C75K4WHM1X9hjCaibDSYEskG12yftf5ezmiJEAP63YrjgSz3piS1mG4qEztyB2UCbNs",
- "locked_amt": 0,
- "reward": 43593937160,
- "owner": {
- "Account": "r9Vbf2N6mQ1feskB4H5YKDZcN3eak4S6aPPZxhmXtyYd7T6zKVCCeGnvUmJizWJ7C75K4WHM1X9hjCaibDSYEskG12yftf5ezmiJEAP63YrjgSz3piS1mG4qEztyB2UCbNs"
- },
- "rank": 161,
- "ownerType": "Account",
- "ownerAddress": "r9Vbf2N6mQ1feskB4H5YKDZcN3eak4S6aPPZxhmXtyYd7T6zKVCCeGnvUmJizWJ7C75K4WHM1X9hjCaibDSYEskG12yftf5ezmiJEAP63YrjgSz3piS1mG4qEztyB2UCbNs",
- "hasSeparateOwner": false
- },
- {
- "amount": 4500000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "r9yn7nYTELPBLbx15arphaTFezyjCVaBTTAHGSdeRC7piHac9PGkUS9qm7PXZvukLjncPdxAznHSSzb8ngu7iJX5wNdqEK4TnN1P6uxugwFC4JcaH6vzgu4kRrCfySz6nSe",
- "locked_amt": 0,
- "reward": 116743536281,
- "owner": {
- "Account": "r9yn7nYTELPBLbx15arphaTFezyjCVaBTTAHGSdeRC7piHac9PGkUS9qm7PXZvukLjncPdxAznHSSzb8ngu7iJX5wNdqEK4TnN1P6uxugwFC4JcaH6vzgu4kRrCfySz6nSe"
- },
- "rank": 162,
- "ownerType": "Account",
- "ownerAddress": "r9yn7nYTELPBLbx15arphaTFezyjCVaBTTAHGSdeRC7piHac9PGkUS9qm7PXZvukLjncPdxAznHSSzb8ngu7iJX5wNdqEK4TnN1P6uxugwFC4JcaH6vzgu4kRrCfySz6nSe",
- "hasSeparateOwner": false
- },
- {
- "amount": 4500000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "xuLxjqrDRxcsXMYmuDnRkFnELD6BdMcQUrKjH7hBq7a37LzrG96Da5oCDaLaHfBxz9DzKbQj3RAvK32nHQ7qhRuWFUkRERkNHWwasg81MXNqKrm6dYnE4GvTXbiPL3Gx92B",
- "locked_amt": 0,
- "reward": 116776106940,
- "owner": {
- "Account": "xuLxjqrDRxcsXMYmuDnRkFnELD6BdMcQUrKjH7hBq7a37LzrG96Da5oCDaLaHfBxz9DzKbQj3RAvK32nHQ7qhRuWFUkRERkNHWwasg81MXNqKrm6dYnE4GvTXbiPL3Gx92B"
- },
- "rank": 163,
- "ownerType": "Account",
- "ownerAddress": "xuLxjqrDRxcsXMYmuDnRkFnELD6BdMcQUrKjH7hBq7a37LzrG96Da5oCDaLaHfBxz9DzKbQj3RAvK32nHQ7qhRuWFUkRERkNHWwasg81MXNqKrm6dYnE4GvTXbiPL3Gx92B",
- "hasSeparateOwner": false
- },
- {
- "amount": 4500000000000,
- "eligibility": 28080,
- "faults": 0,
- "hard_faults": 0,
- "key": "21kpiMmStRRMSwV9C2NQ5J1p3kWiSKyjHFUZHw7Jk4GfPEgdnAJGr3UPwqqncYTQA3xuG3bEWoBoDyDULAe88BVxfbWopLbcuHiSoaUq4hRMAdeKeE5TreePkYrQ8GkTaQW3",
- "locked_amt": 0,
- "reward": 3413845903,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 164,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4500000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "23yK4TxQev3oLV9nYFS9PzhppZLDZGJh3BqNHA3uEnP1DtmL95oFE2dLWvY8Fj3gHNxmv9zAkjDkRdZEEgjVo4omyYtaNvDs83kv777NSr2DXhJegkbz1dHurp1k7un8ZR5W",
- "locked_amt": 0,
- "reward": 62054372,
- "owner": {
- "Account": "23yK4TxQev3oLV9nYFS9PzhppZLDZGJh3BqNHA3uEnP1DtmL95oFE2dLWvY8Fj3gHNxmv9zAkjDkRdZEEgjVo4omyYtaNvDs83kv777NSr2DXhJegkbz1dHurp1k7un8ZR5W"
- },
- "rank": 165,
- "ownerType": "Account",
- "ownerAddress": "23yK4TxQev3oLV9nYFS9PzhppZLDZGJh3BqNHA3uEnP1DtmL95oFE2dLWvY8Fj3gHNxmv9zAkjDkRdZEEgjVo4omyYtaNvDs83kv777NSr2DXhJegkbz1dHurp1k7un8ZR5W",
- "hasSeparateOwner": false
- },
- {
- "amount": 4500000000000,
- "eligibility": 25920,
- "faults": 0,
- "hard_faults": 0,
- "key": "26q6wyM9QDhY9k5eZkCRRDaSkHXPzQKYxvPVSEcTYW2sPdzzxdAqP7R7uVxtyNeqQKVypj8kbaQGXYWqYcBg6kAtDTKm84Dxgbj4ZwjqgoWjXb5MS3R6vcXvwBNd51neQn7a",
- "locked_amt": 0,
- "reward": 30968992591,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 166,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4000000000000,
- "eligibility": 28080,
- "faults": 0,
- "hard_faults": 0,
- "key": "nKfphGtCdB6YDbRu1dVSDHqqKa7LwJpcYg9NhXxHpdpPaQqePqYzQXkVKJFXCqp8QD37Sv9s9gR8gkJtrAB14CnfTr386JpP4BtwqUbUnyNt73EJhzssH7GxrfL9N8Nn9Cv",
- "locked_amt": 0,
- "reward": 59295171436,
- "owner": {
- "Account": "nKfphGtCdB6YDbRu1dVSDHqqKa7LwJpcYg9NhXxHpdpPaQqePqYzQXkVKJFXCqp8QD37Sv9s9gR8gkJtrAB14CnfTr386JpP4BtwqUbUnyNt73EJhzssH7GxrfL9N8Nn9Cv"
- },
- "rank": 167,
- "ownerType": "Account",
- "ownerAddress": "nKfphGtCdB6YDbRu1dVSDHqqKa7LwJpcYg9NhXxHpdpPaQqePqYzQXkVKJFXCqp8QD37Sv9s9gR8gkJtrAB14CnfTr386JpP4BtwqUbUnyNt73EJhzssH7GxrfL9N8Nn9Cv",
- "hasSeparateOwner": false
- },
- {
- "amount": 4000000000000,
- "eligibility": 38880,
- "faults": 0,
- "hard_faults": 0,
- "key": "p4tLgEbhB1YGpV75jStoKCeCaD41yvYopK11rZW9XxX6BepfcAtucZYFW9kjCfGXySTYsAkumEhdeLMbDfHjyF42FEhPWeQ7vGKVrcg2cZmGHdnC65L5v5fP5we9c6Cx9W2",
- "locked_amt": 0,
- "reward": 15251767219,
- "owner": {
- "Account": "p4tLgEbhB1YGpV75jStoKCeCaD41yvYopK11rZW9XxX6BepfcAtucZYFW9kjCfGXySTYsAkumEhdeLMbDfHjyF42FEhPWeQ7vGKVrcg2cZmGHdnC65L5v5fP5we9c6Cx9W2"
- },
- "rank": 168,
- "ownerType": "Account",
- "ownerAddress": "p4tLgEbhB1YGpV75jStoKCeCaD41yvYopK11rZW9XxX6BepfcAtucZYFW9kjCfGXySTYsAkumEhdeLMbDfHjyF42FEhPWeQ7vGKVrcg2cZmGHdnC65L5v5fP5we9c6Cx9W2",
- "hasSeparateOwner": false
- },
- {
- "amount": 4000000000000,
- "eligibility": 21600,
- "faults": 0,
- "hard_faults": 0,
- "key": "rC7VrR2X35N4nq8c9o5xsT8buA3xwPu5WUavfDmQEyW59KbANGuHYA6LLwiWmDpfWhxuzmdV5PfpW6GGhrE78eBNjA2wP27pZWASEsbJfEVboF5ZUuvVKCiESwfVXypG279",
- "locked_amt": 0,
- "reward": 31014366707,
- "owner": {
- "Account": "rC7VrR2X35N4nq8c9o5xsT8buA3xwPu5WUavfDmQEyW59KbANGuHYA6LLwiWmDpfWhxuzmdV5PfpW6GGhrE78eBNjA2wP27pZWASEsbJfEVboF5ZUuvVKCiESwfVXypG279"
- },
- "rank": 169,
- "ownerType": "Account",
- "ownerAddress": "rC7VrR2X35N4nq8c9o5xsT8buA3xwPu5WUavfDmQEyW59KbANGuHYA6LLwiWmDpfWhxuzmdV5PfpW6GGhrE78eBNjA2wP27pZWASEsbJfEVboF5ZUuvVKCiESwfVXypG279",
- "hasSeparateOwner": false
- },
- {
- "amount": 4000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "uk9f7YWz1316Sd9j6TG3o7D5uLczKKGnU7B4KdKBhqRxeHVb5aVCYsLX9VT8ENN3WL673FbJccYEGHtgkZztpuezbETuXFyq9ATR7obC6C2aYBL3GMSzSTS46GJjEp8axQj",
- "locked_amt": 0,
- "reward": 17949227919,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 170,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4000000000000,
- "eligibility": 38880,
- "faults": 0,
- "hard_faults": 0,
- "key": "226JM6nXE6JjybjeJrKKjnqUe1J7RGxXoqJmnxztqfftcfwYNjVTQwCE7zFFFtxg7pcoK77yxwZFFi5aSyM1tq2Y2HiD1Hu1dHUBvzwG4XVtZB9bjEKm8ySP3rsfoxTqMacu",
- "locked_amt": 0,
- "reward": 1256601033,
- "owner": {
- "Account": "226JM6nXE6JjybjeJrKKjnqUe1J7RGxXoqJmnxztqfftcfwYNjVTQwCE7zFFFtxg7pcoK77yxwZFFi5aSyM1tq2Y2HiD1Hu1dHUBvzwG4XVtZB9bjEKm8ySP3rsfoxTqMacu"
- },
- "rank": 171,
- "ownerType": "Account",
- "ownerAddress": "226JM6nXE6JjybjeJrKKjnqUe1J7RGxXoqJmnxztqfftcfwYNjVTQwCE7zFFFtxg7pcoK77yxwZFFi5aSyM1tq2Y2HiD1Hu1dHUBvzwG4XVtZB9bjEKm8ySP3rsfoxTqMacu",
- "hasSeparateOwner": false
- },
- {
- "amount": 4000000000000,
- "eligibility": 23760,
- "faults": 0,
- "hard_faults": 0,
- "key": "22Y2adibhscn7noPkrv4cpiNYmV3Ft2d9WQrRygrttZhnFic4omqm9x1ViGQmm1voC71q99PqyG1SVrv8TFVgV84qx5babCVYdwSrESwFXL3NSeYs8ToiYZEYcQhZNmW8zM1",
- "locked_amt": 0,
- "reward": 29026385350,
- "owner": {
- "Account": "22Y2adibhscn7noPkrv4cpiNYmV3Ft2d9WQrRygrttZhnFic4omqm9x1ViGQmm1voC71q99PqyG1SVrv8TFVgV84qx5babCVYdwSrESwFXL3NSeYs8ToiYZEYcQhZNmW8zM1"
- },
- "rank": 172,
- "ownerType": "Account",
- "ownerAddress": "22Y2adibhscn7noPkrv4cpiNYmV3Ft2d9WQrRygrttZhnFic4omqm9x1ViGQmm1voC71q99PqyG1SVrv8TFVgV84qx5babCVYdwSrESwFXL3NSeYs8ToiYZEYcQhZNmW8zM1",
- "hasSeparateOwner": false
- },
- {
- "amount": 4000000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "23F5qFXPz725XUY1mMy6KtJmgUJPDEpgW3PntEUTvKJUcoBnFy8EC1L8r1RgiGUVRsLbYPcoQNVBzQjuNqyzCPmZ3PGu7PnjYvDijqweTJg4b6qHqNvGMvmWedJQcdLuLhRL",
- "locked_amt": 0,
- "reward": 87840299414,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 173,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 4000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "254ZiKWavWqYmoo2jw2QpGXtkUZs9nYY2dVbSkKeHpGiWPxNJfwVyp6erZLcuuad4fRTzyqvyRT71fLQ3UdSHfWUPVckWP9GaJX2pee7F4mgq3UGThncSx8sNvjW47gHPWd5",
- "locked_amt": 0,
- "reward": 1225593829,
- "owner": {
- "Account": "254ZiKWavWqYmoo2jw2QpGXtkUZs9nYY2dVbSkKeHpGiWPxNJfwVyp6erZLcuuad4fRTzyqvyRT71fLQ3UdSHfWUPVckWP9GaJX2pee7F4mgq3UGThncSx8sNvjW47gHPWd5"
- },
- "rank": 174,
- "ownerType": "Account",
- "ownerAddress": "254ZiKWavWqYmoo2jw2QpGXtkUZs9nYY2dVbSkKeHpGiWPxNJfwVyp6erZLcuuad4fRTzyqvyRT71fLQ3UdSHfWUPVckWP9GaJX2pee7F4mgq3UGThncSx8sNvjW47gHPWd5",
- "hasSeparateOwner": false
- },
- {
- "amount": 3988000000000,
- "eligibility": 10800,
- "faults": 0,
- "hard_faults": 0,
- "key": "ppMLM6t6GLmZb7xzx617TTHQPdHHRNSfB8PjtGe8YNbWAo4BRYfnNYZxCj62pLY8gXZqsrx7TaBS17dRsHoE81wLHgMHaYoq2z6GHX7KAD5TiRcX1w5ctiSqV3idx3SJdAe",
- "locked_amt": 0,
- "reward": 32534699326,
- "owner": {
- "Account": "ppMLM6t6GLmZb7xzx617TTHQPdHHRNSfB8PjtGe8YNbWAo4BRYfnNYZxCj62pLY8gXZqsrx7TaBS17dRsHoE81wLHgMHaYoq2z6GHX7KAD5TiRcX1w5ctiSqV3idx3SJdAe"
- },
- "rank": 175,
- "ownerType": "Account",
- "ownerAddress": "ppMLM6t6GLmZb7xzx617TTHQPdHHRNSfB8PjtGe8YNbWAo4BRYfnNYZxCj62pLY8gXZqsrx7TaBS17dRsHoE81wLHgMHaYoq2z6GHX7KAD5TiRcX1w5ctiSqV3idx3SJdAe",
- "hasSeparateOwner": false
- },
- {
- "amount": 3528000000000,
- "eligibility": 56160,
- "faults": 3,
- "hard_faults": 0,
- "key": "25iyRWkrjAy6XKcroW4JQNxkoitsN8HsgDbCyP1gUYXrfLVJaTDKjeTsVEWniw3o316ADgEecWpcSkMBrFaztbvDMRJu3HwNyTpP3E8v4ecAQF3sXGVFvFVZsbxUibGqJFvF",
- "locked_amt": 1372000000000,
- "reward": 0,
- "owner": {
- "Account": "25iyRWkrjAy6XKcroW4JQNxkoitsN8HsgDbCyP1gUYXrfLVJaTDKjeTsVEWniw3o316ADgEecWpcSkMBrFaztbvDMRJu3HwNyTpP3E8v4ecAQF3sXGVFvFVZsbxUibGqJFvF"
- },
- "rank": 176,
- "ownerType": "Account",
- "ownerAddress": "25iyRWkrjAy6XKcroW4JQNxkoitsN8HsgDbCyP1gUYXrfLVJaTDKjeTsVEWniw3o316ADgEecWpcSkMBrFaztbvDMRJu3HwNyTpP3E8v4ecAQF3sXGVFvFVZsbxUibGqJFvF",
- "hasSeparateOwner": false
- },
- {
- "amount": 3000000000000,
- "eligibility": 45360,
- "faults": 0,
- "hard_faults": 0,
- "key": "tz9ChDUKqoPTfrpfTdPLEBHCQHf4j68bJRUomGVrPGRTdC7i5fQJJRQjqAY1EYE9JpvYW1vPRPQb7RqgighKQGXB64cjD5CCV3gwcc4U5Mj8T4sPwV2yRRsVqSTruwTX9kJ",
- "locked_amt": 0,
- "reward": 682598092,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 177,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 3000000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "yY5K4A2gvP6J1mMZJ8fjB67pFQS9Jmr2gcrvckB7A6fCW3P5NzciwHvFXg2UqCfApGUkA9L3BvrjGGHk8spVdLQv1AuqjGfiSL21uJF4k6pNJZuV8b3vuoupKPRQWHEsyKf",
- "locked_amt": 0,
- "reward": 59342189044,
- "owner": {
- "Account": "yY5K4A2gvP6J1mMZJ8fjB67pFQS9Jmr2gcrvckB7A6fCW3P5NzciwHvFXg2UqCfApGUkA9L3BvrjGGHk8spVdLQv1AuqjGfiSL21uJF4k6pNJZuV8b3vuoupKPRQWHEsyKf"
- },
- "rank": 178,
- "ownerType": "Account",
- "ownerAddress": "yY5K4A2gvP6J1mMZJ8fjB67pFQS9Jmr2gcrvckB7A6fCW3P5NzciwHvFXg2UqCfApGUkA9L3BvrjGGHk8spVdLQv1AuqjGfiSL21uJF4k6pNJZuV8b3vuoupKPRQWHEsyKf",
- "hasSeparateOwner": false
- },
- {
- "amount": 2500000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "yWynRKzN1BdKJQDtv848LdSRJrFqdrudoDTnre2fiWAC8XvZuTb4UAjAkStu9idW4N9R8ncnuk4dsMFPE63AgF3Jbdemax5pH2YMkngxkjEBBaRpEV1wHHZh2ecS3vKeGiN",
- "locked_amt": 0,
- "reward": 17095981698,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 179,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 2494800000000,
- "eligibility": 51840,
- "faults": 4,
- "hard_faults": 0,
- "key": "22sM1aodiz758CdgA6FyDAa9zqKPrVUSdgZgwKZvGEYj9RGCZAubZEp4mMQKyWV8vwS11wWso6RU4wiMsgL6LuUnKM5zyNMW3nEoSBpBPucoaKyDw2W7W5rrCYW1i7xj1s1R",
- "locked_amt": 2455200000000,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 180,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 2000000000000,
- "eligibility": 32400,
- "faults": 0,
- "hard_faults": 0,
- "key": "qpJaJG4yqMuvoasorwb3YKXGQnBLqsdRHWjVnj3cz4MQCS4Tp8hbxDwdz2gx8N7uzy42k6uEGExzkn7tcvnJufaC42agLULKffRMyybrWfXBX1KUcPGQXHAQ4UabkrACPK4",
- "locked_amt": 0,
- "reward": 15050402114,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 181,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 2000000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "rqEDwXotmnA4fu2aJqcRQkuUsew238zsTyA2ydm8P8ZmmXaFXYFNvp2FG4N3VXMUPSerpCXfZEFxkdzbiGESZwv9Reo3eTRsv1ELZGFXEjiEwqAVeXwaGGDUh1g27G7u3tY",
- "locked_amt": 0,
- "reward": 77567965,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 182,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 2000000000000,
- "eligibility": 41040,
- "faults": 0,
- "hard_faults": 0,
- "key": "tDZQKdp9m1Xp9VZkPyg5scFDArZBAJxTsa4rYheD1jx9Y1GrpwtMFeySZKy88xZxiMFs53x8zZqSTmNKbPjGdPwzy3b8KSp5yTmLjBhBZmKPnLvMjv4mSDWCjL9Sq3ULmFy",
- "locked_amt": 0,
- "reward": 14536237313,
- "owner": {
- "Account": "tDZQKdp9m1Xp9VZkPyg5scFDArZBAJxTsa4rYheD1jx9Y1GrpwtMFeySZKy88xZxiMFs53x8zZqSTmNKbPjGdPwzy3b8KSp5yTmLjBhBZmKPnLvMjv4mSDWCjL9Sq3ULmFy"
- },
- "rank": 183,
- "ownerType": "Account",
- "ownerAddress": "tDZQKdp9m1Xp9VZkPyg5scFDArZBAJxTsa4rYheD1jx9Y1GrpwtMFeySZKy88xZxiMFs53x8zZqSTmNKbPjGdPwzy3b8KSp5yTmLjBhBZmKPnLvMjv4mSDWCjL9Sq3ULmFy",
- "hasSeparateOwner": false
- },
- {
- "amount": 2000000000000,
- "eligibility": 56160,
- "faults": 0,
- "hard_faults": 0,
- "key": "uKPG5siNPyqg2t6pi81Q6vJXTZ37e51rMoo8ShXVUxSSPqL5TvbBKj6yw7bWo286DCnULsWfwFFkc7FGraPGuxWT5CycwLBfDTPUYRhHJ96A2ZSZWuqdDbKjCVvndikgW9A",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 184,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 2000000000000,
- "eligibility": 21600,
- "faults": 0,
- "hard_faults": 0,
- "key": "xR2Au27wxGRkM9ZpbbkPnUP4uSo4jWFCVig5d3CP7DR9fZ7oJko7JaDraeTx7RLEpauvZBdxfttcUz3VkAjnxGLXr6xNzrJPuqJt29BkgQH2KTkLukfzzPy4uRFveGVBK3t",
- "locked_amt": 0,
- "reward": 16103964526,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 185,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 2000000000000,
- "eligibility": 45360,
- "faults": 0,
- "hard_faults": 0,
- "key": "ydXphWoWDVpfWv5mkEr4m51kk24ChV8FUrwGhSfmcHJYHPnGgLrWTk8XaJTMWHunoToasBLR2UYBLGPPX7D3dy6KVXPV3fAWU8Gr7YsEimivPKhCoAQC8psRYhGtZMXUPRt",
- "locked_amt": 0,
- "reward": 310271860,
- "owner": {
- "Account": "ydXphWoWDVpfWv5mkEr4m51kk24ChV8FUrwGhSfmcHJYHPnGgLrWTk8XaJTMWHunoToasBLR2UYBLGPPX7D3dy6KVXPV3fAWU8Gr7YsEimivPKhCoAQC8psRYhGtZMXUPRt"
- },
- "rank": 186,
- "ownerType": "Account",
- "ownerAddress": "ydXphWoWDVpfWv5mkEr4m51kk24ChV8FUrwGhSfmcHJYHPnGgLrWTk8XaJTMWHunoToasBLR2UYBLGPPX7D3dy6KVXPV3fAWU8Gr7YsEimivPKhCoAQC8psRYhGtZMXUPRt",
- "hasSeparateOwner": false
- },
- {
- "amount": 2000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "zzxfn4pQEjVwMGhdPszeyHtWZf1wbxmGR75JGeBK6cXe8sYGnwXVdn8Vvi4p6ZLSWJwTrrWbpKBoMWWZk4XAro8gwyMnfSxeziTkX9YqWYUytokgBxVPHHBiPsqUTWP2xNL",
- "locked_amt": 0,
- "reward": 17392236037,
- "owner": {
- "Account": "zzxfn4pQEjVwMGhdPszeyHtWZf1wbxmGR75JGeBK6cXe8sYGnwXVdn8Vvi4p6ZLSWJwTrrWbpKBoMWWZk4XAro8gwyMnfSxeziTkX9YqWYUytokgBxVPHHBiPsqUTWP2xNL"
- },
- "rank": 187,
- "ownerType": "Account",
- "ownerAddress": "zzxfn4pQEjVwMGhdPszeyHtWZf1wbxmGR75JGeBK6cXe8sYGnwXVdn8Vvi4p6ZLSWJwTrrWbpKBoMWWZk4XAro8gwyMnfSxeziTkX9YqWYUytokgBxVPHHBiPsqUTWP2xNL",
- "hasSeparateOwner": false
- },
- {
- "amount": 1500000000000,
- "eligibility": 45360,
- "faults": 0,
- "hard_faults": 0,
- "key": "rp6vhhSNpCdJ7aseZjij5y7AdA4ikNVs4eqqSsXohTRUzKvb2gj9PwZVifmD8gHf11oTpNRoeRLrP3PCyvQmkBbHwLbLPBpmcXaVmukputWsT2HYVKP4By4TGtMEx1StCv5",
- "locked_amt": 0,
- "reward": 294778248,
- "owner": {
- "Account": "rp6vhhSNpCdJ7aseZjij5y7AdA4ikNVs4eqqSsXohTRUzKvb2gj9PwZVifmD8gHf11oTpNRoeRLrP3PCyvQmkBbHwLbLPBpmcXaVmukputWsT2HYVKP4By4TGtMEx1StCv5"
- },
- "rank": 188,
- "ownerType": "Account",
- "ownerAddress": "rp6vhhSNpCdJ7aseZjij5y7AdA4ikNVs4eqqSsXohTRUzKvb2gj9PwZVifmD8gHf11oTpNRoeRLrP3PCyvQmkBbHwLbLPBpmcXaVmukputWsT2HYVKP4By4TGtMEx1StCv5",
- "hasSeparateOwner": false
- },
- {
- "amount": 1500000000000,
- "eligibility": 41040,
- "faults": 0,
- "hard_faults": 0,
- "key": "uVvGzvmdDZWC9pcLvGEvazVWdJFQsLphEPBA61j5pVWrnwGztzENkYWhjaTtqAkykBS3khzYhGXFwfC3fMe2H5whVAq4jbe2FZQCePks193bfd1xe2uYfehZiNxw4zKvMNZ",
- "locked_amt": 0,
- "reward": 465407790,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 189,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1234000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "mLx5HUo5PhsobwgMJhzL9j8TY7TjC13EsxHL7cKLTmMJ9BqvnG2RttD2uMg1FEDprnSvmN7BwCkpr6wW9XSco2ASrUjou2neUXj4uq16NreXVk4jmfr3CEHqvBrRgEzoka8",
- "locked_amt": 0,
- "reward": 29633646022,
- "owner": {
- "Account": "mLx5HUo5PhsobwgMJhzL9j8TY7TjC13EsxHL7cKLTmMJ9BqvnG2RttD2uMg1FEDprnSvmN7BwCkpr6wW9XSco2ASrUjou2neUXj4uq16NreXVk4jmfr3CEHqvBrRgEzoka8"
- },
- "rank": 190,
- "ownerType": "Account",
- "ownerAddress": "mLx5HUo5PhsobwgMJhzL9j8TY7TjC13EsxHL7cKLTmMJ9BqvnG2RttD2uMg1FEDprnSvmN7BwCkpr6wW9XSco2ASrUjou2neUXj4uq16NreXVk4jmfr3CEHqvBrRgEzoka8",
- "hasSeparateOwner": false
- },
- {
- "amount": 1000000000000,
- "eligibility": 8640,
- "faults": 0,
- "hard_faults": 0,
- "key": "mWvq9EWD9b8gQw5uD4GnYaV8Wsn86youaZ1ghCjwTkTyghBnrMz1tGdwKRnjd3svKQE1fMxfdu6M64pEN9NCUhcbwrER4s3HKpYGEp4m7pfsBMoDjbYzTTUxooU7BY2oEDe",
- "locked_amt": 0,
- "reward": 1613840782,
- "owner": {
- "Account": "mWvq9EWD9b8gQw5uD4GnYaV8Wsn86youaZ1ghCjwTkTyghBnrMz1tGdwKRnjd3svKQE1fMxfdu6M64pEN9NCUhcbwrER4s3HKpYGEp4m7pfsBMoDjbYzTTUxooU7BY2oEDe"
- },
- "rank": 191,
- "ownerType": "Account",
- "ownerAddress": "mWvq9EWD9b8gQw5uD4GnYaV8Wsn86youaZ1ghCjwTkTyghBnrMz1tGdwKRnjd3svKQE1fMxfdu6M64pEN9NCUhcbwrER4s3HKpYGEp4m7pfsBMoDjbYzTTUxooU7BY2oEDe",
- "hasSeparateOwner": false
- },
- {
- "amount": 1000000000000,
- "eligibility": 32400,
- "faults": 0,
- "hard_faults": 0,
- "key": "oZPYzFzebw3jLfvVY66FhMDmjdMyRCDpXFLsMHXShigAD9LGH7vA8uixxyd3Km7ck3RHMXPi7S1B9Sej5934hxCajhu8ivbhBVwBM2FEA5UmKfRJSngqWA8fDBWqdennNj2",
- "locked_amt": 0,
- "reward": 620543720,
- "owner": {
- "Account": "oZPYzFzebw3jLfvVY66FhMDmjdMyRCDpXFLsMHXShigAD9LGH7vA8uixxyd3Km7ck3RHMXPi7S1B9Sej5934hxCajhu8ivbhBVwBM2FEA5UmKfRJSngqWA8fDBWqdennNj2"
- },
- "rank": 192,
- "ownerType": "Account",
- "ownerAddress": "oZPYzFzebw3jLfvVY66FhMDmjdMyRCDpXFLsMHXShigAD9LGH7vA8uixxyd3Km7ck3RHMXPi7S1B9Sej5934hxCajhu8ivbhBVwBM2FEA5UmKfRJSngqWA8fDBWqdennNj2",
- "hasSeparateOwner": false
- },
- {
- "amount": 1000000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "ofpeGL63Gwsmri7qn7p85s9a9WMeepjypWvznBV4Z3CrV5fXKVujjPbAw2rSLp9upfF3bNEMspnfKYoBv3SoQt1X618TZtpoEbN4JhAsYfvaq8D5rs3ch2HESWUVk5bhNSH",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 193,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 41040,
- "faults": 0,
- "hard_faults": 0,
- "key": "p83QocPcuqMoEYuRpaLiGciwKGzUMx9VXF9WRKJu4Qb5d3hEvY6VTPB5RTJMRF3imMPAUo2KoAtve3Z42EFo2nA6ZoCvtynG5q6ASJCmxw8Sh8Yn8ArQDpJp9Zw1AXquwaN",
- "locked_amt": 0,
- "reward": 356812639,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 194,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 28080,
- "faults": 0,
- "hard_faults": 0,
- "key": "pM2PKWckAPFM22QTDRdTz8PQXMhLpxrEFog9LHBVsX3wJLog7eebNc9ASyvnF8Y3UV3GrT3GqWNMU6BsJejvroaxm7drNGmx1ZqZ4ViJnUqUDr4DZXwc92u2oxjG1DYuvRD",
- "locked_amt": 0,
- "reward": 14614232388,
- "owner": {
- "Account": "pM2PKWckAPFM22QTDRdTz8PQXMhLpxrEFog9LHBVsX3wJLog7eebNc9ASyvnF8Y3UV3GrT3GqWNMU6BsJejvroaxm7drNGmx1ZqZ4ViJnUqUDr4DZXwc92u2oxjG1DYuvRD"
- },
- "rank": 195,
- "ownerType": "Account",
- "ownerAddress": "pM2PKWckAPFM22QTDRdTz8PQXMhLpxrEFog9LHBVsX3wJLog7eebNc9ASyvnF8Y3UV3GrT3GqWNMU6BsJejvroaxm7drNGmx1ZqZ4ViJnUqUDr4DZXwc92u2oxjG1DYuvRD",
- "hasSeparateOwner": false
- },
- {
- "amount": 1000000000000,
- "eligibility": 15120,
- "faults": 0,
- "hard_faults": 0,
- "key": "q82TZ6oPSPK8F77ze6DGzwYQeAbc8mH5FXbBbcah7nH39qLCm25yvpnHz2mLvPUtsRYSngortGac683sQtMYYARotWuUBYg66igFeR2fECu1zW7a83dMCxE3EdZYuYrhMoq",
- "locked_amt": 0,
- "reward": 15188235399,
- "owner": {
- "Account": "q82TZ6oPSPK8F77ze6DGzwYQeAbc8mH5FXbBbcah7nH39qLCm25yvpnHz2mLvPUtsRYSngortGac683sQtMYYARotWuUBYg66igFeR2fECu1zW7a83dMCxE3EdZYuYrhMoq"
- },
- "rank": 196,
- "ownerType": "Account",
- "ownerAddress": "q82TZ6oPSPK8F77ze6DGzwYQeAbc8mH5FXbBbcah7nH39qLCm25yvpnHz2mLvPUtsRYSngortGac683sQtMYYARotWuUBYg66igFeR2fECu1zW7a83dMCxE3EdZYuYrhMoq",
- "hasSeparateOwner": false
- },
- {
- "amount": 1000000000000,
- "eligibility": 15120,
- "faults": 0,
- "hard_faults": 0,
- "key": "t7e39EETKLqNmaUWmKyKc9S7wi2hLjyzfzikWcpKmSukCvVgj4rzL92x5gBgNFQKASgm53p9RkKxm62X9WeoEPBgpPeNf8qt9MUaLbos64NfXSmFZdDK8Da56SBfpnVsBvj",
- "locked_amt": 0,
- "reward": 636057313,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 197,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 43200,
- "faults": 0,
- "hard_faults": 0,
- "key": "tF7NxrSfBHmvYfSMz2K1pfXDsA8dqrtDubXhUz3QvJLKj3vZJXWjGr5RFpoyvUzyMpnrq6yYF1KrytLv5HNt9K15hciSJdReotEi57veXCjR1wLnnUZKp2X7urheBbzvtGp",
- "locked_amt": 0,
- "reward": 248217488,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 198,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 28080,
- "faults": 0,
- "hard_faults": 0,
- "key": "xRytSKgw9zDQBXzHD3UpQWXxjQdfak8epebGPy2FJLrk2mGQDnM29mbxPDcVbniU3YLyPmGgkw12KW6uMBq4sbUfCYaBr9UKGZhTqyPhA2bYCDHJMcXuTX6jDKX1TFRBCwX",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 199,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "xxkdeoBGrqfS9ALm84AhtnBwmcPkyL9JXvBGu1dvoXGvASFSfUx7AuJk3epPwWDdWXNKxcE8HALXZQBNz19Vf1kH4onpw9tsH6bWGDvZhDCytVuET5cFbjbBeBd2CPpPwwD",
- "locked_amt": 0,
- "reward": 15420512260,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 200,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 30240,
- "faults": 0,
- "hard_faults": 0,
- "key": "yc8aiwLXGpXjHFgP6kgEHpTq6vewtqGHCNKdkvRndqeGsMrkxeEEX26FMY3sHFrMMxDyUSRFWbeWBaWkuMkErotcC4qhvDReKGddJ5g32G6parJsu43PBCnsvtumypnayqy",
- "locked_amt": 0,
- "reward": 638323011,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 201,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "zfnJJ5szM4EPk4KjE1LcHsHQhPBjivarV7skKMszgyyVCnXRhvq9s9amTbiLyB6TyZ9i4abdk9hhBAvcEpPDfY83fiBDZY5uc2mf8xo4EMf5reXfpk9eW3a45XQQWPgTQcf",
- "locked_amt": 0,
- "reward": 1210060254,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 202,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 21600,
- "faults": 0,
- "hard_faults": 0,
- "key": "21QJxGctSJrgaF7qrnKQXbqDsNanHJZT7TjxA9SjSdPRijRf7MJ8Rze3oxSKzKYdDquDDgLmgDu2EPtYVmYkEbb9gKo8YdtP9uN2ZzeACVNQbEvBLz3RUCyo2zEhNsqnB5Y8",
- "locked_amt": 0,
- "reward": 14831422906,
- "owner": {
- "Account": "21QJxGctSJrgaF7qrnKQXbqDsNanHJZT7TjxA9SjSdPRijRf7MJ8Rze3oxSKzKYdDquDDgLmgDu2EPtYVmYkEbb9gKo8YdtP9uN2ZzeACVNQbEvBLz3RUCyo2zEhNsqnB5Y8"
- },
- "rank": 203,
- "ownerType": "Account",
- "ownerAddress": "21QJxGctSJrgaF7qrnKQXbqDsNanHJZT7TjxA9SjSdPRijRf7MJ8Rze3oxSKzKYdDquDDgLmgDu2EPtYVmYkEbb9gKo8YdtP9uN2ZzeACVNQbEvBLz3RUCyo2zEhNsqnB5Y8",
- "hasSeparateOwner": false
- },
- {
- "amount": 1000000000000,
- "eligibility": 43200,
- "faults": 0,
- "hard_faults": 0,
- "key": "21q1TvrCkhN69R9hujX2gt4xxiDetZjmjj2r519Vvp7smiSRukNnnxosrS6sWrzgMPGrNWAciQT3faDrDGkqNJdyEfjYi5C1dniBo3F6pzzQy6nVPsbL7Fqe2BYSWVHZjNyZ",
- "locked_amt": 0,
- "reward": 372326232,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 204,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "22kT7LispVSAf7QVMukLaTTQC7yMdVja2FUvGaSqGgqfeFmHwk5CEzYYza82VR4pi5wLPQcQCkZzhpLT4ZftrjdxM5e3X7F7P1T4xTpS1WjSYL4jmeXe4ShMNgTxaC7zzYqx",
- "locked_amt": 0,
- "reward": 1707022241,
- "owner": {
- "Account": "22kT7LispVSAf7QVMukLaTTQC7yMdVja2FUvGaSqGgqfeFmHwk5CEzYYza82VR4pi5wLPQcQCkZzhpLT4ZftrjdxM5e3X7F7P1T4xTpS1WjSYL4jmeXe4ShMNgTxaC7zzYqx"
- },
- "rank": 205,
- "ownerType": "Account",
- "ownerAddress": "22kT7LispVSAf7QVMukLaTTQC7yMdVja2FUvGaSqGgqfeFmHwk5CEzYYza82VR4pi5wLPQcQCkZzhpLT4ZftrjdxM5e3X7F7P1T4xTpS1WjSYL4jmeXe4ShMNgTxaC7zzYqx",
- "hasSeparateOwner": false
- },
- {
- "amount": 1000000000000,
- "eligibility": 21600,
- "faults": 0,
- "hard_faults": 0,
- "key": "23LC6tza4TTm954oAXKHUdK7Z8RwVj6JtUTz6wc8Kni1s5f4tfPrFY5bD1XNuASKDf7NRHnUfbmycYHXVx1moTN6fr5zimBgnGAvRCAXTsyQFnDUG42LUu5oT8oCiKdrpnuS",
- "locked_amt": 0,
- "reward": 995135577,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 206,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "23Xa3P7xtJxW3zYRjfiM1yRSQYN1Vt6aZ1V2gH7vnJkxBjEMvLz8dCkwvqQdraL7NGf9Asc1AAujEMabUz81wa3NizVDXy4ZqEWVb36URnYzTMjqPCVBbLcWZujGzAvwJiN2",
- "locked_amt": 0,
- "reward": 46540779,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 207,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 38880,
- "faults": 0,
- "hard_faults": 0,
- "key": "23izEEyhMKzmgR7J19vNtH8BDwafGib8XKEsc9NMmBLzLAhuMkqA3tx8ZYDLL2bY7jWNySkUHSg8YBQT1ZpYzEswY3YrtTTw12CzRPYyTUWjwKx8zhffUDPYCuPJpNXiAjUi",
- "locked_amt": 0,
- "reward": 325785453,
- "owner": {
- "Account": "23izEEyhMKzmgR7J19vNtH8BDwafGib8XKEsc9NMmBLzLAhuMkqA3tx8ZYDLL2bY7jWNySkUHSg8YBQT1ZpYzEswY3YrtTTw12CzRPYyTUWjwKx8zhffUDPYCuPJpNXiAjUi"
- },
- "rank": 208,
- "ownerType": "Account",
- "ownerAddress": "23izEEyhMKzmgR7J19vNtH8BDwafGib8XKEsc9NMmBLzLAhuMkqA3tx8ZYDLL2bY7jWNySkUHSg8YBQT1ZpYzEswY3YrtTTw12CzRPYyTUWjwKx8zhffUDPYCuPJpNXiAjUi",
- "hasSeparateOwner": false
- },
- {
- "amount": 1000000000000,
- "eligibility": 32400,
- "faults": 0,
- "hard_faults": 0,
- "key": "23soQKcC5qPi4eEhRsY8saEknqQGm24yXmyZDgrv7dF2LvXpLMhsm39Cfg3zahNwmgf1bpUHkHBAjMsbD3P7UNPvuGVUYvBLX4yvmJT7BtagrKJ8JQhVw78azNsfw4GCy5Fa",
- "locked_amt": 0,
- "reward": 667511609,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 209,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 10800,
- "faults": 0,
- "hard_faults": 0,
- "key": "244h5qgZaU8S6GttT5zL1K56xecr4YrddWLd5HzByB15uhcJS5V6J1m5H5ewTTHJj3ywTMUrbFV8Ku1QpMEVPziLu3fK67Ry7xrcBcpsmG7CnYH2ww1JoVA92Ar22hPjVFZ3",
- "locked_amt": 0,
- "reward": 1057189949,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 210,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 23760,
- "faults": 1,
- "hard_faults": 0,
- "key": "24bFF8fUoMPZ5JVfdFrcQUea81um2yieXb2v8Q3mWgpHCNRiStP11tYdpgHmQAi7yu6pru8ywsAhEbxRTGnLhw6VYnT3iQKtSi6xPka5XPRRAfFmwP99GxgA1b9c5yWYVQB7",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Account": "24bFF8fUoMPZ5JVfdFrcQUea81um2yieXb2v8Q3mWgpHCNRiStP11tYdpgHmQAi7yu6pru8ywsAhEbxRTGnLhw6VYnT3iQKtSi6xPka5XPRRAfFmwP99GxgA1b9c5yWYVQB7"
- },
- "rank": 211,
- "ownerType": "Account",
- "ownerAddress": "24bFF8fUoMPZ5JVfdFrcQUea81um2yieXb2v8Q3mWgpHCNRiStP11tYdpgHmQAi7yu6pru8ywsAhEbxRTGnLhw6VYnT3iQKtSi6xPka5XPRRAfFmwP99GxgA1b9c5yWYVQB7",
- "hasSeparateOwner": false
- },
- {
- "amount": 1000000000000,
- "eligibility": 12960,
- "faults": 0,
- "hard_faults": 0,
- "key": "26ZZshg4skq2rrJQMw4WuXe9igNvUFeZtxBQw9qii3wZu4GKRjMoAxKGRefBoR1vy4Cs6vPihSw9iPBzVy4EBu8m2CaMemPSD3gwr8VFzTkqMoBEjs5Tr5et1rirWmgevM76",
- "locked_amt": 0,
- "reward": 28762941510,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 212,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 1000000000000,
- "eligibility": 32400,
- "faults": 1,
- "hard_faults": 0,
- "key": "26p1CyNua6GzUW5gaLZY1suFiThGbZEEuLKJMXH1NsuQbd3tFwq2wLAMd7vMP5fhD3M83yA1GtzqqmqiwoHpJ5YXamCfjYfj6Jkq6fhGc2xtFFXmVfWC3tVoz3qd3yqSbUgu",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 213,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- },
- {
- "amount": 900000000000,
- "eligibility": 25920,
- "faults": 2,
- "hard_faults": 0,
- "key": "r5cYVShkE4def9ZwSidnL6KDUP7JaDL65jpefjrMm7gqx1j1Gk5Zww49z4Dna8qDA4GSQSySmMkDZTSFNv6dhtEY7N8JTDCp3Tuu7gSfS67Gc1BKS8XVh3LqjwkDWEBmUxc",
- "locked_amt": 100000000000,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- },
- "rank": 214,
- "ownerType": "Contract",
- "ownerAddress": "0200000000000000000000000000000000000000000000000000000000000000",
- "hasSeparateOwner": true
- }
-]
diff --git a/explorer/src/lib/mock-data/gql-block-details.json b/explorer/src/lib/mock-data/gql-block-details.json
deleted file mode 100644
index 5e301e15ac..0000000000
--- a/explorer/src/lib/mock-data/gql-block-details.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "block": {
- "header": {
- "json": "{\"version\":1,\"height\":4705,\"timestamp\":1726077151,\"prev_block_hash\":\"d63e9b3ccd3e5217b108f0a1f5aacef9bc247adb61bfbce4b26138c88c7cfe3b\",\"seed\":\"813da52d506e815c1a793e6c9ff14520a11bf56a53b4a605edae665837a63a261586ac24f89dc1f125920dafdbefb96d\",\"state_hash\":\"981ca3595588822377bdfc4fbe6b02501b66d48bfbfa353069148cd758ecb137\",\"event_hash\":\"65c5d014c8b2f68463f8697d9254c0ea159bab10d2012b9f18b2bf803a4ff11c\",\"generator_bls_pubkey\":\"2681cRrpmrN17r1C1jNKNqAL6xc7mCTNu9qwhtjTVNHiaVioqowCcTcMqXcmYuqpG8c22bPqKWDRfRmzcfSnLLA9GG5jdgBhmoQxSAqaXMUL2Ee5LAGMB5RJycuUcDoHTCwY\",\"txroot\":\"ffa26c053fb27e627db71e8629abcf85bd9d929ef185a6456f95f4a7a8ee44d1\",\"faultroot\":\"0000000000000000000000000000000000000000000000000000000000000000\",\"gas_limit\":5000000000,\"iteration\":0,\"prev_block_cert\":{\"result\":{\"Valid\":\"d63e9b3ccd3e5217b108f0a1f5aacef9bc247adb61bfbce4b26138c88c7cfe3b\"},\"validation\":{\"bitset\":1826677,\"aggregate_signature\":\"968dd2af69beb59b21b4cd8ee228e957f46226eff808a3f9843e22a8301c0290026ff9046afed5ce49f78cdb224b74f3\"},\"ratification\":{\"bitset\":52854269,\"aggregate_signature\":\"acc24d1996f30062015e2727098ed63764b230f9957bca7e9d18d78c70942d8eda23d6f58046d6d97b0d13e8e029d57b\"}},\"failed_iterations\":[],\"hash\":\"716abb947d32ac58ee4483dc0428ac75f4d3685f7fe418ec236cf46daf323315\"}"
- }
- }
-}
diff --git a/explorer/src/lib/mock-data/gql-block.json b/explorer/src/lib/mock-data/gql-block.json
deleted file mode 100644
index 3dfdb41b9a..0000000000
--- a/explorer/src/lib/mock-data/gql-block.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "block": {
- "fees": 580718,
- "gasSpent": 580718,
- "header": {
- "gasLimit": 5000000000,
- "hash": "bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f",
- "height": 495868,
- "nextBlockHash": "6011556208a85e6001bd01ccbf936486b91318a7f6cbcf7ab810adf6fae34204",
- "prevBlockHash": "07b74b35c2c7cf8f41426cd0870bafa1a2c7adee3fdd876643548096186fc4cb",
- "seed": "af15447e3a004a79d4ae8b084f7b76b78d95880bb63e1cfa79250a310731f52e6d84ee42a5d6fc2cb99c5b1f489761f6",
- "stateHash": "20bb0a677b93f084afadfd34bec3ac3feee33a020b81d9549afa2268e8543acb",
- "timestamp": 1713298022
- },
- "reward": 16000000000,
- "transactions": [
- {
- "blockHash": "bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f",
- "blockHeight": 495868,
- "blockTimestamp": 1713298022,
- "err": null,
- "gasSpent": 290866,
- "id": "3a3f6f90a1012ae751b4448bcb8e98def0ba2b18170239bd69fcf8e2e37f0602",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "isDeploy": false,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "3a3f6f90a1012ae751b4448bcb8e98def0ba2b18170239bd69fcf8e2e37f0602",
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f",
- "blockHeight": 495868,
- "blockTimestamp": 1713298022,
- "err": null,
- "gasSpent": 289852,
- "id": "07bfabea1d94c16f2dc3697fa642f6cecea6e81bf76b9644efbb6e2723b76d00",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "07bfabea1d94c16f2dc3697fa642f6cecea6e81bf76b9644efbb6e2723b76d00",
- "isDeploy": false,
- "memo": "some notes about the transaction",
- "txType": "Phoenix"
- }
- }
- ]
- }
-}
diff --git a/explorer/src/lib/mock-data/gql-blocks.json b/explorer/src/lib/mock-data/gql-blocks.json
deleted file mode 100644
index 1ea84c7360..0000000000
--- a/explorer/src/lib/mock-data/gql-blocks.json
+++ /dev/null
@@ -1,1680 +0,0 @@
-{
- "blocks": [
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "3d43be31a8cb5d3f61b4e8391800a01033d650b11c4c874210dbaa3c118474a6",
- "height": 1365454,
- "prevBlockHash": "2bc290511be774ec9c04e6c0ceb2469798242b997422c542a7d6b0b6f3368414",
- "seed": "b53d27ff844a587ffacb98205018048eda5ab0fbf0afbfd5b364082d42a350e2202199a227ef08d0254c22b4b2bc6c6c",
- "stateHash": "71706319ba4d69556437241388d4f879cf8064e15fb6b277ba5e2e685481485a",
- "timestamp": 1716906414,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "2bc290511be774ec9c04e6c0ceb2469798242b997422c542a7d6b0b6f3368414",
- "height": 1365453,
- "prevBlockHash": "02f38d2e2a986cf77a70e8fe4f333ef9c5e075987891f3f526c8a57590800178",
- "seed": "8a88ba812fcc36d0301ad151a3d131a4a2d8baade721b5946f5b6013a58d08c98d82b6c623dd5df57c7484bc1e91ff7c",
- "stateHash": "6fdc84da8b5d4fc76c991e934dcf7aada370546db30f86ea59fbee5e1b77d223",
- "timestamp": 1716906411,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "02f38d2e2a986cf77a70e8fe4f333ef9c5e075987891f3f526c8a57590800178",
- "height": 1365452,
- "prevBlockHash": "c79e31ce8e6133ebfb0d85649a12167769ddc83420550faebc536e613d74d676",
- "seed": "89ee1d0312944e83a401b70aaee3f877a675dc56e0b47baa80703df56f19df4048e52f0f826a61031a4488cda8157de7",
- "stateHash": "d6bfd42e65d382606521d1557184630d42b1f1028baab591bfa8ebac3c796fa5",
- "timestamp": 1716906407,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "c79e31ce8e6133ebfb0d85649a12167769ddc83420550faebc536e613d74d676",
- "height": 1365451,
- "prevBlockHash": "22ffe1b159e1b33b06d566b3ce3119af6f4bec4d2a3f6916560fe3cb30fcc1ef",
- "seed": "b1008da0695fe39d39b649ba2b7043a6dc3af264d445c7abe9588b6f2c6182dc489a58f43838a9858cd2137d8f556f69",
- "stateHash": "23ffb65da6e05ae36dea94465952263a3d4ff324cf6cd09b1225dfca1414a0d7",
- "timestamp": 1716906405,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "22ffe1b159e1b33b06d566b3ce3119af6f4bec4d2a3f6916560fe3cb30fcc1ef",
- "height": 1365450,
- "prevBlockHash": "79c2d3213df80f8113d1ca16c49b1818fb5c31d1437e0a447719491a9c1b5f85",
- "seed": "b4e26117af56c8c5c7012e6dbeca88a9d1c3d189bf104c730f16a5cf6ba4296424435bad9e1047eaaf7f1bf326063c2d",
- "stateHash": "cbd0906fe34d7bbd72607b6fa18462b01b25d965cbda6cd1cee8678f4dbfa139",
- "timestamp": 1716906402,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "79c2d3213df80f8113d1ca16c49b1818fb5c31d1437e0a447719491a9c1b5f85",
- "height": 1365449,
- "prevBlockHash": "fb3e82e43b141409156f935afc69ccb09a59a72a10258401b539123981db571c",
- "seed": "a448a5bd6d4ff7ea139c1f3d23a4664427c6fa5052f2973e95316d649e4c6305322de093a157f5d986f3498097d3a94a",
- "stateHash": "2f6412c651e3e84d34fb1dbb02578bd37abd3a0a4e2e1f1a7b9c70b2282534db",
- "timestamp": 1716906399,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "fb3e82e43b141409156f935afc69ccb09a59a72a10258401b539123981db571c",
- "height": 1365448,
- "prevBlockHash": "4b402a917bf42561096a9224e6451b77b8cbdc50272013442eccb5fcc542ef12",
- "seed": "8baac37d4f0640ede8c7a55956b05a247ae9e0bbccb18e4e9da22b8e5dde139296e7461315d2e341b8e02fb784042412",
- "stateHash": "895de1ef950cb73ecd74fb1806822a3b7c6eee64588a21a6a991cdeb362ee5f3",
- "timestamp": 1716906395,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "4b402a917bf42561096a9224e6451b77b8cbdc50272013442eccb5fcc542ef12",
- "height": 1365447,
- "prevBlockHash": "38d069620a7cbad7cadb10ecc797b1344284b6324ac85f5e126226a08d47398a",
- "seed": "854a2252fe0ed059b024fb3413182a5c556aac610bc41def0d64a0341aa52709d7160707c44639a28153751a678be8c9",
- "stateHash": "45a13060dc4484f5b58888c0303beda3438f0e3a198b579a5aa659ae74cf3cb0",
- "timestamp": 1716906392,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "38d069620a7cbad7cadb10ecc797b1344284b6324ac85f5e126226a08d47398a",
- "height": 1365446,
- "prevBlockHash": "14c7d9f5e44d599a167d82a449d73daf54e32bf002c6cd5893de5f904024922a",
- "seed": "9192ca845fb8eb33762a59a5de33da12d173a43b5edfd69929c139c429155e4c0fc9a9b34165404bfb594d3fc2df7cf3",
- "stateHash": "b7db6d50b1d400ad7374cb35d5c8cb7714073bad4f836c5a5e3a9d8800faa7ba",
- "timestamp": 1716906389,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "14c7d9f5e44d599a167d82a449d73daf54e32bf002c6cd5893de5f904024922a",
- "height": 1365445,
- "prevBlockHash": "e8e93e35a501d03e47b9693a32ab58ba1dc3ea1e59dd860de0c7085ff1548838",
- "seed": "837e7321589588d80177ff7c69312988a94a05e3222202d40cdfd77e533a6a97f408f2c992308939819f8a7be51cd607",
- "stateHash": "75d72e576363c92c9fe02e4ba1b8c3b55d5cc3671ac623b0e00b056bab417e86",
- "timestamp": 1716906384,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "e8e93e35a501d03e47b9693a32ab58ba1dc3ea1e59dd860de0c7085ff1548838",
- "height": 1365444,
- "prevBlockHash": "32b85beacd508de90fc292914101edc47f96391896ccca8b37c90030a0c6cf5a",
- "seed": "a321246cd65acbeb5893de37faf0a4818fc18b2b266042ab6671e3facd8eaa9dc17c16aa43bf034492fad768da888b85",
- "stateHash": "92384b3361e4d4dbc764eb8ce5cce4e585e8407499e2b0e51e3b6fed3a67307c",
- "timestamp": 1716906381,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "32b85beacd508de90fc292914101edc47f96391896ccca8b37c90030a0c6cf5a",
- "height": 1365443,
- "prevBlockHash": "0a4e8eb58f138cad89fbb5c281771a71c5efef3fa3d1ecfd66526b0214e9c02c",
- "seed": "81c335087cd5a4fa19253119689b4f21ccf78f4786a6a7ffef163ed900db19ccbc3a1b967a54771ecd045437ecbd5e38",
- "stateHash": "a1012a5ba8091b444138841fc176c62cedf1df134cb92ff1e7c29013700b7010",
- "timestamp": 1716906369,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "0a4e8eb58f138cad89fbb5c281771a71c5efef3fa3d1ecfd66526b0214e9c02c",
- "height": 1365442,
- "prevBlockHash": "261bf76439948b7c371f6b14f6b94b43b0c992b85f35abd615c41407aebac019",
- "seed": "b71753c4f935339a99d96b85f6474923d86a5fe0762ac401a0e1cda18041d8d32121fdbc6f2dd165b35988827674d96b",
- "stateHash": "6213133a19018890473367825c5e2fb35677c2db4723adbcb924c29f8989dd55",
- "timestamp": 1716906358,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "261bf76439948b7c371f6b14f6b94b43b0c992b85f35abd615c41407aebac019",
- "height": 1365441,
- "prevBlockHash": "0606a98c2bf324976e64c85c90e12a8e38275b9a24da2ce807be0cca98bd3f2e",
- "seed": "b599441b40170879db1633dc2cf8c1e4497fe514eb95eea64ff0765df3c0fefb0b4ef3515ba6f776bb7920a121f81b1e",
- "stateHash": "55e019411a6670ae802ab67aba73d8085f0775bcbb39362e6448d2581313ea78",
- "timestamp": 1716906355,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "0606a98c2bf324976e64c85c90e12a8e38275b9a24da2ce807be0cca98bd3f2e",
- "height": 1365440,
- "prevBlockHash": "aedec510648383bd7bea1c4510a81ac0f3508934b6d892ab6385e5c94cd49169",
- "seed": "89b50c06c3420e389d208a04e475d88c946fd2f9e12f93d35afe6268b2f67adbe6fc5117a98497ae1d07dbb6e65b9dfd",
- "stateHash": "81e4969a64036aa55ddf9f914acef551fbf6ca580c3299094d4d33c0b0f34efd",
- "timestamp": 1716906336,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "aedec510648383bd7bea1c4510a81ac0f3508934b6d892ab6385e5c94cd49169",
- "height": 1365439,
- "prevBlockHash": "41214e61edaa4cd36a64450ac45475206dbab4471d36d2d8000c83979eeb3c01",
- "seed": "a7ce68ee1321716ca76775a976402e8c7ee0a9b5f292368064701b5dd9a9b14a3c90303d336a969040ff7006c40c447b",
- "stateHash": "1777b6aaf71637f6c123c75c2c67f88212b199792493e4955cc5a8df1fc8c66b",
- "timestamp": 1716906333,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "41214e61edaa4cd36a64450ac45475206dbab4471d36d2d8000c83979eeb3c01",
- "height": 1365438,
- "prevBlockHash": "52c6834f51e18e46a492709ca630969be2a0d658d76bf6b5de691cfc530237b6",
- "seed": "aef608bc0a61bb521896a13326b670306672ab4b218c1ea4aa101351201255843e6a04aeba090173d86baea565c241b0",
- "stateHash": "c2cca5a85032355738baf0cf2747d842a8f417161062583a177bc49c621b230c",
- "timestamp": 1716906328,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "52c6834f51e18e46a492709ca630969be2a0d658d76bf6b5de691cfc530237b6",
- "height": 1365437,
- "prevBlockHash": "dd0d2a83d32da3b1031aba2306ba11ba16457014fe39f2e5818dd161388366c4",
- "seed": "a7b1bbc0ce003121bbfc1693e88dae50282b670d01cabeeced56e50f46ef982a0b4907bb8fef81f985ebae1208b03693",
- "stateHash": "4f648f2f09da5b27aba4712586fb05c2f7669cb8e9ec2b14413eae2a121bc1ef",
- "timestamp": 1716906324,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "dd0d2a83d32da3b1031aba2306ba11ba16457014fe39f2e5818dd161388366c4",
- "height": 1365436,
- "prevBlockHash": "08cb4a5395e5a3d56a254e5f6c7bc0887fc73af83347e65b89662457d9717449",
- "seed": "a9fe1a88ce6fcf1ac4fcd0ae0a1d6553b47aef2a9a05d9761cfd00755b9624f3a2c3e27d87d8745126f3011af81f2055",
- "stateHash": "b415967b1ca82ef4366b1654a1ee06506d02813236b4167f4b0c67dd6bb53ed7",
- "timestamp": 1716906320,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "08cb4a5395e5a3d56a254e5f6c7bc0887fc73af83347e65b89662457d9717449",
- "height": 1365435,
- "prevBlockHash": "25cda263189bf2ed11f114592e69d0ab01d74dc9a398824c97de095e4a3539b1",
- "seed": "813b9becb64918f47013e1ab747cf7b6db32f395c2c13019c96ebc86da3a774f5f62743f07d73aaf6e743c905221062d",
- "stateHash": "1ad0e689ee4c9f8b5b6decc71251270e8daf55c67cd78df5c6c004e4672a4035",
- "timestamp": 1716906318,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "25cda263189bf2ed11f114592e69d0ab01d74dc9a398824c97de095e4a3539b1",
- "height": 1365434,
- "prevBlockHash": "53f7700e16a8050f1270c4758fa8baf8b03571ead2ca979f16c61c7225731155",
- "seed": "b04a7715e250d29895e6d03aeae43c8863aed9d4b1da1b00dc368a41d2ec14123298824b53c45ef206f7b9fde0393041",
- "stateHash": "c02a9a4dc1085a499b80a1f5c356e5c5dce23b90c0ff3ff8a9681322fc137d96",
- "timestamp": 1716906315,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "53f7700e16a8050f1270c4758fa8baf8b03571ead2ca979f16c61c7225731155",
- "height": 1365433,
- "prevBlockHash": "db10709204320b0f29433cf8b9754e4c09569a440630a3a981a80fc687a8ea4f",
- "seed": "b139d27244f1c2732e2daf87872a28bb9e75e3d7801cdc369abfe885e6c8505643ea86830a19c6323ccd74afc06461eb",
- "stateHash": "894898b1cbfbf58c0d1449b42f36d0a8b486a2006c293f03d98ccb1ac9a24463",
- "timestamp": 1716906312,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "db10709204320b0f29433cf8b9754e4c09569a440630a3a981a80fc687a8ea4f",
- "height": 1365432,
- "prevBlockHash": "71a59ae11f1aa5b196f111e7b84ad3ffcca506bed096197710c4fcbf700ab5a9",
- "seed": "a65c4ca177f08f8a87c4d3dc21f5a1794bf40c8608dc6d1036cd03b491635b68d5916a8c7691a0bc6ec8243720e205dd",
- "stateHash": "afdc24fea03d2cd5482cd520db6e1179982ee930683c859bbdcf5d027cf974fc",
- "timestamp": 1716906309,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "71a59ae11f1aa5b196f111e7b84ad3ffcca506bed096197710c4fcbf700ab5a9",
- "height": 1365431,
- "prevBlockHash": "7d560df4db4967d417f8d331cc5462b15ebebb693d51c3c0ad0698d5d650a7e8",
- "seed": "87be941f4e1ff105d87ff8e135bcca1bf33a939e45514911ba659b1a705559749401e9fe13fd0a9c097245baef504a8e",
- "stateHash": "fae674c9f60ffcc78a801fd4c51a198775f3f8ec26d76e01a9a9601dae247f7d",
- "timestamp": 1716906306,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "7d560df4db4967d417f8d331cc5462b15ebebb693d51c3c0ad0698d5d650a7e8",
- "height": 1365430,
- "prevBlockHash": "243ff8b732e7bbc79af8585fade4cc743757924fba36f3c6fa665c977b0e3a0a",
- "seed": "967ead70661d19bb85a3f9025b4044486d1df9e9c67e0f5c56c7f401189eeb8b61dbd5a6ecb261283d48603f4826b020",
- "stateHash": "33564c66578d41a9646ab40fa09e7fe537db11f82000c260918009bb20c30067",
- "timestamp": 1716906301,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "243ff8b732e7bbc79af8585fade4cc743757924fba36f3c6fa665c977b0e3a0a",
- "height": 1365429,
- "prevBlockHash": "607af88d64391a32108b1232f422da091b134c002b8c0c2721925f127c3147b5",
- "seed": "8c55176d5d4de73740c49cdadc2e211c2e44e34cdb5c8f24032f4670e26001500e46f4ae4dcf99049781b16fe31049a3",
- "stateHash": "e5c64b864426291368ca290173b11e8c2a1166d9f2eb10e484881b545c4886ea",
- "timestamp": 1716906298,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "607af88d64391a32108b1232f422da091b134c002b8c0c2721925f127c3147b5",
- "height": 1365428,
- "prevBlockHash": "6f77cc3673d04e11beaa1e97113daef32e2c56e4c1dcd1fbd3069e0a31494287",
- "seed": "b596e20fa72bc29fbd16ee7891c5a36121b9fa13c119d009e6ddcb3f79d1498ca1f7fb566782685d99454b1e5c67a227",
- "stateHash": "a5932e6cd478b26c31843cf5b97ff0297c89e4343245d1a9f62b762397fc5029",
- "timestamp": 1716906295,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "6f77cc3673d04e11beaa1e97113daef32e2c56e4c1dcd1fbd3069e0a31494287",
- "height": 1365427,
- "prevBlockHash": "aabdf592333f8a39071ade290300e8455a9e0848917e3823ff0546149f93487f",
- "seed": "857202a0254d5c969a9828b94982df9708dc2fe6f26082c8af4605166f5d2c52e32c032fa4b6533a836ee98fb192f250",
- "stateHash": "a31e3e2f4d0d01ad4ac5b6e17c7a36132902309088a8935a8f539ba7bbfaed5b",
- "timestamp": 1716906291,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "aabdf592333f8a39071ade290300e8455a9e0848917e3823ff0546149f93487f",
- "height": 1365426,
- "prevBlockHash": "9f8200f910e231448e3351ca90651c80f1b8d68067863bea05e78d94f25fb2fe",
- "seed": "a1e2c523e8e5fd1b571774f17eff473a424bfc6f00a906fb0767831ab62c369ce1ec389f935ea2aa27a268a44189bb28",
- "stateHash": "99630cb79b300f3e5c61957fd6464f7b933567f33034795aae945e9e59a4164a",
- "timestamp": 1716906288,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "9f8200f910e231448e3351ca90651c80f1b8d68067863bea05e78d94f25fb2fe",
- "height": 1365425,
- "prevBlockHash": "7cc1dae1ed6e05fc26eaf646c4799ffd588447e07fa6aed952a1654f25455eeb",
- "seed": "a5df38679037ca9c3cc21fa6b52d113857953479a1077d85a99a72a848c3440fced7ce90d93165bbcbeec5cc4185be98",
- "stateHash": "3efff3c03b8424e4d4e3b4e37984c83a3585b4d7855ae0bcd4833f32fad15efd",
- "timestamp": 1716906284,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "7cc1dae1ed6e05fc26eaf646c4799ffd588447e07fa6aed952a1654f25455eeb",
- "height": 1365424,
- "prevBlockHash": "4167ee20fff95ee5414dc03f99b12e7b543f7b1b212f4c58f67244ad955c63de",
- "seed": "88bce52aa7761a87854daa89552e5928796d0129a7b7ae91d9b00a544094bb26922d6645b2685faa0426d4ab2efc9b17",
- "stateHash": "526e8721e12c2e952c43efba9deede49ea0f0f1727e6cacb703399b66afbe2ae",
- "timestamp": 1716906279,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "4167ee20fff95ee5414dc03f99b12e7b543f7b1b212f4c58f67244ad955c63de",
- "height": 1365423,
- "prevBlockHash": "e6ab86f425e06839db9fb6c5eacf010f7763ea6ca0b741b4558425a3ac8e3257",
- "seed": "b4ff54fc6f4f4dc231a114dba13116f73f7c953dee57d0b4fb8199737c48eb6c772b01f3985791d5da7a3fb6977302ef",
- "stateHash": "929e54d34da9eac870857aa3d8c818f94be5a7ac78c4f40cfb0000f2e6796855",
- "timestamp": 1716906276,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "e6ab86f425e06839db9fb6c5eacf010f7763ea6ca0b741b4558425a3ac8e3257",
- "height": 1365422,
- "prevBlockHash": "db0189eeefd5e264bb0c3f0e02ed4b841d3969908390543703590372f0911037",
- "seed": "a262e64a004ea42f024427bfcdb071af81936e17c6486fd8c14f4b9ba1cf5683bfb17f92b7a7d63b149c3470a76c17b1",
- "stateHash": "abacc0955603d76088b5b7453fa0e542a089f20b857445bff498ddf2c5195039",
- "timestamp": 1716906273,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "db0189eeefd5e264bb0c3f0e02ed4b841d3969908390543703590372f0911037",
- "height": 1365421,
- "prevBlockHash": "d668b2f2ef43078d0563cc055bb2b56bcf926151fa87cd2606f8fae1947de6a4",
- "seed": "8f15f5d0d650d0a7e8a99f90a2a8391565f604d69ac67a288e2fc8065959b577fffa4217262337430ba7d21cfdcf971f",
- "stateHash": "df245af3a51c803764a2efebfc82086de9a2286601ec96dc066d46fd786d2ec6",
- "timestamp": 1716906270,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "d668b2f2ef43078d0563cc055bb2b56bcf926151fa87cd2606f8fae1947de6a4",
- "height": 1365420,
- "prevBlockHash": "87af07a79100dd691de552e55b959f649d2e7d85f52399b465f8507dcc9e6767",
- "seed": "b195bf7a29e392c1ebde99752868844108a9ce0d11849681cf75a3e1dab060721959989889552d443b32d9772c230ad8",
- "stateHash": "ef9583aeeab9fbe2904aebfb454ccfe9f9744c7db1eb47a965d738f537758a48",
- "timestamp": 1716906267,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "87af07a79100dd691de552e55b959f649d2e7d85f52399b465f8507dcc9e6767",
- "height": 1365419,
- "prevBlockHash": "e7528b5757371da23a9d620ed67d94a192a183f9966dac559f1d9c0f0ad8b526",
- "seed": "9374c0d17fca748387538e1024a984acb8b6cd364c2c3f8403c429f900abc094d5268209313b9ba0a380d36b9ce93563",
- "stateHash": "cceacad8a4fc67c027ebd5c62abe507000df74f5a59ef8173a24d759b4148bda",
- "timestamp": 1716906262,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "e7528b5757371da23a9d620ed67d94a192a183f9966dac559f1d9c0f0ad8b526",
- "height": 1365418,
- "prevBlockHash": "e53a2aeded9e501312027f056e94b08e16e35dcd8ffb6bf42ce48b14700fc62c",
- "seed": "8390acce1dba40db6df3a07c6e23dbdbafefeb6b2f536c6356d41bff207c8bed295307133ccfe1085699892e3ffc18d5",
- "stateHash": "59a672e853f3834ab34a6aa7cb76bca4107d24cb4dfc618c48648db385926e99",
- "timestamp": 1716906247,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "e53a2aeded9e501312027f056e94b08e16e35dcd8ffb6bf42ce48b14700fc62c",
- "height": 1365417,
- "prevBlockHash": "8eb48df2f0319266af1492039b5dc977aa44ecdd068cf80056679e8a847495a7",
- "seed": "9934f98d076b023ef0045784e6a8fab86e076dcc1bdf71a1e1528e156d25b44bb71e836c6ee2fcb9d85301a98e206fdb",
- "stateHash": "22d48c31fcf73a5504a85cc4c9595ae34acc46814b1ae4eaa720656ca18fae6a",
- "timestamp": 1716906244,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "8eb48df2f0319266af1492039b5dc977aa44ecdd068cf80056679e8a847495a7",
- "height": 1365416,
- "prevBlockHash": "f1e27de4470a562e09c3e4f5a474582fac8eacd427bebeff41cbdf141c484f7a",
- "seed": "b3c78e6a313044bd0e77a68d2be3844be6b570aed788418a529a2f2d7dccb7139e607614b46a6315c19d1268f4169e9c",
- "stateHash": "075179d569abfde2701456266843dd46ed94ec931c90606fd58db9533f4cd273",
- "timestamp": 1716906238,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "f1e27de4470a562e09c3e4f5a474582fac8eacd427bebeff41cbdf141c484f7a",
- "height": 1365415,
- "prevBlockHash": "715fede150a407a407b9c0b4822687a6d420815c30070c5ac1e185eff3d72c7e",
- "seed": "af64c68ba5b378f47f8e0842beb4d6cd0d557be74caeb8e7e291a51db7634abbdd8733bc9a896b30b5c76fbf34a823e7",
- "stateHash": "0ebec47d4a980d46edaf6036262c702d1422f97a8e3151991694384a130f2687",
- "timestamp": 1716906218,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "715fede150a407a407b9c0b4822687a6d420815c30070c5ac1e185eff3d72c7e",
- "height": 1365414,
- "prevBlockHash": "5560cbd0c59fa9b4491384d8b2ddf370c0708a1a70eee21dea0176b02e8cf370",
- "seed": "a770c3579d70e84023753828c2f6665d94ef33d2ece6a4af3bb0268920398a113c3f39c79116cfc1f5018f1ca54c1a72",
- "stateHash": "ff97d4605d1aceafa642546cc92d61ca5ca678491ab62388e5d516070b51cc89",
- "timestamp": 1716906206,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "5560cbd0c59fa9b4491384d8b2ddf370c0708a1a70eee21dea0176b02e8cf370",
- "height": 1365413,
- "prevBlockHash": "bffcdca5b767682097c5f8e20d0eacf7998bb322b9b5fcbb74d2ffcff513a13c",
- "seed": "abf4a3fe5d9adaa26cd072c9d19a5767aca84e9e6b45f7ed957c2d11a8136f78bbffca62ce50ce78644de9d05e7ccade",
- "stateHash": "09413bfa570814d08697be5b0a6f81f22ac9f9eca1d0786ef19ee24558497338",
- "timestamp": 1716906202,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "bffcdca5b767682097c5f8e20d0eacf7998bb322b9b5fcbb74d2ffcff513a13c",
- "height": 1365412,
- "prevBlockHash": "88443734e8189ef629a7f34e057483d846a7c20dbad5a8560d448a0cdb5dab4f",
- "seed": "a8735cd1678b5df4c8304044d8d01c1038a9a9e0c58d90b5756a58d81631e41a79b89394d1384c05031c8edeb7ce316a",
- "stateHash": "51c4f581116cc1581b6347c73670ad996c9f873e57396ce9a693ac9c058f31a0",
- "timestamp": 1716906199,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "88443734e8189ef629a7f34e057483d846a7c20dbad5a8560d448a0cdb5dab4f",
- "height": 1365411,
- "prevBlockHash": "9b970ecb7661daaa3c1ac077f16a4221b894aa7c49eae7181ceb4f654bc91d03",
- "seed": "8f817cb9eed0db14a5b0100b075a0eaec7c98bf975150285e3a007f05b5349219b85bf38344e727cc9c6940006820f68",
- "stateHash": "91c01ec701036a7e348d0a0be310b9862c466b9dd9e5990b2258fd5ea6efbf2e",
- "timestamp": 1716906195,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "9b970ecb7661daaa3c1ac077f16a4221b894aa7c49eae7181ceb4f654bc91d03",
- "height": 1365410,
- "prevBlockHash": "89c24929277dca8c7af8a61fddceda460e6a0d83da8f78867d75ef915eaa1706",
- "seed": "a45dbc49bd7c037b9bc6ecd3e9a92020eaf40a843153ab6ea256514a1fdb27cd5cb54145db8942d240d2bd4ced259a70",
- "stateHash": "caf286db3ac1806d18a53c42a4848a8763248df00fa7ca62307b5c3973a75189",
- "timestamp": 1716906192,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "89c24929277dca8c7af8a61fddceda460e6a0d83da8f78867d75ef915eaa1706",
- "height": 1365409,
- "prevBlockHash": "b495023072cb635a7bc26eb978dc600a705d650d8353b664e2c9fd65eedb723d",
- "seed": "83b642ed38850b7b8115ad3009e2c7c1d153d11058af01ab2bdce4d3b31e3258a8a1116e867825e3c612a789c9967eed",
- "stateHash": "ad87653811cf35743707bf09647a60d0a046f73fb956b16d6e6fefc04e1ac3b5",
- "timestamp": 1716906189,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "b495023072cb635a7bc26eb978dc600a705d650d8353b664e2c9fd65eedb723d",
- "height": 1365408,
- "prevBlockHash": "08b57cfdd716c801d0fdf59f7904b42ee84c0973bdcc47a52fe048e63f1c549f",
- "seed": "8db54908d6056bd27acdf83945186f55354ae2f0d4dbfb8d990d4840e48abc10a95b6d75c52d2a793558ccae0fd713e6",
- "stateHash": "2953e28bcf25f5e6c51f18b71c2b88533042a26ae0fbd0e9f465a15b224af579",
- "timestamp": 1716906186,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "08b57cfdd716c801d0fdf59f7904b42ee84c0973bdcc47a52fe048e63f1c549f",
- "height": 1365407,
- "prevBlockHash": "54ad00960b1a74fd3ae71f8455ba38ad3d1af7f420e35d283b1f5c7062832c7c",
- "seed": "940c74e2bd683c00f882041803b85193f8eccf20ba1a049028cc0f578d6248605915a07dc0b337ca7b7186010da3bafb",
- "stateHash": "15e04fb8cc6e67b811b5f6ced041e8a9699e0264ed6bfa2eb31c70005f48b666",
- "timestamp": 1716906182,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "54ad00960b1a74fd3ae71f8455ba38ad3d1af7f420e35d283b1f5c7062832c7c",
- "height": 1365406,
- "prevBlockHash": "e698de60373db72b813c18eb5047c7e43446737302df49d80df29bd73f75ba3b",
- "seed": "b6372ed79d5f7b4b62769f6cddd494264f24db45c4e7367520aae60c0ea9b8ff3f1c1d895bb09d27529729f0ddf21107",
- "stateHash": "923c2ad9a6cb5f94c87ba6c66b68023e49f9879b63adbdc91907c3efa533fc55",
- "timestamp": 1716906173,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "e698de60373db72b813c18eb5047c7e43446737302df49d80df29bd73f75ba3b",
- "height": 1365405,
- "prevBlockHash": "7a08b2d7233193fec8d3fdc1cc2be19057b3871b559f6a030cc1b964faf4397f",
- "seed": "a0fcf4491ec390d2308fa20db2e6646979e94252fca1ef32974181710d69766b6eace9d85e77a39b30f1786bff4cf719",
- "stateHash": "fa10263f1d3f2baf3759b12975a3e7b44f05d53da0e776589b656fcd7edc5edd",
- "timestamp": 1716906170,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "7a08b2d7233193fec8d3fdc1cc2be19057b3871b559f6a030cc1b964faf4397f",
- "height": 1365404,
- "prevBlockHash": "2d9ac223e997cdeef47417f03fca525aa065f2dbefd9d722359f5192a6543115",
- "seed": "b2d169d87328fef569ae816cf91c1adfec441b4f32fee4ecc01b935dcbf35c20c0e28030bf04d60a0d1e47739b6620fb",
- "stateHash": "b39657583861ce46d33952bc2d2e4c9706e7df9a9a70d32b57e72a88e953133c",
- "timestamp": 1716906167,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "2d9ac223e997cdeef47417f03fca525aa065f2dbefd9d722359f5192a6543115",
- "height": 1365403,
- "prevBlockHash": "d5617376df70765854750cd7a4915ea4f90088b94b2c561f5c245d04978d3c19",
- "seed": "b1472b8dbb4c141db73d7020b1978251328c3e684e9359e49c1b86855b858c586587021878ceefdef3ec9ac0edf18fcb",
- "stateHash": "3d00c2f03eee989155b50cce43bc09c0be14c1189072a1a3abad9e1d9ad2386e",
- "timestamp": 1716906163,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "d5617376df70765854750cd7a4915ea4f90088b94b2c561f5c245d04978d3c19",
- "height": 1365402,
- "prevBlockHash": "ae40769d686a12ae599de340ce4bac5f23824615647e6650428361e93d55c956",
- "seed": "a444652988c81aea249e3b5626e647d541d6abb763149f60f834fb9dd60bbd9081340ce027e68dcf1a5a14cf7b61cd38",
- "stateHash": "d848e7461be2bf86833a2d54469958abbf7d6d682badafe50a08409f08300c6e",
- "timestamp": 1716906160,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "ae40769d686a12ae599de340ce4bac5f23824615647e6650428361e93d55c956",
- "height": 1365401,
- "prevBlockHash": "52091d8f8ef735c2b34a990d81490e141279917dbcf3a3bc1c568b48bff27fc2",
- "seed": "ade7e78d541f0d49e9bb3115f541a62e614625cc6f929e2db05e0838cb1db4b33a6125899e28c3540897759f7ae59c46",
- "stateHash": "cae75ef6f6f4225d77f587cc6657bbfd6f616935deb94526dc09db2119553400",
- "timestamp": 1716906141,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "52091d8f8ef735c2b34a990d81490e141279917dbcf3a3bc1c568b48bff27fc2",
- "height": 1365400,
- "prevBlockHash": "42c22cd25054d321d08ac9b5c4a081290cabc90679e20d4a72b606e513a5aa04",
- "seed": "b9a4d517aaa7cf6466f97a94bd56f3c40e5c8b6fe45203e2f3d6ba9e14f7d1f93130516c42ca7adb107d88786e853871",
- "stateHash": "b8f943928133480b3a075d46ef8d2d423e74a2355928ed44fef3eb51785e9374",
- "timestamp": 1716906130,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "42c22cd25054d321d08ac9b5c4a081290cabc90679e20d4a72b606e513a5aa04",
- "height": 1365399,
- "prevBlockHash": "19e8d908fab96e57dda27a45709947597efec694b70012ef1d2039e08ca47989",
- "seed": "b61c374f08414ea24341f02b795d0d2e634feb809912049c840fa3c020f2103b31b5c907cb08f4fdf09b7d758d4d368c",
- "stateHash": "d84fabc5e9a054497e3864616b1fed2ad6171d7386e040e7a71e0c63ce2ae215",
- "timestamp": 1716906126,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "19e8d908fab96e57dda27a45709947597efec694b70012ef1d2039e08ca47989",
- "height": 1365398,
- "prevBlockHash": "52127d63b25e1cc79e453944e729e507977f340e01acf8a843aed20af8980735",
- "seed": "8eedd8520ce9b7b81223706653186b39065306e21aaa4c87ba965046124184fae6be73f73118a4d9ef8f2157dae92dd3",
- "stateHash": "62b44ed73c590cd13e89bc3bb0641d5754dee4e4fa12d7f7b0bfeddc47659278",
- "timestamp": 1716906122,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "52127d63b25e1cc79e453944e729e507977f340e01acf8a843aed20af8980735",
- "height": 1365397,
- "prevBlockHash": "0ac4e071c799fd43c50b04712dab31912dee41efe88fd3482fc902e565c55a48",
- "seed": "b24db9e2388b37030e5167109d38868cd8d543a01fd0b6a891e7c72a3b110b355aca85e11b5751f8635c049d81e52452",
- "stateHash": "d736ce78eb9be2a20d6c52f0fb8194d580d889d9233e05eed5416b7f167be7cf",
- "timestamp": 1716906118,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "0ac4e071c799fd43c50b04712dab31912dee41efe88fd3482fc902e565c55a48",
- "height": 1365396,
- "prevBlockHash": "8ed7995072b99626870987106d354ff5444e17c8011e2ad399c81b115c9d4a6c",
- "seed": "aab7548a6e61afbf9871677203dabfb97b043d563ee7eeb66ef6038c5c3b48c40996ce01b6fb7fc6f586fa50ba2ca2a7",
- "stateHash": "2fc1ae9700be670176f5ab2e3aeed2797ba6ff26ac790af04b328701f91c8b25",
- "timestamp": 1716906115,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "8ed7995072b99626870987106d354ff5444e17c8011e2ad399c81b115c9d4a6c",
- "height": 1365395,
- "prevBlockHash": "afd15498d2d1e83e9f37f1c0e08d2cf1df7270b31f90dad025c54326947dc996",
- "seed": "a3ab24e3c21a9300031e622da5ecd5d4b2545fcbdba4c2e54ee6063fae5fef88bbe0317456b5ede3181c14435512af1d",
- "stateHash": "7bb47deb6bf4d4035d2eaab602770907868eec3420d18f89fd4c56a68f908646",
- "timestamp": 1716906112,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "afd15498d2d1e83e9f37f1c0e08d2cf1df7270b31f90dad025c54326947dc996",
- "height": 1365394,
- "prevBlockHash": "d465e07b83454a20b0efeb751d2168b042b01011fc29c2c2c27d02bd59c4fce1",
- "seed": "b7018f5cf67dee4ae970455866abbbb914bcdde801042690c1dfef1aeba7e759d875578c200ebbd4c2bfaff8f3e67adb",
- "stateHash": "b62908a4b0793a1aa8c12783473efedfaced777e80af2369d457d34f7e9e5bf1",
- "timestamp": 1716906108,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "d465e07b83454a20b0efeb751d2168b042b01011fc29c2c2c27d02bd59c4fce1",
- "height": 1365393,
- "prevBlockHash": "ed7ce1f3a1978adceb7b2009e611d45f86576250ead906ef1f5612773ff314a1",
- "seed": "927a3adfbe4eb27bbcb2dc23e5acbcd50a932e7a09928fe9ae28944a01370d45fcb934885262b569a72122153d879104",
- "stateHash": "a82e54ff6d3f21613a87bd8b5f096807d16b4b640d1abf29e0d679f6d58ca2cd",
- "timestamp": 1716906105,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "ed7ce1f3a1978adceb7b2009e611d45f86576250ead906ef1f5612773ff314a1",
- "height": 1365392,
- "prevBlockHash": "901ac298122afb85823a93de1834fdb6bb5bf85224257da4a4bdbeece27213a2",
- "seed": "888a7db4797052e278f930660506434fc794bcf823e69fe9c16f146a4ede0a40d3a1534efe4b24bda64b9b9305409184",
- "stateHash": "1f9e9f3f7a30cb9b257d1a05716cd3983e5ea9c88694b711c0c43e28d93f66c3",
- "timestamp": 1716906102,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "901ac298122afb85823a93de1834fdb6bb5bf85224257da4a4bdbeece27213a2",
- "height": 1365391,
- "prevBlockHash": "d7e1e9af2b87c9ecbfe9663686511da4c8215aa4c0e8f1d90894ff215f27b26d",
- "seed": "b97c115570645f7dcee79f9768ed46de9c060af2c3139d1cdb86abfd42d89892ca45e32a89463ad76081df9c1ee0e96b",
- "stateHash": "2b05c8d626dc68b712be2814413cbd69b51fbb648efaa1cbe2cd1386e872fbbd",
- "timestamp": 1716906099,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "d7e1e9af2b87c9ecbfe9663686511da4c8215aa4c0e8f1d90894ff215f27b26d",
- "height": 1365390,
- "prevBlockHash": "c643bd58953c932469817e5fd94e46450617c54d18661d22d5c1ee7f639df257",
- "seed": "95f4c5a89e3cab0a82d70ca93367593c86c5adde8b045c1639671433b53487cd6d14a3cc2768b3a12b50d391642f1772",
- "stateHash": "97d4552a5aeca9a9f5abf656db882bbd2b0d5954b43b25c533e290ab13f5897d",
- "timestamp": 1716906095,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "c643bd58953c932469817e5fd94e46450617c54d18661d22d5c1ee7f639df257",
- "height": 1365389,
- "prevBlockHash": "630a34b956be7f82d0ed681959c719848ac15ed71515d7accd250f780bad0143",
- "seed": "acf143968fab2116beac954dcda46eb210221d117f12a96638a0b8f35e6c80d5126fab2283b4f2a49b5882ebdee86c9a",
- "stateHash": "a88a444d1e5107ba58b4296e22a1b75c16babbc718930dde556378cbc2c43dbe",
- "timestamp": 1716906091,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "630a34b956be7f82d0ed681959c719848ac15ed71515d7accd250f780bad0143",
- "height": 1365388,
- "prevBlockHash": "5f79202757368c7a36e88cbc9ce483a9cba0df6e856715f7f9aec55b5369dcbc",
- "seed": "85053db6536eadc3e43af089d22fd2d057f3b7ae2e86fa2e8de5049ec1e6ced871118277f6ef11007cfb6a78ab04a105",
- "stateHash": "a504c44b5aa27c0e27e7a8ba548b88cb6626e3ed75f10d79bb07a351d8f4e2d5",
- "timestamp": 1716906088,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "5f79202757368c7a36e88cbc9ce483a9cba0df6e856715f7f9aec55b5369dcbc",
- "height": 1365387,
- "prevBlockHash": "8b52d30167aaddd7be5679e6e22acfc78bc978a185e3778f83ccd8538486924a",
- "seed": "80b471ba4f9b021dc3afec188940d2fb2f0d3fa18cd052b14e6e374d84bdec74cae977429c7d14b784731f80e86277c2",
- "stateHash": "01211b137c87ef8eb456b00b20234a2b6de95536276fd183010de3d00b7f74c9",
- "timestamp": 1716906078,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "8b52d30167aaddd7be5679e6e22acfc78bc978a185e3778f83ccd8538486924a",
- "height": 1365386,
- "prevBlockHash": "c4e0395cd96cb3d0c9cafaeb3bd0763940e2f9c44dffa9e9c347853236914079",
- "seed": "a28c0e3003228b0f3933417260bc5d42183cd60ce89c9fd97c961d5ea7bd6af31e340066b81ac9bce61a62d31a6ff19a",
- "stateHash": "3dda0e2f8f09428e209f0097cd953b21394f9013cae4efeea737f93171c7565c",
- "timestamp": 1716906067,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "c4e0395cd96cb3d0c9cafaeb3bd0763940e2f9c44dffa9e9c347853236914079",
- "height": 1365385,
- "prevBlockHash": "c47d9df7d960f962207d0936bb05b72c3be291f7218a7cb4f253850457ca2f73",
- "seed": "b56ab504cd5a4748006a6b22e6d4a8ac37e1fa79f2123047abcf0372f24b6955ba454417e8a532e51309a1a95453ef1c",
- "stateHash": "3d9ecd15ce5ecede8703e4f4611727a417f83b178aa41a697da1bcda5ab6ab1c",
- "timestamp": 1716906064,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "c47d9df7d960f962207d0936bb05b72c3be291f7218a7cb4f253850457ca2f73",
- "height": 1365384,
- "prevBlockHash": "4a36e8bceac38dc47b4e556aa615ddb3d49a61f46dbb8be15b6ac7f31eb9f0a2",
- "seed": "a7b74cd861b10ce461ada68bb56ce396f651a481f351a7f5d8f52fe2b06a4ccd77d8d07fcc8a136bad514ff7cbf5a266",
- "stateHash": "aa7c0eac6013d149594725b8e2ee96f6244e1fe7d5ecb25ab200275456d73d27",
- "timestamp": 1716906060,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 303163,
- "gasSpent": 303163,
- "header": {
- "gasLimit": 5000000000,
- "hash": "4a36e8bceac38dc47b4e556aa615ddb3d49a61f46dbb8be15b6ac7f31eb9f0a2",
- "height": 1365383,
- "prevBlockHash": "1a69dd575bb8c30b0be7dbd95c5ea74112bb01f8d9cc29ddf4481a16517bbb97",
- "seed": "8236bd16752f16a839668e1079ccb938daa6a59f9d37e8acf3747fba609584e08165445a24af58c70392e72b5c70926c",
- "stateHash": "d180131d5aec73c693f26e25bf4b3d569051eb3484f62c5b7df2486606df99be",
- "timestamp": 1716906056,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": [
- {
- "blockHash": "4a36e8bceac38dc47b4e556aa615ddb3d49a61f46dbb8be15b6ac7f31eb9f0a2",
- "blockHeight": 1365383,
- "blockTimestamp": 1716906056,
- "err": null,
- "gasSpent": 303163,
- "id": "befe14f664fe1cb95f89b7500cc8a8368b3cd8ab58f4897dd3c0132cbebde004",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "befe14f664fe1cb95f89b7500cc8a8368b3cd8ab58f4897dd3c0132cbebde004",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- }
- ]
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "1a69dd575bb8c30b0be7dbd95c5ea74112bb01f8d9cc29ddf4481a16517bbb97",
- "height": 1365382,
- "prevBlockHash": "4ae71148752de13cb252322813015dbf376f0ba3a9534d081ba838df6980ffe3",
- "seed": "b3232873ac66a47ea4407aca645c9ad47c3d7774a66b54e81bc819a1ffc244f9db90cc00874bb98e586918c87aeb57ed",
- "stateHash": "738efbe6cfeb031b10cf025d751ae7941ee855c11bed294560ab035726c4dfe5",
- "timestamp": 1716906034,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "4ae71148752de13cb252322813015dbf376f0ba3a9534d081ba838df6980ffe3",
- "height": 1365381,
- "prevBlockHash": "4d3794ba5e80a8c4830c89fee903c75582742bc4440d634702ab60f9091f5112",
- "seed": "8a5cbf4fc4501fdf28bdc345ba8a0cf5257d8c2ad73799565590aafa25aadd23deed3bcdf2e11475473fc2ca46a186e1",
- "stateHash": "cc93ee47c06b809712b26fcf434339719ec6b8b748668826b7ca3f4cd1e01f8b",
- "timestamp": 1716906023,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "4d3794ba5e80a8c4830c89fee903c75582742bc4440d634702ab60f9091f5112",
- "height": 1365380,
- "prevBlockHash": "0cd09d9db9ea109dcaac09b0c4c57bde18cccaff90f8e939cf38167ee027dbe9",
- "seed": "a1f7c5e486f5c9155762cca47c78b66e19c49c9346fd08f25c18aac64edf6a72f5bfd908f67605e135190fe640ec8102",
- "stateHash": "72fd2a746c8c1492b5334741726d8f41f05f53a4011fcbd4dda6de361cfd4a44",
- "timestamp": 1716906019,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "0cd09d9db9ea109dcaac09b0c4c57bde18cccaff90f8e939cf38167ee027dbe9",
- "height": 1365379,
- "prevBlockHash": "6071fdba310b5cdf28f7812abc358ac471de8451811ba5a78771c17ca1559fe9",
- "seed": "ad8b5f7886bf322a3a83a2abd74554cdbba3b08cf48168a656041065e0030fc25ed29bec48f1ae5931981392b7f4293a",
- "stateHash": "1bf700ed2fa56d17f9487390c435d006b898a0f8c5fdf644bb1636dadb9e0bcd",
- "timestamp": 1716906015,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "6071fdba310b5cdf28f7812abc358ac471de8451811ba5a78771c17ca1559fe9",
- "height": 1365378,
- "prevBlockHash": "4eacfeaa6256aabf0094cf3c7f7433351fab78175fd76edaf437f5eef6a23b60",
- "seed": "8bc474fb2fcb4bea1624cfefab2c33db197d4e3268279d89fbce269c960e6da3b4d1c422593ad5af8b11b5b6b84540a7",
- "stateHash": "32b60df221a2b691ee013c3d58fa838f50eac8796a88f8e51562cbe44aed612d",
- "timestamp": 1716906012,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 300422,
- "gasSpent": 300422,
- "header": {
- "gasLimit": 5000000000,
- "hash": "4eacfeaa6256aabf0094cf3c7f7433351fab78175fd76edaf437f5eef6a23b60",
- "height": 1365377,
- "prevBlockHash": "b4e1591d3bf1223219e1c81cfcfa7c7769285738ffd71ab6986e7536c42b10ca",
- "seed": "926398df6cf4574134176329a191390fd09c3fae2582b3ea786b16703362c7b63e1939b2078a33e1031da1470f235acb",
- "stateHash": "f0188f8d943980aadc0daf0857c5efe4633c6e4ea430ebf2fce206a3307967de",
- "timestamp": 1716905995,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": [
- {
- "blockHash": "4eacfeaa6256aabf0094cf3c7f7433351fab78175fd76edaf437f5eef6a23b60",
- "blockHeight": 1365377,
- "blockTimestamp": 1716905995,
- "err": null,
- "gasSpent": 300422,
- "id": "dd9249849db6143ae4bf3420da9a2bf90b402807f0ef4843d51dd06db35e2a0a",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "dd9249849db6143ae4bf3420da9a2bf90b402807f0ef4843d51dd06db35e2a0a",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- }
- ]
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "b4e1591d3bf1223219e1c81cfcfa7c7769285738ffd71ab6986e7536c42b10ca",
- "height": 1365376,
- "prevBlockHash": "cdade5aed510e289c3a53076c02951e32a3d02cff2c31eb8b18c7c443c218d9c",
- "seed": "b1e255d195751529e6cde0d2f3a91275440e2c50cf330e5b1469fddd1079f64e3c2885ba66586d749415e2e87999a99b",
- "stateHash": "80686f0304a13a75b7a90c11a14d77786a977b50909e9f740be671a12b28cc22",
- "timestamp": 1716905983,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "cdade5aed510e289c3a53076c02951e32a3d02cff2c31eb8b18c7c443c218d9c",
- "height": 1365375,
- "prevBlockHash": "ce292ad29ec9ed8b74b852bc01efbd4f3d905baac07d4d16a78e1137aea8c426",
- "seed": "b9282a04102a37c4f8758ee31d46603ce944e19684be0d2f1745faeb335862b3740adc28c66b316dd620078400edf190",
- "stateHash": "f220ae4ef4cd20a32cac57288dd607da03fe31f87c481e7459ca8582b2381848",
- "timestamp": 1716905980,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "ce292ad29ec9ed8b74b852bc01efbd4f3d905baac07d4d16a78e1137aea8c426",
- "height": 1365374,
- "prevBlockHash": "04842b66527fe22e9a687a3c808bc5d2f73d3dfc6b64af628c37da7ef68230bc",
- "seed": "8d48907e3ca58f2b250bc763da89b78aa7f5b0a803f93787428928601eebdfe020f67cc2328b2763c500bc0da063dfe2",
- "stateHash": "342a276578b2da21eb670d696b97efb4b5bbd3cd13c9c96ff0ee4d0dfd818884",
- "timestamp": 1716905977,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "04842b66527fe22e9a687a3c808bc5d2f73d3dfc6b64af628c37da7ef68230bc",
- "height": 1365373,
- "prevBlockHash": "20402f1fa1f826bfcff92e0808b976d19bb1201fe643894959ae2ac1794a9138",
- "seed": "b73201497c53f43d0a33cb9eedd5a96b8ddc7df85f1ff737f4f45afe3ace27c1e69028d172f63de34f6da277ee2aa10a",
- "stateHash": "bb26ac63bc917fe4ae6b8be64710dc148c5e110b88695047c754b322792a9d5b",
- "timestamp": 1716905973,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "20402f1fa1f826bfcff92e0808b976d19bb1201fe643894959ae2ac1794a9138",
- "height": 1365372,
- "prevBlockHash": "fb261a2f374137a651d3a0e7b2715fac39099cbc8345e2b5cf0f79a48cb48b57",
- "seed": "97671badea07b99e38aaada850d736d73dd63cf679e56a925fe576cd70f73681851124c9b8b7943ff06a57c19c8d68f8",
- "stateHash": "0bd68ef70a6ab88afcd23d923c01b468309092bbb04cfd577cedc2179266bf25",
- "timestamp": 1716905970,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "fb261a2f374137a651d3a0e7b2715fac39099cbc8345e2b5cf0f79a48cb48b57",
- "height": 1365371,
- "prevBlockHash": "f470b7a09372daffdc34db36880d4a40a5fd5134831e1800b18408834779c066",
- "seed": "a52bcc09dc595cae825b7c5ccdb5dcf640e1708f727f34a1de69bd7ab7f96af2ba15a51a12689efdb992c8201a003d41",
- "stateHash": "86fae5ea6c0c920fee822113629df8f63887657569fdc2be6d0478b246cddf74",
- "timestamp": 1716905966,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 291862,
- "gasSpent": 291862,
- "header": {
- "gasLimit": 5000000000,
- "hash": "f470b7a09372daffdc34db36880d4a40a5fd5134831e1800b18408834779c066",
- "height": 1365370,
- "prevBlockHash": "006e42e138e4d44da00eccc461cf029befbd8e50c330420df90df1f1274dd0cc",
- "seed": "84c168a814ab67ffbcf55ba2b1bad4d147550226a462ea6ad5e8123cf87d328d9fbc6c8afb0fd52087e304c09b3322a7",
- "stateHash": "2597311c5ef3eabf62a4d8a7acfcb05d985797fae3d064e7d7140c4af73c562a",
- "timestamp": 1716905963,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": [
- {
- "blockHash": "f470b7a09372daffdc34db36880d4a40a5fd5134831e1800b18408834779c066",
- "blockHeight": 1365370,
- "blockTimestamp": 1716905963,
- "err": null,
- "gasSpent": 291862,
- "id": "1466ebfcaefcff92b8bb88feb86aab902a73d6062731de52d3f22d502136fc01",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "1466ebfcaefcff92b8bb88feb86aab902a73d6062731de52d3f22d502136fc01",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- }
- ]
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "006e42e138e4d44da00eccc461cf029befbd8e50c330420df90df1f1274dd0cc",
- "height": 1365369,
- "prevBlockHash": "1757ee1ecbbfff2c2033d9e6877c5c0ee2d6ead0700209b3a54273f088d558b1",
- "seed": "a7d4baa2589e2480840d73908d858091f7fe34367476256d81ab9f6939914b988b3fc7452b57b348eab663cec5eaeadc",
- "stateHash": "9de5806088cb2e436d1aec6b5825ae6f6d14f5340ecc54c7a416bcd8a20b6f57",
- "timestamp": 1716905960,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 290747,
- "gasSpent": 290747,
- "header": {
- "gasLimit": 5000000000,
- "hash": "1757ee1ecbbfff2c2033d9e6877c5c0ee2d6ead0700209b3a54273f088d558b1",
- "height": 1365368,
- "prevBlockHash": "6d6b5cc74e75e80eb223bd6fce083a8050ee12c3bc2cdffc33c1fbf60ea4e6af",
- "seed": "8939bd4cef75bbaf3c653b67b6a312235d63ef4541f5f855527365c193b51d898e0dac008735f40f36a72c40027f1965",
- "stateHash": "1aa1d3a8184f7d4e386865b8bb9ea5ae3afb93d282cb9d42c85c75fca36723a0",
- "timestamp": 1716905957,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": [
- {
- "blockHash": "1757ee1ecbbfff2c2033d9e6877c5c0ee2d6ead0700209b3a54273f088d558b1",
- "blockHeight": 1365368,
- "blockTimestamp": 1716905957,
- "err": null,
- "gasSpent": 290747,
- "id": "15af4e04d4f34b89a77601945aaec5c284ff71ed076ba3e4c7b6db1c7cddb80d",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "15af4e04d4f34b89a77601945aaec5c284ff71ed076ba3e4c7b6db1c7cddb80d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- }
- ]
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "6d6b5cc74e75e80eb223bd6fce083a8050ee12c3bc2cdffc33c1fbf60ea4e6af",
- "height": 1365367,
- "prevBlockHash": "0e4c0318df13c598ae8f476ce9191cfcc6dcdd6a0e434200aabc6cd5f7bc8cd5",
- "seed": "a4e03f5553adae327e166b0087a312ae0e11d6a009bec50599b49f6e2c91f532c38c2abe8fe6e9f504e437379331b3f9",
- "stateHash": "aa8f6ddbf3eacf00321f7deca0d5ba0a5e69f3b5420b15e092483552e119c7b6",
- "timestamp": 1716905951,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "0e4c0318df13c598ae8f476ce9191cfcc6dcdd6a0e434200aabc6cd5f7bc8cd5",
- "height": 1365366,
- "prevBlockHash": "c875e74b9719d2107ad2b3352d2f5a9548a7153b386d17b02e3275cc38df7f4b",
- "seed": "868a054829cda08b0102feb5562e0246a0c5775d9f2240039ba50f0c1f7649c04ce9c36d02dfc163c2468dac02a46d6b",
- "stateHash": "aa23004135b319f48308ae37a88f409540232281069709e237733d237d40b845",
- "timestamp": 1716905948,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "c875e74b9719d2107ad2b3352d2f5a9548a7153b386d17b02e3275cc38df7f4b",
- "height": 1365365,
- "prevBlockHash": "ce97c75a165e10a09ec95dc973f9d26b7973f98cba6e9b86a1b3a44ef5535e75",
- "seed": "a5f434a24eb0899e342f251ff087f00165e494047c9180af3011de1d27d831d4508c28e80b773b07a7fc012e121a3e4b",
- "stateHash": "1ba09743d20c441138692483a1d526a1d9ca0837ff43f32cc38bf3c9848c9051",
- "timestamp": 1716905945,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "ce97c75a165e10a09ec95dc973f9d26b7973f98cba6e9b86a1b3a44ef5535e75",
- "height": 1365364,
- "prevBlockHash": "e00b95872217a536c2b5f1b964538befaefbda8198cc51401bd26d32bc54292f",
- "seed": "b2abfbf50da5ed6d53f7d6cbb4f8502e9d9947585ee002a2f458358f59a4d093a984a99f23e9eff2de75f97ff1de366c",
- "stateHash": "3533f499e94d2bd457300f4a4ab9519130741f859f882c47c89c12283f210065",
- "timestamp": 1716905942,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "e00b95872217a536c2b5f1b964538befaefbda8198cc51401bd26d32bc54292f",
- "height": 1365363,
- "prevBlockHash": "d7a976154ea4050afd88a9f8003a3a25b1a3f457decfbcc3874d03754d4f45dc",
- "seed": "87ff9a3216b2508c6156f7b0e45f3e5042542ce34b779a767ec3cb66104afc1833241073e19c727c9cdeba342106edbd",
- "stateHash": "3d53d329f15d47cdc1b844ab0640fad3e99ff4f545b560f2ec44ba299cf181b5",
- "timestamp": 1716905939,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "d7a976154ea4050afd88a9f8003a3a25b1a3f457decfbcc3874d03754d4f45dc",
- "height": 1365362,
- "prevBlockHash": "44ab45499e98c6f98b4bfa0d67b1a663ce494f6356722bbf1cbf2fc82d69e475",
- "seed": "905a703faeef6968645db6b1b42b698612b299b42348e45c1a9493762a94b1d5b7d2ff6ca0147987befb37fc5f75222e",
- "stateHash": "c724dd7de1bef4cb1b55975c7c386d2310843028b5091425384c24ff0473cbeb",
- "timestamp": 1716905936,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "44ab45499e98c6f98b4bfa0d67b1a663ce494f6356722bbf1cbf2fc82d69e475",
- "height": 1365361,
- "prevBlockHash": "d5685929c1eb1f5ae870fd99601ef9045f1ace736b25951c4d894fde3d4ea66f",
- "seed": "90cddcab50c98a6ac0aaccfbf9290de7d2b0683b349eeb1c1abe5397efa30d82c8cdf46969c598c960e2661a308250ef",
- "stateHash": "a8f167d6d796651a1f10a17749fda6f3d075e9c050ef487ecafdf5f908fe47e8",
- "timestamp": 1716905932,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "d5685929c1eb1f5ae870fd99601ef9045f1ace736b25951c4d894fde3d4ea66f",
- "height": 1365360,
- "prevBlockHash": "040349548d88536bb635b834b33f0e097187994289ded170a4641ec0e6878929",
- "seed": "870634f853dd7ffac1c63da92e3d50ffd07af9c7121f4fb094ae6a7bdee1e52cb673baf4b772f5029c5aca64f0a8d7f9",
- "stateHash": "cfac9d2a6e356fbb1670640fd8f84a1adfdd304662de68540284887f452941e2",
- "timestamp": 1716905927,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "040349548d88536bb635b834b33f0e097187994289ded170a4641ec0e6878929",
- "height": 1365359,
- "prevBlockHash": "8cbf64431537a03c3ec65c6522491e31c597a05928d64c059a08bb530cf2d3cd",
- "seed": "ac511487ab7c2de701b7f988747097f4db1e283419fde48a04b8dd9a1a95501823cf74aaf091a28225e591b5b707b5b8",
- "stateHash": "0cc273081ddc60fa132b6cb60e018c7e56a6bf87636167bd43bbbc201d72e87a",
- "timestamp": 1716905916,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "8cbf64431537a03c3ec65c6522491e31c597a05928d64c059a08bb530cf2d3cd",
- "height": 1365358,
- "prevBlockHash": "656778b2594946a928cf3be54ed5c698c09d56f573630ac5a2c99c22652f2c06",
- "seed": "815e43c3ee80e552b3f965e4925ec6d6e6bf0d3544b69c9e8132ed0b4e6dc9ebd263f6a3614b70d4b475b9d2cdd1e41e",
- "stateHash": "1db2e6af56287cae11a8a817ade5226445433fb046b91120e25fe88283099b07",
- "timestamp": 1716905904,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "656778b2594946a928cf3be54ed5c698c09d56f573630ac5a2c99c22652f2c06",
- "height": 1365357,
- "prevBlockHash": "3939c0d2cf106eaaa885a1e4c8cffc7b3055096334000c005910faa330868881",
- "seed": "806a43d70e4b09ca11df1a2f2b62257b4c9bf186234b07130877bfd600c57996ecdbc74c77dcaab1eb8c5c3438f5a841",
- "stateHash": "646f6397da102fa9f1be654e17b3c1fcc089aeea19be92c53b6eae7423feef7d",
- "timestamp": 1716905901,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "3939c0d2cf106eaaa885a1e4c8cffc7b3055096334000c005910faa330868881",
- "height": 1365356,
- "prevBlockHash": "c519b89a26d2357e02178ea2b8be55caec27f6f645afb6e3a5fbfaa42570a543",
- "seed": "8906927e2ce0fd3d413f2ae33981d739604610a8f05fbc0dfd696b45de07d9e99fecd848da66ae92dabde9de7c730342",
- "stateHash": "4d9dffe2fe9a0387cee8079a58d6c24d871823914a84056a7add2fd6c7b08b67",
- "timestamp": 1716905898,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "c519b89a26d2357e02178ea2b8be55caec27f6f645afb6e3a5fbfaa42570a543",
- "height": 1365355,
- "prevBlockHash": "2d6aba53063e2771f5a36565b9712514a1a083b97cf2ca8cffcb5b5cc0349a73",
- "seed": "b6b7cc8df19de07d19c37080acd9ce3ac860aa41b592fd0e098c2096bb94e5cfdd5fc44618018801da2252f945f2a552",
- "stateHash": "940a92e45199640ff4e36d683a569fb05baba3919f15beed0c61cd255d8aa341",
- "timestamp": 1716905895,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- }
- ]
-}
diff --git a/explorer/src/lib/mock-data/gql-chain-info.d.ts b/explorer/src/lib/mock-data/gql-chain-info.d.ts
deleted file mode 100644
index c2d5a9639b..0000000000
--- a/explorer/src/lib/mock-data/gql-chain-info.d.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-type GQLBlock = {
- fees: number;
- gasSpent: number;
- header: {
- gasLimit: number;
- hash: string;
- height: number;
- nextBlockHash?: string;
- prevBlockHash: string;
- seed: string;
- stateHash: string;
- timestamp: number;
- };
- reward: number;
- transactions: GQLTransaction[];
-};
-
-type GQLCallData = {
- contractId: string;
- fnName: string;
-};
-
-type GQLChainInfo = {
- blocks: GQLBlock[];
- transactions: GQLTransaction[];
-};
-
-type GQLSearchResult = {
- block?: {
- header: {
- hash: string;
- };
- } | null;
- tx?: {
- id: string;
- } | null;
- account?: {
- id: string;
- } | null;
-};
-
-type GQLTransaction = {
- blockHash: string;
- blockHeight: number;
- blockTimestamp: number;
- err: string | null;
- gasSpent: number;
- id: string;
- tx: {
- blobHashes: string[] | null;
- callData: GQLCallData | null;
- gasLimit: number;
- gasPrice: number;
- id: string;
- isDeploy: boolean;
- memo: string;
- txType: string;
- json?: string;
- };
-};
diff --git a/explorer/src/lib/mock-data/gql-latest-chain-info.json b/explorer/src/lib/mock-data/gql-latest-chain-info.json
deleted file mode 100644
index b6b712fe2f..0000000000
--- a/explorer/src/lib/mock-data/gql-latest-chain-info.json
+++ /dev/null
@@ -1,516 +0,0 @@
-{
- "blocks": [
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "dc4ac511e5f6679d26512e0786047b6f251e64603ea4f037f1fdd1ea5d524459",
- "height": 1378753,
- "prevBlockHash": "d01be62e92ac5918234851543a6508220345f4f631798086ec1f3a251386b8d8",
- "seed": "b19b2a53ebadae5f890b59fa0b934c127a6ec316d1af0f2f33ccd8d95a0ede8c2317b6a8cf3df40210c332eafd6e436d",
- "stateHash": "82f0636243cff35deeed1096e21c06953a507fd55ee31dfda073dade64d28a2b",
- "timestamp": 1716967342,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "d01be62e92ac5918234851543a6508220345f4f631798086ec1f3a251386b8d8",
- "height": 1378752,
- "prevBlockHash": "5b1180bc706fda90671e00a0a7eb52aad227f33cc9f4377f8c8e7394b9ff4495",
- "seed": "80b0c07bd38640f55ffe837e568168a0e57c8456f7452a5cdd9af41c950c1f04189087fbc022a5456580465d3848543e",
- "stateHash": "147fb8162b394264c193218c2470192ec380a36091da56dac3adb0673bd04560",
- "timestamp": 1716967339,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "5b1180bc706fda90671e00a0a7eb52aad227f33cc9f4377f8c8e7394b9ff4495",
- "height": 1378751,
- "prevBlockHash": "e71cf924be5c901cb0d3e8172ab2729082d152dc1856562e4846843435d3a78c",
- "seed": "8f289e0f702ad8a889424a625df54207a1db91e70849b8893d36e0a8525cbc0364c2971618a01c7e5a2e7683ef0944c8",
- "stateHash": "c807d1ba015ffab1fb7a1c95f99f01b87abea5bf998674dec6384c3a92c2d837",
- "timestamp": 1716967336,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "e71cf924be5c901cb0d3e8172ab2729082d152dc1856562e4846843435d3a78c",
- "height": 1378750,
- "prevBlockHash": "618889eb6d244cae4ca6bd9aeec7ef056482e726eb59e81c36a07768382d5b40",
- "seed": "addafadd32eee514c3575356cca29203ca20f57c0cf87026d68358470578cddaa1807f5f7b5c5152f2569f2c0f027b43",
- "stateHash": "72e2398d313c138f97807008c4c9dbe2968dbec312e7b17552d18dbb52d89d83",
- "timestamp": 1716967333,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "618889eb6d244cae4ca6bd9aeec7ef056482e726eb59e81c36a07768382d5b40",
- "height": 1378749,
- "prevBlockHash": "1273d2eb6de3847cc38c51c5e7aea13664947b3123a1b2bca34f781e57f35b65",
- "seed": "a63d11f86bea1498810af6c6558c478c5e420b3c596c01f2372484edffe4e8183111f8acec295727bdfe58b193f07e00",
- "stateHash": "aa3ac221102fe70269c43608c18d7ad5e0b294558722b266e96545e663f56d27",
- "timestamp": 1716967330,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "1273d2eb6de3847cc38c51c5e7aea13664947b3123a1b2bca34f781e57f35b65",
- "height": 1378748,
- "prevBlockHash": "b769d25325e1e3e5f0b695c8a7bc540ef0f2fe8093229c4fe94afea0b55ba4dd",
- "seed": "a519ae83bb122030039fd56adcff5e8bbf60ebcf66b909f6a0eaf18b60f2ed156d92503fa8b9f2458a2c844f71cd5197",
- "stateHash": "305ddecf8b5201d599d0c3f3ddc45d21b3188c234a00fbb4b01931cdaac92a56",
- "timestamp": 1716967322,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "b769d25325e1e3e5f0b695c8a7bc540ef0f2fe8093229c4fe94afea0b55ba4dd",
- "height": 1378747,
- "prevBlockHash": "43e390da70e7a87c4b7b8fa09c1017c315e8f9176153304c17195c879c71beb6",
- "seed": "94cd0b9ef0a0a213d8a9287669875a58e8830072696c64db2ab9b53a3e5d0dbcd72ff90915a17a9192b1f0ce9aac9d1e",
- "stateHash": "d7fa54c37c762ab2b9e3da1baab986fcc295cdf6836db3c753b3ac1d29be2b85",
- "timestamp": 1716967309,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "43e390da70e7a87c4b7b8fa09c1017c315e8f9176153304c17195c879c71beb6",
- "height": 1378746,
- "prevBlockHash": "96e2f5f2b7fc0bdd63c665223404d8cdccc34c875ab170b2d71ca1ddfb0f838d",
- "seed": "8ee9bc3324cb295639a98381c9ff5c8cd567d023a520098d39b365a66a0d04846f626179568bef4b5c9226faa538a37a",
- "stateHash": "1e0afa8d89c7ea3a9332bf873ff1211f7a0ec74e9219c81041048c590ef54cb3",
- "timestamp": 1716967305,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "96e2f5f2b7fc0bdd63c665223404d8cdccc34c875ab170b2d71ca1ddfb0f838d",
- "height": 1378745,
- "prevBlockHash": "02b22e52c519c4b710d7d9fbb19b66bd41c093ad3ede7e35e2a71850618f2eeb",
- "seed": "a4e0bd977d29e32352ba596f179865d59f689d46034f25fa50bdee9a57e3e34389bfead2ea04381356e81a529a4eceec",
- "stateHash": "023bb7fd04abc70d0fcb1dd2e8c5dad39be57414d509ddebbf888eacf09440f4",
- "timestamp": 1716967302,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "02b22e52c519c4b710d7d9fbb19b66bd41c093ad3ede7e35e2a71850618f2eeb",
- "height": 1378744,
- "prevBlockHash": "35b0091069ca46af8d84dfd3c8a4f54b6f6c4a8e5322be074cdd0e6ae59e98c3",
- "seed": "8f211d7701ef12e56ee7bb1e0a72e8e9d883a6de21ea08f970ca852bba67c41c62fd7b80db946428e19f3018b6dadd7c",
- "stateHash": "e6242db453a7208c58f3bead4d1c83c0799a6963addf5db216387071da9c0b72",
- "timestamp": 1716967298,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "35b0091069ca46af8d84dfd3c8a4f54b6f6c4a8e5322be074cdd0e6ae59e98c3",
- "height": 1378743,
- "prevBlockHash": "2fedbac54c72690572584207118062c597432c92084b2996dac623e1c3edc073",
- "seed": "b11085665109d863be4fd0abef6e8994fa5f5438aa3cc422fac5319f1045cfe19ae5a39e3765cb0331183ef61852fa5b",
- "stateHash": "8ac96fa46860f54e115585926dd0b82f61fac13fd8f688970141d6100b503300",
- "timestamp": 1716967295,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "2fedbac54c72690572584207118062c597432c92084b2996dac623e1c3edc073",
- "height": 1378742,
- "prevBlockHash": "0d7fcdffceb29079c330b141af0523995c6abf48cfaee8eb014a323b6ddc571a",
- "seed": "845121321a701d6a57b6e9357616117ba825a9c1ddd08dec121041b146e5fa392feab6b0d0c288d19ff336b45bdc404c",
- "stateHash": "8982cf8c0183814a10441438229dab3601b014ebf39e7c380b3a79a246550ff0",
- "timestamp": 1716967292,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "0d7fcdffceb29079c330b141af0523995c6abf48cfaee8eb014a323b6ddc571a",
- "height": 1378741,
- "prevBlockHash": "392b1279a149b39a9ffd974e328d00a25948e8b1c9f47f05af4b0d427a4a8fd9",
- "seed": "818b6c0b573aee016d8fa6820f10e5a208dcf7de5d2a5341d1c79b16abc2b1b11f83951b6b1eb2707c9cfbe11bc96ccc",
- "stateHash": "bb632f02b4b029ef7b059c1e24606ca40ffc8a177e01b2c5a0ebb2f3866b4cf0",
- "timestamp": 1716967288,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "392b1279a149b39a9ffd974e328d00a25948e8b1c9f47f05af4b0d427a4a8fd9",
- "height": 1378740,
- "prevBlockHash": "c5fac8e025a39dd2b6557654a5c561fddfe61f75ef1b55d052362a9c57301d1c",
- "seed": "9697ed99725ea9c0a8eceec5ef3d08ca7d3a446ff28376cd21095c7133c737b0ef12f257be56b7385d49884c4d142df4",
- "stateHash": "45270d67c0b2679b887fa17dc3995a8f410f88b2a2a58a39aa4c7ea672bcd6e7",
- "timestamp": 1716967285,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- },
- {
- "fees": 0,
- "gasSpent": 0,
- "header": {
- "gasLimit": 5000000000,
- "hash": "c5fac8e025a39dd2b6557654a5c561fddfe61f75ef1b55d052362a9c57301d1c",
- "height": 1378739,
- "prevBlockHash": "f7c1ca01425b8472211d8d1e32b3a125d8eed3d66145fc87515dc86c5cdc46ee",
- "seed": "b7811de0fa434c5712f36a0f44d6219a125ce6f56b42d17aa09b73175e3e8f62428cc7ffed96172b190e8f3c323a0fe6",
- "stateHash": "fa7b9c849474d1ec10c3514d2b090db30633e488253a54fec14ba370cee37655",
- "timestamp": 1716967281,
- "version": 0
- },
- "reward": 16000000000,
- "transactions": []
- }
- ],
- "transactions": [
- {
- "blockHash": "dba739bbdad8b802beda418d341d43a419f8fa88173ef471b0780a0c48842bb6",
- "blockHeight": 6156,
- "blockTimestamp": 1726091725,
- "err": null,
- "gasSpent": 8221117,
- "id": "4a4593a447ae768a20a28c534afd815f1f72965a7442eff71e62833047514552",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "64cbef4738ccd709451ca5558b15ca3202b6d8147df6777debc4f6a8a4bc7d03",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "dba739bbdad8b802beda418d341d43a419f8fa88173ef471b0780a0c48842bb6",
- "blockHeight": 6156,
- "blockTimestamp": 1726091725,
- "err": null,
- "gasSpent": 8221117,
- "id": "47ae464b9cf13bbf6e7307ecd0cc1a978094d7571bc6698c9bc5fe3e5facba66",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "1f6d99ea97565460469c6802b39af9bf0f94f457e97a3fc3eb41546d29b86804",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "dba739bbdad8b802beda418d341d43a419f8fa88173ef471b0780a0c48842bb6",
- "blockHeight": 6156,
- "blockTimestamp": 1726091725,
- "err": null,
- "gasSpent": 8220846,
- "id": "225dae3745d75fa7bbae7e0294cb9626ff01bb4de697c0be31a3fc176b36ea41",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "3ee81c6375f1ab41272e4c9f8dfb7950483c3bbfadf44658df735a18bde67c04",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "dba739bbdad8b802beda418d341d43a419f8fa88173ef471b0780a0c48842bb6",
- "blockHeight": 6156,
- "blockTimestamp": 1726091725,
- "err": null,
- "gasSpent": 8221266,
- "id": "03bae6e2e96709ebf41da7ca72353efca792723355332f467c0f32b3849de702",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "3a75b42910a41d1f9a2639b09d95467fc076709a2f1553d6294ae15d6944e60e",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 215552,
- "id": "070280c69500df7d1b40942981a3b599ccf9f71ba62f96d63e322994efca2a0e",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "070280c69500df7d1b40942981a3b599ccf9f71ba62f96d63e322994efca2a0e",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "6971e17e1603d0651b4145ce404f9c7eeaa72182d94ef8856da980d38530d800",
- "blockHeight": 1377411,
- "blockTimestamp": 1716961328,
- "err": null,
- "gasSpent": 215617,
- "id": "534f753d5a420fddc21c84d76ff26b87cc48ea75b450c082759d155153259c00",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "534f753d5a420fddc21c84d76ff26b87cc48ea75b450c082759d155153259c00",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "c28cfe813e05902f9b0576a0bf8da50740353ce89d992ef99f7bcfbbca988fed",
- "blockHeight": 1377409,
- "blockTimestamp": 1716961318,
- "err": null,
- "gasSpent": 214413,
- "id": "c6f13af20c23b8bc55d22a416a191e3a6ba47128b4d7dc3ac6fce5fc68ebb102",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "c6f13af20c23b8bc55d22a416a191e3a6ba47128b4d7dc3ac6fce5fc68ebb102",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "e4a232262cc74cf98ad6288b8b3569f5480f6abfc935e37070ec324db4b3cdec",
- "blockHeight": 1377389,
- "blockTimestamp": 1716961257,
- "err": null,
- "gasSpent": 291769,
- "id": "31c7dce26a5a6ef1392f53630b8e2714981f10eaeea2685c5a37dbbf7bcb4c04",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "31c7dce26a5a6ef1392f53630b8e2714981f10eaeea2685c5a37dbbf7bcb4c04",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220926,
- "id": "cbac233a76cde9fdd129277e7368a2fdd99a5f390c2472e7f316151f4b53666c",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "4fa6e913c083aa595530b1f6c010c7e5a58121307c991ea6782f9e9e4dd5510d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8221243,
- "id": "a9abf02f549d21a89390eb18f5e91eeff95c21a4c6740dc30e113f2314152b5d",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "d1a7928a435021d87ea3649bff57c8154fc7b5c6c68081a61fea5779ccdb2e04",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220934,
- "id": "a7171542640d6b918928927ee814c147ec2c07c5f7990fe82796520084798b6f",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "004ca8683c315b9270e04d3768dfb58fb0f65d92a9469ca31a5d97cff9718b06",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220989,
- "id": "a171e5d05bd1e6478a4bcc7db4afd9d2e6430e5c3f94d49ffb71934776765465",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b5a77063e45dd90b97b2c30b4cd670fbf04ae60c4b8e3ea9fd0d0b4496253a05",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8221018,
- "id": "8fff9d4eb4818bfd66cfaf41b01842f4fd75b0c50605e40fa8b1b1393ee0ac57",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b263d9d594439be92bb9349bd97f55a05060956419f2f4a32925639d80b06e0b",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220865,
- "id": "88c5c5ebedb181bed0927f41b55835b3801d505774efca243ae084caa9175e04",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b4525cb82f5cd56fcf8ceb2eb30f647d2c3567e82abb8265dd12daf5275d7709",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8221367,
- "id": "65d9ef520afbe16722f3de439695d31ab3ae807d81ef8e3ebd0fe1f805833c2b",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "40fb9d20eb9e6ffb27be4914f49cdf8059e2fdcc88a7b17f9499ff516584df08",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- }
- ]
-}
diff --git a/explorer/src/lib/mock-data/gql-search-possible-results.json b/explorer/src/lib/mock-data/gql-search-possible-results.json
deleted file mode 100644
index 547ee97b0f..0000000000
--- a/explorer/src/lib/mock-data/gql-search-possible-results.json
+++ /dev/null
@@ -1,40 +0,0 @@
-[
- {
- "block": {
- "header": {
- "hash": "fda46b4e06cc78542db9c780adbaee83a27fdf917de653e8ac34294cf924dd63"
- }
- }
- },
- {
- "block": {
- "header": {
- "hash": "fda46b4e06cc78542db9c780adbaee83a27fdf917de653e8ac34294cf924dd63"
- }
- },
- "tx": null
- },
- {
- "block": {
- "header": {
- "hash": "fda46b4e06cc78542db9c780adbaee83a27fdf917de653e8ac34294cf924dd63"
- }
- },
- "tx": {
- "id": "38a21c90324dd1ea8a3eb749a520d4f33b2304fe150eb121086fb4cf13777908"
- }
- },
- {
- "block": null,
- "tx": {
- "id": "38a21c90324dd1ea8a3eb749a520d4f33b2304fe150eb121086fb4cf13777908"
- }
- },
- {
- "block": null,
- "tx": null
- },
- {
- "block": null
- }
-]
diff --git a/explorer/src/lib/mock-data/gql-token-transactions.json b/explorer/src/lib/mock-data/gql-token-transactions.json
deleted file mode 100644
index d599337508..0000000000
--- a/explorer/src/lib/mock-data/gql-token-transactions.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "amount": 4359,
- "from": "0xf1c4230aca3ca19199d0f9665bbd9cff8",
- "to": "0x189f8d571b05adc6a35ef1bb0e3b458184",
- "blockhash": "103749d1e8990cdda301b2c4efd6c50735548dd2fff511d9d99c75",
- "blockheight": 6670,
- "date": "2025-02-04 21:15:22.373891+00:00",
- "feepaid": 364,
- "gaslimit": 40133828,
- "gasprice": 21,
- "gasspent": 8255387,
- "memo": "Mock transaction",
- "method": "stake",
- "success": true,
- "txerror": "Out of gas",
- "txid": "15fb0001ed66bb0dacc02ec003de09e31a3de10e810fa8bb384175",
- "txtype": "Phoenix",
- "payload": "0x",
- "nonce": 0
- }
-]
diff --git a/explorer/src/lib/mock-data/gql-transaction.json b/explorer/src/lib/mock-data/gql-transaction.json
deleted file mode 100644
index 1c9ba540c7..0000000000
--- a/explorer/src/lib/mock-data/gql-transaction.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "tx": {
- "blockHash": "3c6e4018cfa86723e50644e33d3990bc27fc794f6b49fbf6290e4d308e07bd2d",
- "blockHeight": 487166,
- "blockTimestamp": 1713249549,
- "gasSpent": 290766,
- "id": "4877687c2dbf154248d3ddee9ba0d81e3431f39056f82a46819da041d4ac0e04",
- "err": null,
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "4877687c2dbf154248d3ddee9ba0d81e3431f39056f82a46819da041d4ac0e04",
- "isDeploy": false,
- "memo": "some notes about the transaction",
- "txType": "Moonlight",
- "json": "{\"type\":\"moonlight\",\"sender\":\"kT5BamV2Xq6JpnoCq9ux7EmYRShdg4W1sLzyGFUqicmZTqxeMWLiTGpBWNhpjiPtKqvWFFmdxVBAjts3oEnZgPfuiyTRwDdASJQjTSy7wNhHdCeKtzExREcXZsmmMRLwKbXj\",\"receiver\":\"mHWZo9qYUhqp2SEmtWN7EuDKFwVrjgdEyzpHdfLB6R9scRAq5EkUQyLB9fBfCGt1wjxfEpFxHq9MBPVVPY3Lk3JKnQLWZzj7UYAR4mGmeGQZwCaeCS8uA63ZPKnGpjiUnj\",\"value\":9812378912731,\"nonce\":156,\"deposit\":0,\"fee\":{\"refund_address\":\"kT5BamV2Xq6JpnoCq9ux7EmYRShdg4W1sLzyGFUqicmZTqxeMWLiTGpBWNhpjiPtKqvWFFmdxVBAjts3oEnZgPfuiyTRwDdASJQjTSy7wNhHdCeKtzExREcXZsmmMRLwKbXj\",\"gas_limit\":\"2500000\",\"gas_price\":\"1\"},\"call\":null,\"is_deploy\":false,\"memo\":null}"
- }
- }
-}
diff --git a/explorer/src/lib/mock-data/gql-transactions.json b/explorer/src/lib/mock-data/gql-transactions.json
deleted file mode 100644
index baf6b52837..0000000000
--- a/explorer/src/lib/mock-data/gql-transactions.json
+++ /dev/null
@@ -1,1914 +0,0 @@
-{
- "transactions": [
- {
- "blockHash": "dba739bbdad8b802beda418d341d43a419f8fa88173ef471b0780a0c48842bb6",
- "blockHeight": 6156,
- "blockTimestamp": 1726091725,
- "err": null,
- "gasSpent": 8221117,
- "id": "4a4593a447ae768a20a28c534afd815f1f72965a7442eff71e62833047514552",
- "tx": {
- "blobHashes": [
- "0261047715f0e937f3ab3d6bdfb1bf1894995f89f64ed19a26a1d59bb2d7b629",
- "b3d5296139ba0f44912b87a19b47ea7f229131182405d9f082c5fbbeed8c121b",
- "8f6bce4e1f233d6de022e3ac1ab3a262695991460e9f78eca288fd623083142f"
- ],
- "callData": null,
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "070280c69500df7d1b40942981a3b599ccf9f71ba62f96d63e322994efca2a0e",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "dba739bbdad8b802beda418d341d43a419f8fa88173ef471b0780a0c48842bb6",
- "blockHeight": 6156,
- "blockTimestamp": 1726091725,
- "err": null,
- "gasSpent": 8221117,
- "id": "47ae464b9cf13bbf6e7307ecd0cc1a978094d7571bc6698c9bc5fe3e5facba66",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "534f753d5a420fddc21c84d76ff26b87cc48ea75b450c082759d155153259c00",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "dba739bbdad8b802beda418d341d43a419f8fa88173ef471b0780a0c48842bb6",
- "blockHeight": 6156,
- "blockTimestamp": 1726091725,
- "err": null,
- "gasSpent": 8220846,
- "id": "225dae3745d75fa7bbae7e0294cb9626ff01bb4de697c0be31a3fc176b36ea41",
- "tx": {
- "blobHashes": [
- "3656d71948baff2091090423f3b07701223b00d1a10942e44afe644a30865423"
- ],
- "callData": null,
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "c6f13af20c23b8bc55d22a416a191e3a6ba47128b4d7dc3ac6fce5fc68ebb102",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "dba739bbdad8b802beda418d341d43a419f8fa88173ef471b0780a0c48842bb6",
- "blockHeight": 6156,
- "blockTimestamp": 1726091725,
- "err": null,
- "gasSpent": 8221266,
- "id": "03bae6e2e96709ebf41da7ca72353efca792723355332f467c0f32b3849de702",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "31c7dce26a5a6ef1392f53630b8e2714981f10eaeea2685c5a37dbbf7bcb4c04",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220422,
- "id": "ed17ab505ab991e83194183b47b0ea8cd933e096c773767153414603a2b96964",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "4fa6e913c083aa595530b1f6c010c7e5a58121307c991ea6782f9e9e4dd5510d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220926,
- "id": "cbac233a76cde9fdd129277e7368a2fdd99a5f390c2472e7f316151f4b53666c",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "d1a7928a435021d87ea3649bff57c8154fc7b5c6c68081a61fea5779ccdb2e04",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8221243,
- "id": "a9abf02f549d21a89390eb18f5e91eeff95c21a4c6740dc30e113f2314152b5d",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "004ca8683c315b9270e04d3768dfb58fb0f65d92a9469ca31a5d97cff9718b06",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220934,
- "id": "a7171542640d6b918928927ee814c147ec2c07c5f7990fe82796520084798b6f",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b5a77063e45dd90b97b2c30b4cd670fbf04ae60c4b8e3ea9fd0d0b4496253a05",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220989,
- "id": "a171e5d05bd1e6478a4bcc7db4afd9d2e6430e5c3f94d49ffb71934776765465",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b263d9d594439be92bb9349bd97f55a05060956419f2f4a32925639d80b06e0b",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8221018,
- "id": "8fff9d4eb4818bfd66cfaf41b01842f4fd75b0c50605e40fa8b1b1393ee0ac57",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b4525cb82f5cd56fcf8ceb2eb30f647d2c3567e82abb8265dd12daf5275d7709",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220865,
- "id": "88c5c5ebedb181bed0927f41b55835b3801d505774efca243ae084caa9175e04",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "40fb9d20eb9e6ffb27be4914f49cdf8059e2fdcc88a7b17f9499ff516584df08",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8221367,
- "id": "65d9ef520afbe16722f3de439695d31ab3ae807d81ef8e3ebd0fe1f805833c2b",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b5ad0ec014ac415dc8ea214f9baf555728126558afc8e142f8223504f807910b",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220508,
- "id": "5d043c4a9c829891dd40c2c482c0e2b579bbe3e0ab7b2e240e47ab231d8fe112",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "56504a6d6236fbd64671d86e6f60f20fc3e1ce09f7ee9ebc13b593ba14520c00",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220823,
- "id": "5c5aab71b215e835841aaf173bbfdca9372dd29018ee753d3ffd9eaa88158660",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "d65e4ebe379d0d67142e80b377b41eaa35fa7d6e9acd3e034e6d63d5026ea001",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220485,
- "id": "53085322f4c84b6a9d17c36996b51a8a05d2207752c733dd454e23f6ee0ca62c",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "6c0ac7828bd57ddf18834505b0cd64f7db91ed6504dd7224a3094e10b1febf06",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "7b7283644a72524eab216ea5e951477b890ce8355074f40d6c37cda17bc691ba",
- "blockHeight": 6155,
- "blockTimestamp": 1726091651,
- "err": null,
- "gasSpent": 8220989,
- "id": "4d08455c8f9dc5c7bf40adec37409bcf628a0ff0f4acd2e422adccb3ca573750",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "890f5cbdabc58674e519498a92630e62700a4630e2fc66a12cab1603ec72fd0a",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "2f655d46cfaa77dfebd052f2c46dbc5c11f385c2e052d21428f80bd60e93e255",
- "blockHeight": 6153,
- "blockTimestamp": 1726091631,
- "err": null,
- "gasSpent": 8220846,
- "id": "e1768fb1598ffede8e36462114dc5a5bc329fa573ad23fb21f1f7938b91b0455",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "0717291342435d2d14a8dd8d0850c8bd563d9f4a86e4ccd6befe2c49ec4ca701",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "2f655d46cfaa77dfebd052f2c46dbc5c11f385c2e052d21428f80bd60e93e255",
- "blockHeight": 6153,
- "blockTimestamp": 1726091631,
- "err": null,
- "gasSpent": 8220823,
- "id": "8947bdbe93c6caed2ed64d881a2b2cbd86b68df275a895ee6be4ea75cc1f4d6c",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "0cd3ddd95a915d1c0f4b09b5899921e478659047fe14e05e2ebb9ccce3fd083046fff1fc39a903062b0285abd536f54ed9d6b6a0aef63bb1e832d26692f9ae1695fb6dc79ebb62d990b58527740f8151640ed376666d12a279bcedd45b933436a527ebd2e1ac823247537b956d40bb9bd39c18d0897d86db858b9876a29c2f33aed924bedc55c31d56c205fd6d8163da7891d8d1aa9d8087c11ed3869e424a0e7099ef92169112c3f109c32200f73de854d575c37c7f48c753ee5f67a24d4a6ba241b3c701f05760c978640f089f1df1eea21cf76eb23a3fb575dd44700db65476a17d2685f580d72ac6a687b68e784404ad96745dc694186374fd48e071c9460b9fa233004a12825e2a2576289670a8ed214f838995a782773eb069e3b39b4c9e8506c1603418d1952655729fb8deec87e57da3f2de10047dc8295464dd0021557b1b8bec5ba05654af6961ba5e1a21fa29141c5d79ff224ff7f5279d152c1ea4c0791f14b265ef4424333fb487e1c414efbf653dfd7b198c69389f7b7f7105525fb3d5b980f7da92efb551e679d90ebbdc2801a06161da1a8b84a681371703dc6d02e36020802d67533d739dfb6e26fdbe9be67ed21afce7832bef6c289a16230fb77e6a1f47b396f6b38cf02e9c4c20ce621ab1c5056e7fcb442662d6e366ad824af0c11af9f7cd61b7b9bc9df70f294b72473845879e87d35eca5c89d1e7572656fbf8010c4b053fbcd32e473875c01e9146a026aae14f8043611282ee160000000000000000930e34b2a542757c9c84c343cbc7f9636f507e0f84d0053a8847580c277f3c6ab0d1e8e9bb3fd39b451f442ab38d7b078a6858ef89623c7c15babe8cda0252decd7c0b2850ca9975d33797e986a00f134992ba7078e1a3d06191bf18028ac30c0000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 2900000000,
- "gasPrice": 1,
- "id": "234a268e0eb314ef65e67a01673160fca9c28c28e2e9ffa495f46b4390850505",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "2f655d46cfaa77dfebd052f2c46dbc5c11f385c2e052d21428f80bd60e93e255",
- "blockHeight": 6153,
- "blockTimestamp": 1726091631,
- "err": null,
- "gasSpent": 8220926,
- "id": "201a06b316279ed6cbfef83a739372d5c57d38d7c697980636b2821cbfbf9900",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "624741da1d1e3720799a634e4486e469fb0ac422dd90b969f19c2692a83d2a584245990d82893cb13f6e545e96c2fe7a62021ee54b81c524a85a22427529e4385fb07b64417ae14891d82670bd001d88d59bf20928450287ff49d68300738f137f82e4bb579b792da9ffa3b87e28bb0ee51507658adc19bbf43fa069f972796475e277da83a8438aed17a92ecca578c2f6e93e0830281ff76dbe3489fc9fcd45d65381de33a2cc7e882c9cf2d3a5ae2d18f573c94382c8c159485375d8c187314c67e7d403c78612b5c656f24f525ded052e2744a0500e0b6b68969b880a026e05e048b6e141c4bfebed300d7758fd86f80941223ca9ad4e8887ff9fd83ebd42bdfac1bb7990d5badace23c411c2e5b59ddbcba2d6396d6c246236f3b36bb8317566a1170115317b9f46f7ca91167f5bea0a629a5752e23148873ea49bf8fe68771ffa5b23c1616866905f6315afe7d25c2b8930e10840e60c297871e5daf367c42e4cba6923c571f90a34a41237a77d75745783c0a5147f2293b118eee18b1cbaca6d36acb76724d36b7536dd20be0c3a9560109bebeb7a14c197a9cbeec23f3f61644d0815c7d7ea7cb5d6704829bc6605e0ec3b7590bb96bdbba4b104b00c39656a450005b82dd314a0da9d7d95a451d6ab952f21e378f2a50d915cc21312323968f213236744f7855d84d35f3f1352de3e13857e779a315f2bf4c9d6f87d3e0443c03298bb3e30ada75b50da44f778df7385a7afa01d1357ba998dd3880b0000000000000000e12b4a93977610370958987db36e34aa74e5474308d9a8f34dbc62c725a879bc8b2a9dbe9481d147ea83bcce9132ea0eab5b3c92925aa75938e7e771620968bfb202f61573ca5b90c61cde1552cc8d0dbbbd52af1d0e90b4f778cba58e52b00d0000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 2900000000,
- "gasPrice": 1,
- "id": "34faa5407c1cfd3a0b3a9ccb256caf0f968f345136cc91f39b1e8a190d3df90c",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "2f655d46cfaa77dfebd052f2c46dbc5c11f385c2e052d21428f80bd60e93e255",
- "blockHeight": 6153,
- "blockTimestamp": 1726091631,
- "err": null,
- "gasSpent": 8221266,
- "id": "04c2fb2642f5da656d51594077a70f1beae51bf4a8771b4d22d0d310cf600d55",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "8aa90cb611f89eb2b676fd40eb8b61be1845a39b8b83358b3d9cc5937542bcb782b550c7157dee861e33606b6c8561c5a452073af0f1e337d193e520366dafba0293f967931c35770bfa0e29aa2679acf3d8953e55df64dce8c439fc2c8f372ea5571c17481fde22f290f7c9c2998aa1b8709bc0c362069c465d2180f53d0c2f7635741cfc5535c4937e756fff623c54b3761f23d888e14b3659c3b76af7e5d36842bfaeee3d88b2cd2df8fd822156cb3fabf802a8db4a1317bbf84d9548017a8b0552f2b2554fb6d2674a5ff7a0d8ced655daaa10b8d85dcc84c30b275682208cfb551b868576e9bcaa9d05569dfba6a6d9bae314e27796607eb16936e98b5bd4e9dbb1f3db02afa0c7c53df58a5d0afcdf8b6072afb95b055423cdda744902a9181115bce6f8954ea9862d78a7cadbb0b420c60f6f65fc47b879d117a0b6394f0c66a706c6f07282b71b8f88492bf4850c098a4496648f5bf1e4f76a77637d79cd4e77b7692283fad15baccbdb2f432279bba3483f22b277685441da82ad8d8d9e9bd803d4c543490dcda81075676e7b9eb9dadae8d82e1fc7b62c3fb09299a8a898dc5321a135afa769698dbcc5bca2e5b325c6ff3838bcdd9a48e16250f59164d36bb23ce4b1418d7895bd50358f46e725fd0d5e6ffd064117ef56a80809ae6f5847b8dc9b41aa3956226a584a963509a705a0048af59f4b1f6e72e0ef32e24f779e20a89d4a2fd3c6fd738e233de559afb741d42fe13bf63edc0b42eea47c739df5d037489bc8abdecdac949c453a847539d8b7101cc71423952d343f0bfdf06e0684c733966778c9a165df433c7a4c02a6344d02c343b0839f4c54d190975e6fc04e3488ac8d6111563e233948fca64b0b0984636b8dd8d86bfe03e65e0eb7e316fd0cf231be01faf175cb34069dc635087b78c0fd4a1f5ea8db11c4218cb0d2b6943b0f40fdac089b5878d859c00e15f04c95ae50e0c8334684e17a457b74822ba4aa21902624564d9dcad139fa381b115968e2718cb76238b2d00192e8be117131dbd662106cf95c5e0c02290a98d775c1d8cb52ab0fb3a373dfafbdee954a5f7872b7aeedbd1b753dff563c04d845f8eee8df6ce39f8b13f9a8f3c03641b5fbc1f48621e587aaf8c8ff0513813a1dba448b141df5f4be916d7666b972a6b37af78be7c14934834eb93e9a2f63a4b95165a6976ca175831588c75a4b6e5d44dc2038e70bea45f722bfaf1b0017b44baaf7c74b87f6599ba6e7b69eb5738ae2751eb4673837532625d013e9231b4ff8ccafaa03d0d0d92f66527f62c30c453bff01b242b40e2a001720c7460769885a9fe6567a4cd033a378cb2a80e42954849e52a2d74ffe1a4e5c4545b54bacd485236ad90ce612123e5a462f3f3d7212922d5646c8ae0ca5ca963e64da12363606f66c7fd786ba1d44f4e2c182fdb02c41a19770c896515610a35a629d38cc7b7dc17389bc60046066c1da3ffac955f868aa4599af12695066456bb252b91bb91691d4560156dc7996f40847070dbc599ca4319de4e8c6c3bce23c533081263740d0141d9260dcd729e720d374278f03e76d2cf3c12801877cf10eec6a0ad9440ecb7f822132a2a0714179eb7c43cf7e04d50434f26681b9c704fd5a15a782f463ca1f676e3ce094a0b7b090630352c8d28d2fd772e168c9271671a611183b729fcfc05ad23a2fcca90433acb048bb8fe8e01a0d2066fa10f0728187ad040000000000000000807007cbb4a56bbd5827f33a6318b1485a7c9e8a719d0f8e4df270ce46bc7d034fd3993fac5754514970637616f1a700070a1fe1685dd19c3cc5fa3433237d3d35163deeae528fa122e5e4d2a9a1bb039cee6ca48946c219b18bc739887dc40100000000000000005b56516f53400000b8faffff10040000",
- "fnName": "stake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "4e6c4cb0cb90c229440e5879ab124ad1686236b7e5f672dadf20616e8a2ba70f",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8221117,
- "id": "ec5936d93ef5303dc011b2acba2cabc0ce85218b274eecb06f75f5625e9b0324",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "9c93999735f48a9e64fc5271d490520a4116b3cd3f6ae6ae716795b0a58add04249d0166317b03609cdfd39b74c4dc70d1787887497ac1b7b7fd467c18461971124134d8e5f28cf281e843f1b665ed544051d56494f3aaf373a491ad5edbb74d970d0984bd3abfca9d7564fb1d7efed47a6d5cef296b76d575756a33a28287636a2d57fb5457c4ec327f10810c8da68fbee5180fdc9ddc7ce434be2fc9ff840e8a71b7608e0da343475dd17d4ba38bb273da7e2ca100d9dba36f87710893e806e59e615ca11220b66dd354a3f7be5ff458227d626a0a25a55fdf76c28c755b20d186d8cfdf6ed59b3cda39e39a8a7b6fa0218fdbc8eb13f9042580a615e4ef5f4ccdb07d148a724ca9d8380eabef71eecee07acc60b166398d4a020df25d3443e26139964e34706aa71060b44f9e7e09b25c66ca4fb895de4bb6c0bcf1b31557e1d3b89aecafc01f415b704d6256359c0fa6806861ff4b48767763dd93274f28bea81d89926af3756922c3f7cd8d328ffcb06efb5316d5d653fe0f112b43ad56e8ae8e91a32c4001c35733891d917f0b10028b1e6a3244611694cbf10e0c463ee244a7c8e18334c5cca91d5fb96f0184bd9e98537216f71c9d28b084944d210cd577689508cc34eadff422018145a234d1be38325fc0c67036c1c06ff81257167ab4dba1d5ffd782bebecc3accc94006072de34211147aa83165052559c21093d854be274b6de129384061e49bf45ec7cc878d9bb37d73116ca863304928fe070000000000000000d609103d018f93174629fcd2d39de750b750bdcacae7c264a99999ec0a316eed9b036d749302a4a242a0bbb7cf00e711796b5404444d5d1d340e7c1d2e5b7f88b94e2fc91679c1e1cd21ed868398776ffa89adb81efe9a4ddad7052a0f4d72190000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 2900000000,
- "gasPrice": 1,
- "id": "1a5de8a0e93eaeddf80e3d698ff57f2fd4c965bbc1dbbf4938a725041cdbde04",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8220485,
- "id": "d897b5d2c0d5c6008a1e932a4f14743e2dee41c74264ccb70fcde47627a5373d",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "00450e0e9402f7d558d8c32aa2d50fda5aa5a30242dd4926b5703114bb5ab46db9c9f5fc4fac002556a3da0823023fa2958bf32c5ac35ec9d227b0c156b29f5a140518062eac61ab6ad1674ed390cb8424d82dde9a500b4b48d4da5f295182e3b7c28c4e444d8b707771816053ad54b02b8196b4bba85eeebe76e7f1cefafb68c0ffffffffffffffff188e532c993f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090dfc0d4e78f168b4dc2c524232a91925d394b4b386a0724adc1eaa257d6c16198679c2d93be519122a09f87fea0b2b0a9d6471dcb7d7981bb15fb3fb8624a1ba8624c8ac9ee988b63d172376644195232537a830801a74251aad0e76162480580eef87d687be71a697dff3c572c12ee6b8ba30c3a5afe7d526a2538c823328a16a99af524f9d7fd46668ce9733cd866ade61f347f1ff26b69ba83eb972100bd2ad5b2753b746a10bdec89858f18764200c5524426bfb63e55b17b61fee81ae28677545d343a2000df02c0b7ebf5323b689bf034fa3948eb22dd399101ef4f2b69eff26fd6adda9c7043b3c46cd559a98a571d05bc513e59ebe37a1172146a245845e921cbb60e3b4518edb02ea70fc2276bc2197e4aeca95984c71cdafaac5d8889c9cee46d44932b497fb072cbcb65c468e0a943c7867beb20abc42ac19b0dffde32bacda5ea2bdfbc06ed2690ee0fb78ea4fee6b63bc7c970d0ed46bd408397d82f51ea7a26964e79d81fd082707e39c501b7232fd762503d2057724a705f952bd6e2c5c8ca86c3c310d829519723cc2bba2f01298778074b8401ce6990410bdcbb5d1be01257b1d34beba0c7401c8eaae89fbc8c91bdb04988ab0e2910071ca31cda397de1d7e087959e9bf1aa5cd1ab825f84f963009bf0f59a860f88a291dd8d3b661bcdd164fd5a96fc0eaeee10810e3ad5ae946c664adf2d8dc45f152318758256368bca5d4200ce9969993506b48c42ee7ce005824ca63395e1577abbb89a12068fbb1f593bd049f41aeb0bfc9e19cb7d53de0b894320aaca8cb6086367671d44099dd1859220753db368229cd14736f6bdf27c35152f4b4d5c9cdacb23ab32fc03b8d28cd56b6800aa10567deff2f7bddc38cf2b5cb430954ec9f689379d62ba67cdb1a0bf6e9004cd2c41d180c1f99e0df70acb7c2f6aee736249ea10736434d84012029849b4fb2c8044a155a7d971547160b835cfaa4999b668c2967a1820ad84617835689e63bdb4158423cb782a952d3fec476d6056cfee8d46bcb83c9dec9626294a48095d46ed6c9e77cfa35d88ceb0d90b3326b575ae4918f1c23050fdf88b80f9277b71476e4234678c355cf253d348f29debff5a0bf01c721333445057ecb71eba6a77964d57bfee062888c3ef7bdfb0f0fd60e12edea612d7b117cfc1e9e22b3a4af5905b46f0cf7d3ed19c70f456e5c6e502988ed7a2c5a1adf8f9fb1103f857f80728155d108d6c40e61a6ee86c3d99300345210d84c5cd41c7dd245b8d7fbe9855883f43fdf2da50595c0c4f10d0d80f3103b74ac35896cf2705d2a7ea374807e6e5a4450b29574f2b1fe2509a8ab1d0ef7e1f5b21a45162d3c0c798a1ccfac83e7c123f16e45fc06e98b695781a038d50e8d8747750e20aab27d97a8a69b9ab368ac939534bca34b7267933a70084153004d8c47a88f177c40804f165d8d85414fec36a00000000000000cc7b7dc17389bc60046066c1da3ffac955f868aa4599af12695066456bb252b91bb91691d4560156dc7996f40847070dbc599ca4319de4e8c6c3bce23c533081263740d0141d9260dcd729e720d374278f03e76d2cf3c12801877cf10eec6a0ad9440ecb7f822132a2a0714179eb7c43cf7e04d50434f26681b9c704fd5a15a782f463ca1f676e3ce094a0b7b090630352c8d28d2fd772e168c9271671a611183b729fcfc05ad23a2fcca90433acb048bb8fe8e01a0d2066fa10f0728187ad0400000000000000007d1496adce6ed0f2b407c457fab24299afa0ec89583749636f071c7ddf31fe175c6ef675656288afc616a4180332dd08baa7c4ed5cc2dc69c509c18216e4234d1d5eb20a7404aad53cc244bacf9e84cea054b7f58ed1ea265ce9ace5fd1a190b0000000000000000d0f9ffffe9000000b1faffff10040000",
- "fnName": "unstake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "92774d896580133f4de508b81fb736136d0f1a056c688990b122ceb80dcf4e03",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8220989,
- "id": "cc28038743cc0d3f0bf0b1ac880a4800a0416eef2520cd21fd1932703bd86a6e",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "82a6651bc1f16eeda28c215bc72411a940106e865c14e8508e76d31ccb0a7c00",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8221018,
- "id": "942a2f76dfd8f8338b07417c82fbe8701a7bf10cee9861548d892b591a20fd50",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "58e35acd24d88abbf2ac35c4f1feec8e93305e276557ded69a66a01cc2ea960d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8220508,
- "id": "59cb3ccce410128aafb02626fc48dad9300944c754def2bdb7fbe38280089851",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "5da77ac9cc3c347234c2a8914ae848e224da17c3f3f1fcf0556d04fe8027d40e",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8221243,
- "id": "4f14d1aa4c095ccbedc21a31608512fd3d4f3d05d48c47b4e97ca99f577e9f40",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "99fbbdf1ccd60008c3d3c46ba4b836c63f815931d58c0d9825e86313e315100e",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8221367,
- "id": "4b7d1622ea9408452f041143e90f1a8a78ac106c6a64bb2243fccedd2873e05b",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "911cadef7943c9b9504b5d85a995ef64c53ee7464851d31d8d1f2e7a081dc509",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8220422,
- "id": "3d599cae691673a78bc062a59101c43b131ec528f9237df053b2353aa4617b35",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "a58abbae06f7d99b1f073083d514575ff465fdc4be7aea802e14f9afa7767309",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8220934,
- "id": "233cd9f74f126ac8c22611b00de173f5ab384a6dd37709f9985800d64f993b43",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "863509ffd3bc8af84533c3011d935773abd6d249848310e54c8425cf64e69e1cc8a625024c4ddb5a89d870f822da13f88e43cb63131d87c9807b35589e58d67ee04b871664344acef377aa25a87154e24b876e3dee94d7297b6f2a896a3d86b3a9f09f25e65d28f247606e18a9aafabdf124dad1b58c43571da604a5224d863096e5cb6c6c5f80e5742094019d886f45a535fcac0cfd6c4773ff87b144025b3512baf9ec6ffd778cd6c0ed9fae62552c80a1898b0262b5ce6044b03b6064ace38175d18717dfe8e8a3b4e7d85b5ccd4bb06a76311c961390418e12dfd468e31db69d3a5db88867c629688933df4b06e5b2532fcadc326278d4296059ad05ac2b6286ecc804c86b7c5802c477de3f9edf62001cf738bde0e6c59d7f0eafb05b6c98fc24b0d248c92556a30389b66d176df20f4ee8ddad5f4273f81cb9642219ba3454c4eec46edd0f7ca25584624ef9c48cf07c17706c141bc012ef568579b50705fa6ee1215fd8f3b1d2106e61a88feb19a6e2cdf6140f6ad68746cfe2c5187291163af91ca5ef3c96f7d4dfe8b86ea47281f0e33ccc258081bc08d16fe1b98b038752671c4b09bda1cd5ad55e8823dca4a677760e306f9c2078d288d27db9acdbafd2a22ab9591b206c37d785ce362e50d86f3e448404ccb3a1108d242336c0af5b34342960194a7d2c6a827af6866295bba58d3123d772af3474dfc06345e6c6c916ea1e2f4bef9bf2a976d1143f30a369e47a63460d01b56119c09159b44e1d538b715087be03cd0a75d83e1a532c2808169be204d781ab20b2850942061ba272230e1215e80c26edc3d0cbb0d3264c040ee492018bb928870f4dcaa39f66e461df8e65871759f833e32d97c80e50d5101819ab118c54aed4aabe14fcaab7b830a63ecfe9646504cc694627e4f107461fc889938773988d14c0a8a99867c05db6db3821cf8dcc88c28cbdb3c4e93d222b33ad088f74334c975a0ec028bb871b34eaffda91334f38157fac9af7624c0ccb3793a19a87f0493a2fb3941d6eea5e0c764c64f57a9c0dc92eac258882262547620f79c23dce0f8c7273edf73a896844eb4a0496c239d41fc699962b514a771511c389fbbbed3873c1975c53acc87832f8ea9b4a2113123f13671f8fbb3fb8a262f0147a1482db01092a43f279811df24d23c6c553bf312f5a1565b07172cc84057ebb14831b5404139b57a359a175312c8bdd28f14acea919fe5565d304106435ad944b9a8a6cabe7b538089df57dc886bb0358c54c8d65e32f0915093d2be55e625e70bef1b263ef091183e6ff7d971099223ea75ed23e830fd9f4eb730defad897918e91eaa3dd010f606af2695cdd3ef287e6c0b35dd44c098864b059c1f27824fb8fdc21ac3340077aeb49d41d8bca28a3b941372c4fe95a3c73b0f40cca1446774e322a4bf150ef47c7640c277d7caa4e74035f3e8c419245aea61aadfa0583e3a547ba0c66d67d85b6458eb5b6c13aa288f5d52bc009e72aa4be11c0cb0c9a0a51c15863cadeb9d8d2400bc5ee2a2f5a89fe86d20ea14646e477a9176bc1b28e6fd4a56b00abd0b7f3b03b31b80182669d9512e28e2d64de3950b98bb3a33841856b27197785eae5d06114b6454406c536bfa6e80ce3aba975f93cc7cf4010ccba00a299f19d3fe9a710000ea7e5430e82c36e215b0d629db551269c0c1e92ad034a48b45c19059c259f2dfc5398e94123b56cf88b84d008da303000000000000000026e51e62f8664262e4db4e0095d767a3558653c0497ac2beacd3b8f46f1936fe49a6ba0150187a13a703001fa2c9ed14668ab9e5a4399e982c8b8d0e3dce8b7408da4c7a35a9137c197bcc60c27dc2850ed150729961c6440c112af3837ac81500000000000000006d54e359bf300000b8faffff10040000",
- "fnName": "stake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "9467c2b0bb71afa96a9fb844bc300d14325ff4fe7c3c1e7d21196f9962f63601",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8220865,
- "id": "22792f9abbd8de6f01f93367e735f62e17e49438f87dcbd3a87d1e6a90c72d39",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "90409c4c8b1bc07b68724b012a6828fae6b94551608fff4eb6057e452e1fe765c0a15a5970798390593004d27069a486aa42e7e52ddf008be66ef0e71eb2153438829f8b8615e12d8fa039c45b4f94cf456275d638273f199eee61f692641679b3a2c9b1a7d057b5aa66c7cb2a69b182a1ef38c2923aeff7952a4374619b384763a5b0ae20e1785f6f73946b66cc3b6a90ec3572fef35d99d1e903ffa74ca3608e4ab8fcd9750b3096caa082be4b4718f6fb0bb6944ad89aea9658d025944033b5c0291f4e924009214e88e038f8aa13c8992f2b1e79c8435f810ded98a5a8132c442644d6aed217d4e379da7305a7d98dd221f7e950d181080da86dee880c1f16d4b339dc17bf7357c007e1b43a4658cdc35b7897e15187aa6ece1e4e848ffbaef09d1f39d22ca58c65668fdd54b7b51653f93a66febf7eca7847414d4fd91db1f41bcf87465a79ed21734569f5a2a1b9819513e08bd2533818d9e2477bea2b6d8c4316755eb33a7983ffb760233f2545bcef376eafd26e440750f298186f9294e81abc89d1bf321074649a04113f922aff13f5deb16dbb9ff82d483c0128621222476f8817e7c6217a0ce3cb606846b07cee80e5c8e7c2ef9b361d6f7077a12c49eba513dbf0299a5fcb32c4d06454adc6ced592be11ac7ecac0b58bc55607a92fafb6701ac0e63be2010385cc31e94573f76699bfb2d415add6675641ed65dd4bc60a4ee91ec1c1e5aaa7f6d0cc16de8f5845c11c241c424694508a8852ebae95b239ab77a452a7c9f8bbcad82512200065d947eaa7d36a4dc6c6500e3d42307f5139e53f868f6eb9676a04aa670eddfb5e8517d93061570ae02b37cbea0b54a3bcd1e2eed2987309f141298f0d6c5b43e3abc0b325683818e71027b1c440b93fcf02713bfec674a7028503ed49149fc4f92e9b4054cf718c4d3ff3723aa24cb6a3a49fd7bb90a40dd816e21cb55b8ab5fa3a8bc17d56e2bcd3b83277c47e1dd4376f7c6df78e8fe1e2db720ece3d8c4136a06d087f0b5d1def0c020c7db2447ded42c02ad09e2742693260f670712223f620b6780233e7fcb46584e6bf6e9cd7fa357e4a8e4696e0ca8b3aecb540b158d91344610116f0f65e369b4065ad7c1579c7f2d41c57054651854890e64e72f2312880adb3f2f78b560591e24ad5560cafd6e6d2ab05c8b610cf8e62b2004b325510a8a3a8188a19aeb2bcc89fe8f51e5123fa39c9f4d2d49c8c60da9b4b9f924b91b5b1aa08ebcabac5dc85d64464bf14687e2ef7b48b556a9d17ab3f666999240063dade6662d8e31c5a1598dc98e2493977925ff29523855bbec36d69e291161aab298a0be3f469c7b37764b8f61112a0427cdd47f6d68335db326830ab8ba57257c832f64fdbe40f61cf7fc350a57a4a2df53ab695df771a55922d515e3bbb6ac74222cfb636323ccd1a5b49874282472280a9b0a76ab0852a302461940f2ebebaa1c5313a1ea662441245d9b7496384308f72eb19a6c60ca08a7583fb94e243897ba9e995f93bfe5667340fda55855b13554f559383dc84e1411e7a5bae94195ebade888c038efdae5058395bf2386ebe9bff032b5916bdc7ad380a860849fd45e1b98b9309f8127b214a2b61882643fcaf02793332897650ecafb1bcd8fd9e7db0923ecb5c6e85afe06514537cacf42816f2f5b3875dddd36853e40b3a8cba43b7aad9451db326e5f02a3694da8bdfa2ba7bd59faab5b02263531900000000000000003eaf9eb4f20dfb1500cea83fc6282c6648aa342f00be40c930c496cffdb875299cd11b7785123d32d116494fed70c316ae42fc8e0fffa4169e32504323708bbf68fc5e0f740be8dc76337d2108d5b566741ccab5cd58a316616775153aea3d180000000000000000e83fdf2a05300000b8faffff10040000",
- "fnName": "stake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "5cfdd5d300993f080910394ffd515c376d568f9fcdb32c3b800205fe526ff800",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8220989,
- "id": "1a1e73ae4789c6fcced6dca5c79e450d7f08b60d7aefd496be2c92a174683f4d",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "0023d8ce8a00661e6ed225075cf5625e763102e328171ba956c36172a9a34eb4639790dffe57c2394e5e1bfc6d0ad274bc4d23553c52063721db6ad022b735f517a17dc56024c3ff16dc442ab46e886067a5e759a1d41f698132df824f919d30e7bf5582fcf27a9be798dbc6be2ba7a0921e1688d4cc69bf1276f9c475f97d7a05ffffffffffffffffe8817fa0a72b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b55c97fb52b7addaab21f654f4b520fa08f7e25df0a23cdec127c9feef3b8b83ad748450fb4e35c99f14c6d183f17b828377303de459184555f3510bf4435032e6546a6fd8a374e46e501c4d10436469d2808ae01c76a95e2034a7697fa1020198d66a90ee8117c9ce849802b91c60f14093f119d637836a33255ae58a5e3c5eb2e7746e0fbfa67ec5706cc62e630f838a91373c7beac0733df95e86ec154d17d6de2e0c217102f0f1815690be6ef204060bb04784f385165ce34fbf7b893a6a99f6a9f82342907f27e8cffa7989b98551b6287e84100b67f2bf6f730092c9614f711d3e03f22885fc5de3e716683c6da28803e0b06ff2f3406106e23c19e37a053c306e808bd7ecd7fa758a60d2fde6e967167c174cd7d7c2aeef30d5f9ae39ac8463908e87c2caef08fd2e4be1dedba0b4bb2e65c3a18e1de8693949c4c385a5cad0324385766276ed48f253ffda5ab1dbbdd38f40dcb466b7df86a69c5914f7ee3ed0f3567ece57eabe60a247419b86e522380d5928d488a59403397b04fcacd26b8ea1344d4f691a07f77f9ba31b35c9acc0dba471fb48b2e423dd9c0f671f21054e9f4939beecb0227f113b2ea48a0176b5cd0b821a21d41ae2363f2cbb203589185d4b4d7386177c23fd884b727730b02bcf0ce9495734636876a64e8d85cd0a0c194587e78449bcba7530e0dd7a8b06be54f1a73a679f980db30e683e79f292eef404a1e96e898523dc4536e05fc296a1676aed0842fca60152c54e13454b68950669f0cef222d9f14a3e1d60eedc8fc550c91d6020fc014d2b08fee00f610c1b2b21ca8594cfd0b900bf176c620d8a6397786b83a13a24e3dc999e2f647d31db7a79d15768af88f763729c6ea165aed4a8a6326040d11ff70b459ba6110ceaac869eeac84f5a9af5ed5978184f495547ada9f08608698ec64919070c06f33278e11d484e8eda9d02ac8eee30409a74eafade2a0dddcd1e2905c35cc3c7f1035629fc763ad3de566bdb47bb1f6355f2360921e769c5efa5ae7b558bcb649109a66112d6b8b4d18fd854275f5bf9090476119be32584f545ec0c931fd193179a12f6cc841e002fc5635087b24fabc0d5643d071e1d10d9bccf03a8381bfeaa42241228019bcc01077646b1b420c59897f4eb6b66688a574a8f064ba53989a4761df5deec20e9fb2134352e17006008d84743e356d45966bf5d4321721b572c9a094322f71120dbc2801e1a0d03a8551d44112e4e4a4c2a8c7e2a6b8d7aa667959e114ea24cbc4e3acbdf6c6424740f2e6168aae888f9b214c10a5c077630980532cf91ca21e77fbdc82817302d5b14d0814b0c5bd8fd1c3cabe5fa7c3174f32a1f3ca7b4f5a15c025abc5e4f0b0c3625db6297e05458495f25b2f0ca64bebb3e756f1e24ac49fc9632bdab7a4e20e37fe1e2ac9fe0ce450f48394473d934ba94a89f4b707aaa534d09835a5c2600000000000000940f2ebebaa1c5313a1ea662441245d9b7496384308f72eb19a6c60ca08a7583fb94e243897ba9e995f93bfe5667340fda55855b13554f559383dc84e1411e7a5bae94195ebade888c038efdae5058395bf2386ebe9bff032b5916bdc7ad380a860849fd45e1b98b9309f8127b214a2b61882643fcaf02793332897650ecafb1bcd8fd9e7db0923ecb5c6e85afe06514537cacf42816f2f5b3875dddd36853e40b3a8cba43b7aad9451db326e5f02a3694da8bdfa2ba7bd59faab5b02263531900000000000000006378093b95e37d98b1509f0e7fdd4da2898a705deb62a9adf23d07ee82f0c3aed6e8970c44afce99508d45aeacd4da028110fa6f25efa350e70ae9515151c019db7f6237c733f9400e900d646a378ce7cf66853716f354589174058733cf4f090000000000000000d0f9ffffe9000000b1faffff10040000",
- "fnName": "unstake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "a983e6c884a5a83fdb3a2f3a03d8f41d5db813ab9f0b6c41e0a9cfcd0f301b01",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d2d4531283d3e2c6c023475b49e768ca9d8ef20ae81d93fde476312ecb9246f1",
- "blockHeight": 6152,
- "blockTimestamp": 1726091621,
- "err": null,
- "gasSpent": 8221117,
- "id": "0f163c2c7e9f7b77d3046f3b3b4c769dbbc33eeb4b8f0168c1aa91c2cf00a733",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "00b6ead28e20b10fccce902fc1bd26fd4f7f8edb05b1738a6a7d8c7e234a77e46c50afc5a45c5bb954faef4fd88c295ac0a5a5a840e3f60771e96095399572c85b498141ab0e223cecb77b301a7d9bbbe6707d08e5c7d31cdb5de330b21846294252e671602095731ac00ddcedc3d3dd6773b272ecae4e3c5ce0648579c581d1a0ffffffffffffffff6d9683cf612c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096400a1ddd7c2941a2ed3bbb4509cdb160cc5d94697bb1ceb7a4c2343ed074685996485d744f712b63071d40b4805f02836c7f9e67b8fe30a223f661998e4b248c98042620ea353fb750348e919e6071bb2959974638a3a66f8267c35d85d7ad85fa384f9cbccb36e26becbacc9d7501e0a12b64784b4cb433f765422420b0cb0c379ebafbe85820027396e1087e0fcd9667438002b49934e49935348f997ee13b202aa5125cc067170a59e3255936160aee049575fffe1b0ad16e5062d1d4cfa3eb5eea0439f3f908910a4db07a0c26fd287af944544114f9875775e11a98950c3d198bb00e5122726b9fe76b90e1a3853a348d860598082a070b6a074de3e1e34ac2b9ce8890de93788b007a244fbf5b78fe937d942836c018dd6b77f3bce48872d9250e8d7a21227ca8a000990a2a83fb2c6705209bf49151f68a1f860fef7637762847066b1cb2d2baca43479324ad1ebef4701196f54859bcbeed732973d904973d4bc7a6c2a4588e46790108d8fb882dea26518317a7d6b5e3254b846eb3244c2ad5c22454c059415efd52ebd65140fd70ed5b53a940a8252a93292fbfa06f7a4a9003d87f2f21a1f47df4053ba636948409c1097f0af680af8370e1c1bd35305846ecf691f250aba59507012ba566108599925dbe2ec09244781c33fe83cbc83f72b8c34f7bfaedcb19169a6b260addaad432cb8161dc008a2b334eddc87e7e994239e4abc911384dc77f3252cafb2936cb5ff47eb7ab025ef6f1ffd74fbebd575b5595f30c9b547e8a45f465c181c59250174595074e3c3c44d199b18fb3f0ee77bb27a9e44a944261a936037169e5ebf9d620ad40dae6c210e9899f02681a7b5e7e138feb0edabcb46ba704dc4903dde16e3b8b6eaba87eefbed378cac00d7bf072dcec7b4b679708b6564e063291b9ac9b0b87e2385bb3f76e4e4e7c3eb48cd86bea820174d45b79fc93182b7117147a44384f3d046af6c56c1c6c0d02cedd7545eacd0ee43279525b11545273c5c1847160d658e90160983e9a048e13684a9a6dba49f3304abf978e833d49597c5022f0bef2d496faf30759d7abe87bb989be772293cc38658868dd47481b294682f05ee0cc20961421efc5dd0425e1068a8c64afcb06d0e9372706fb591cb5f8ad846d2714059accc0ab2e069431dc27db36a1f2adbeebff1b1757ce463f1b81a68de4cd3ea25295db5c1673563fd47e73ed21ce14dd7a729a7f506314d218e9345605e614f6651616615dc40c09eb4423f263253fc93b9a760e2ade311e27184817c79b8e95449aef6a78b1c625c0d4a9f19048a384f68f3f2d0bf972a8fd3cc32517c56849de15ebbfd9ec5114b9ebe69b5f219eb7ccf207f7a8ea73627cd30430c709427756c15b9e938af01fbcbd2a0892bfa8b17f7710aa379d4c910515199bebbb0678159c5d0602e0b6d889613961af0b3f86f058734fd9c45600000000000000aadfa0583e3a547ba0c66d67d85b6458eb5b6c13aa288f5d52bc009e72aa4be11c0cb0c9a0a51c15863cadeb9d8d2400bc5ee2a2f5a89fe86d20ea14646e477a9176bc1b28e6fd4a56b00abd0b7f3b03b31b80182669d9512e28e2d64de3950b98bb3a33841856b27197785eae5d06114b6454406c536bfa6e80ce3aba975f93cc7cf4010ccba00a299f19d3fe9a710000ea7e5430e82c36e215b0d629db551269c0c1e92ad034a48b45c19059c259f2dfc5398e94123b56cf88b84d008da3030000000000000000e45b684aa663a0ffd9aa74a8fb436430e8bede5c96c615bc19b44116feab1674218f063bd40f136a3d28a09516b94a1935315946debec386d4325862a4eff62acb36d4cf983773e5c035077b5502130dafbf1a8193e4a6d94e58c986314e09100000000000000000d0f9ffffe9000000b1faffff10040000",
- "fnName": "unstake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "0c331d315cb9121aec30b9676abebb474bd7aa962bfe624126745391fda1910b",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "ce9731214761e991f4d999dcae4707e26f9aa7f0f32a3b2997f341cb99a297c9",
- "blockHeight": 6150,
- "blockTimestamp": 1726091601,
- "err": null,
- "gasSpent": 8220926,
- "id": "c1d0f7858630ad6ff62fc01f5fb2bdd3b1481e8b013a3905394314eb6466426e",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "22196ee04a1b3ef6c8d9685aa87ee89e5a6807192716b243a94b1692b40cd60f",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "ce9731214761e991f4d999dcae4707e26f9aa7f0f32a3b2997f341cb99a297c9",
- "blockHeight": 6150,
- "blockTimestamp": 1726091601,
- "err": null,
- "gasSpent": 8221018,
- "id": "b4b1cd90bfba8c3ca23cb8cac540799aae0ff605f1c70780a2586e1b7a414a72",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "b8c5ec2405ef16b1ff5df81038096bde11b1ded56847c1e51e1cfaa9f77643b2de9d2aba8646547e0551d23dba1a02e5aeaef0303de1a8b6b1c73e6be5bb256dea59a214ffc9b1e34d4ac8f462dcfa3168d94e57a0d6a8afc33751d3a6eb9c01ace39afe21985394391ba1774f0b02e987ec5f865427583d00891cf8083bd7740edd241d75f556d0ae06fb4c7005cdf7b2c776d2466ba13283b35c9166f62433be4b24884f5a4e1b32993640375d62f8b02bbb42bf16d2feca43696e53527c169867f095488d4cadb4bacd32630333cedc14dd3c76edf6685b3746b9c4ba01e4b6529adf048980e3a756e4ef38cacc5889adf4b524c6ad0b5d913a748c7c4915e28544ec81575b704bc0ecd901387150bc14d91f9425f070cf61a9201a7e606ea637e50abaf2995cb753aa65157b2afd92b72817b604e11b81735e4b8e610a7f1590e2e578cd81075c9f4edf9439f75cb4a0cc7e5d9a0a28951d0ccd76c71012cd7ddd672df438a60683f805b195c154cf349ca3cdd241aa38fb7d286e41c40f918e434fda944ed61677a1ddff13868d1aa7911a3119b3cee3bd7900944ed770caa8e8a2e4dfc0b80c520dd2e0fa123b82263f0cf0555fa409b0f65eeb8b17135ebc4a82b7e0e3c758e8520b5fcb2353aa6b13be76d58e9bed3e8fb620e0e6349904def3220e8b4d74822761e1018f72e2cc6fcabbe7de1b3aa257074215edbce1a5da1bc3dc4eb672340905f5c3f2902907650b4666af68ade78fa27519425835b7f80393d56180d85f87bf1ffe566844fd1a1df3283d482e99daa5bf05148ed440408dbeefcb22c8c23229e5216c72566bb9738dc47d382c355229f2ef3874f214018671047b1235e6742be0f37a33dc4f654b3abf408049ddd899667571cae060b057cc84237faa79fa14927b0d564d1b5c54738e995c16824852caad8afbaedf64749f5990d3c1a9d1d93e90f63116e1f4226883cbeebddd455d506882a19a001669f72284bb0d4c91451e07803dc010d6dc5b24fa3e7f586f14af92e48327903268ce17442f271eeabafab41c06cf889728099becfeecfd4adbf2a9d0a44e679490b373fc368e8aed06d4783300be5046cdea47161281a62eb2803a472d275fe831c7d3556e09d40c834e81fe173f2bc8280984ebffa53c08f825424e17dd2452aceb0037b8bea2b1957a7d3301bc9e5346dcbee9691e7cded7d6fe23165ccad921572e3a8a195f3fc86d00663d1188535521b4953a723cc23078930d4f377e9a5d9bee4ff1af9b06e5adf798248a7030363e7d91beeb34df8a0f0a58661888bbff6aa5cd2febea0d2618689b452ed9206c5f3795743d5e74bea350514d4dc197e7027d397af0585b4ca96a3d4c930e22e94f6f31446aa3de5bfd54b0e3cf5ad8f3de559f3e43b5cd053a0626336d64025f42010c85df1ca4af34d8b68bf2fb169a4c5d047cd95c2c4ad253c5338d70bcaeb64a6ea8cb2efdfe9d8af8f123299f343ae3ee348134c2b6684d648522149a0ae917172726cd72f64914f9008ed9bd989f65dd6f737dbc2d239709b7749e9e5e43b715546bab8a9bb267976e87237ae48e33fe31efb2e471fbeb6210201d7407133cb5b6123defc56df9c9ab218ce49bc4e89d8677620245d4c170068b36c989e65619a8a3e46a020cbc341434b00df9ccb8c3bbad71cf2d86cb2dde0ea9387619be2e157cc802a942b4419df17050cbdcf15fbe0dc59d450d4ccd0e0000000000000000831b8725af051d60a1a2ed1c70e72a3285c1956cffc3340a51c3357e391deecf38329558ed0a6719912276c1bdf78d07da1109a43e97992bfdd72bc0e1fc8ee7acc0cc23dbf1fea6a0989b015bd04ff164fdad086696577123f099f4a7a3db140000000000000000844b1d48ee320000b8faffff10040000",
- "fnName": "stake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "b8f40c1e38ceecec5659d02577469ab32e05db33def14a1428a3192366b68607",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "ce9731214761e991f4d999dcae4707e26f9aa7f0f32a3b2997f341cb99a297c9",
- "blockHeight": 6150,
- "blockTimestamp": 1726091601,
- "err": null,
- "gasSpent": 8220823,
- "id": "26a032ff6f701cc9140b69359649a1402fcdc8209bf41eef0f32fcfb611ecf5c",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "00a76143b312e4cbd62d06c7838a7b20c6b299391570a8a8d8d9654558d02c63a928c0e67fa343b3da45f02b5b39da3615965a6481d5b9fbda1c79d99687aa1a1bef14b2d1926a5faf63ff381d6b455ff96fec75228630bcf35056bc401c847712012c31502f5c95ea80155294364123e92036900e404c94a4ac749e7d97e604d0ffffffffffffffff848dbdbd902e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008c36650ea05667d9f7eaaa8422a767dca9c0fd9ef5654662a739d0e640e657677f404dbb9d3e0ded498a078f93b07f95aa401b7f4e284978a519ed71ccb1c6d2dea60e27f265f64219a5ec8a34845ccd5b3d2b6964a511c0fb333c19b4da71f09284d8f9410c633ea933fadf7d5e70c306d98e3f127baa0895d5cfac6640ad98029caf6cc7b4bdfda85bca331defd3dea1c61624998d23ec19816e02201b1263f3ed5e23cc9c5987d95ae3b57c203ac1b7fb5f31c9bf6b380c862a910fdcc483957d2ef90e2448eb212bf334465c3e80f3ca4807ee53a4b8905116f7d5b631fcaa491c223e0999285466e87de75481e2aea744fb44a2d7b3e39629f0a8b9b9cd675b67b8e616a5b9d5e567dfedc64436ed98601ede1a0335f74d864c554133819711dbb6d6cc623294de18b4e0e126908c292e1b94e95b7eeab7a78704ae0534a14c85fd2fb861bc92713887ce92ec0aa384c5f6708b3c466b3c0f6e688c1af503574a99a644ba7bd3ceb563fddc8d6d2a7d1958e40e42218b7bed19642bd049a7f99e5617c59deb352abfe9540b946bb58d856ecb4e7c8d73eec0dbd471b74e9ff5460e9b3e6c0ff21cd37ca6bd5c0d93d753c7cd1ed375cbc6d92600a546cc2ab50b2ed5bdba26d807b4e798d60927fb982f9d90c5126628b00437d18a64a18967eb6e435236fb50bee045edc50af63fc05faa9409c0e6f471fd53b32c45f5e89fc1573703fbbb0f4f31666a8e565403a8bae1b36557d0032521c42ab0cd4c83a60260a8b30ac8395965a199725d14c877f61d9ae4bc0de0dd1b6418eeeafc27d9f372083741b29f865cafc44221329ba204f925c66f1d4e8e91fa98573988e68357f2ef31199ae37b782591050b27db3ec4fe8d60a360d04a32b447e820c7bfad6c35fc0016094201e22c918e1e63649d04864a3a8ecc4c3b77f7b92be953ae9bd454c26fdf926617fd8bf8c8113c79f716f52da547ee0408d1c001ed16d162da1d1ca705ddde769d415cb1eb38594b1147a66d26085cf560cd15860234ab54ff0f85d9b31f0b7a10e092aa45403db3a2fb9292e8e0e04207feee93f723ddfe069429a40e62c3ffe0834391cfbc6524177954a04d990db9dba66b6d0c83c5bc7eaf34816d2f3f3c9193b9b8f881738c2a2235379c8fa38f6ab53ee113483e6cd5def54f46238e079be9b17741a4493c03b30bb348009c78faaedc5d5cf0ce428396938a15e0c29e1a8240c3ae9035075793e433eb0c58fe560b46cd8e8d744e4bc45d88c624682666266a740f710ea4539dd9cc9d1f4f05ddff001756ca6d1b9b57033023753f32beff6426a9cd6e9cd0e7bd7f492b7d6b2dc5f6ecbb7c15248f4f5e108e86c05ba1fe2ed8352958ac8c2f647cf87da76b9128778c19a34ed0610c2011623313baa7d36951f89f027c837586b26ad52dfb98314d18af8bd4d35542bedbf38dc4a505133e4517cb6f000000000000008d70bcaeb64a6ea8cb2efdfe9d8af8f123299f343ae3ee348134c2b6684d648522149a0ae917172726cd72f64914f9008ed9bd989f65dd6f737dbc2d239709b7749e9e5e43b715546bab8a9bb267976e87237ae48e33fe31efb2e471fbeb6210201d7407133cb5b6123defc56df9c9ab218ce49bc4e89d8677620245d4c170068b36c989e65619a8a3e46a020cbc341434b00df9ccb8c3bbad71cf2d86cb2dde0ea9387619be2e157cc802a942b4419df17050cbdcf15fbe0dc59d450d4ccd0e000000000000000010aeabd7933789f274b6bacceefb0db32388a9ab8c50b8f788bedefa777ed03f8ef680bd450fe112f98b312d9afd8f189fca119cc6ac054e7df034601d7cf308c1ca79f3dbbb9a4f18a66cb019a1f00a3be783d444ccea9a2e365d519b9230190000000000000000d0f9ffffe9000000b1faffff10040000",
- "fnName": "unstake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "e05e7196e54f42297608518dff98dcc6e16d5a59d2b0dd931d57e529d1f37806",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "ce9731214761e991f4d999dcae4707e26f9aa7f0f32a3b2997f341cb99a297c9",
- "blockHeight": 6150,
- "blockTimestamp": 1726091601,
- "err": null,
- "gasSpent": 8220846,
- "id": "026979cb06a02f7fcad1e249ba45660816958ef4c4460fd4f7d9e85574f17612",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "8a160bd24157e9a81cf82cef396b9d794db8e61884c2c90871ea9c6bb8bc380d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8220989,
- "id": "e573dc4197299b1a1b19e381c71136ad2d70c64adb689ab850ea7c6971955b5d",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "70e8c0d16157d7f489e9d2d6973bd1667cd275ac279b5f627d8249a523e6d01ad740ea9b0ff62d7a9141464882584199d9a8e44af4f9d45512fc4f3cc1283246a3338436d206abf45eedcddd11125634c4449799d966d3ae6503523b9cf6d9414f8f3c8d10815a37bee75b443b3c77ffd72c993351c05966d29ed5a5a9826668d1c7b005d5afae46c6294dc431015c73a1446214d430c1e7fa141727399efb2a59767d529bd6c8d1d08dca2613ee52e8d92452113168ee7b23b684a7472efc16ea3f0804601c04493c8a04a9bd293ba10f3c80955459edc5fa66def97dacc33a05bea3584b8f2ff396619d93a15ff40eb6a8cc08eec40f618684b8c9244826395c9f78266412b6871802f50661efce45c3623cb98c9d417716df1de8981d2f18206fff34d279762809a61e637a9f89f63a3727d665fba570b3a7ec0639af6e155dec39e30260786e44479290e31f4c47ea8013711674fc91d38e9b32ac5c7b49559a5e81afde0afdcd96e0d7ff5ac919264311d9b6b6d19ba628872190f1c5d5d1c4aa9f462158f2cc47f5586955340df0cd1cdab346029f2a23b738323c1688dc04bcff6dd6c5add058069a06d8b3fe20bd6406b622e6052f1bdf5d9648d81594e7eae747f3164dfcf2e4181bb0c8448ac98f2157be327fb15cc64111e351482686c972575350329e4c1882ffd57811c720514dc4aa2dc316ca58657d2d8d83a4c08dbb6a910e49720a6e7d4fd7678a400e8107dfa437e598ebaa3a9067260c0000000000000000440746133f0d162601ce3a408ff4d07bf21cb632da4284db5b8a6a2c9d229ca23e1077a3505d0ceb84ac2f0e234982058ae1c715a39483abe777e0ce744c874c99eda9df5b17df83fe34388cd1535a8175552fc6bac042136a5a9e06e777b80a0000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 2900000000,
- "gasPrice": 1,
- "id": "52f50cf4d4a2321e47a043e5b285d237573de4feadc8f16efa3ba7a6591f5806",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8220989,
- "id": "dfd843b21ecdbbbc37f49a333b818ec1ce9eb149c54ea6da91aab9df8770fa4d",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "e5ac156e8f7e51bcf25c3a489dbedde9d6c52477e7e6882e24bdc6198f645609",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8221117,
- "id": "d1574fcced63e4958dd333dae042142758683805fc493a46e2d45b10d28d3c04",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "84f57b1657281b7c81dbed5bcba04d7334745a94c266736e40f6a16bcc223908",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8220485,
- "id": "bca3dae0a262475b0f01e8e5ea6f5caee05432134d330d8f8ea9d2b1a172e037",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "5e0f99f576f504bc5eae2b349dc2c23dd7eb4b6cfeaa5e2b6c8210c58554c007",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8221117,
- "id": "69c43c893cf3971a93d36d2e7d25d168f642efbfb05adc57fa6ce5c837704653",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "29027db41982ef9a5b0e11673a2850cd561d8f2bbe012df8544e0306db0ca70d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8220934,
- "id": "5a10b4d49336a16cdfb3853773a36d48fe3546d06b04a582db7d75ce7c3d4033",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "5b8fd7d11d6b3ef22980801c6be470e81cc5814556287980c4304dd973cbd709",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8221243,
- "id": "520c9fa6ba726df4f3c72912171907c5a0af9691535d32dde971bc0cd82ef466",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "c65d3de546c94c02200bc0763d509d560e60fef02b3b5a6b39c981cddbe13c07",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8220865,
- "id": "4d2f97df44597c8253e18f84098191d6199087ad72772036daaced81565e180f",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "4d7acb715451a1ee2a56e17135cbc96d2fe112297328bfe55220968ee2f2860f",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8220422,
- "id": "49fed2650e941c3b357f8a5282fcc0702aab5d1357f895319be03a4f89994851",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "9cc67e9470b7914186a69d6405d72e4e3366d23e8d0da838fe81c02af1625c0a",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8220508,
- "id": "39ecf682eb4d6758bfa5dc758de4857605beb1d09de1f25cb7f37d6e65731901",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "c840c1fbbd76ffbd582c0354fe8c9bf262bf21ab67d3b4ca15eb2a912e592405",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8221367,
- "id": "38cdc1363ee7bc4084bd0988b7aba10afd4716772971a49ad597e5abb6411941",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "e2cf33e953c333c8e01f3507e93d7395a739753e21a5142b662d96ddd666a609",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "b7692584cfb2d65b66e646cada362ec050286770dd7202a3e0780c37c9e130ab",
- "blockHeight": 6149,
- "blockTimestamp": 1726091591,
- "err": null,
- "gasSpent": 8221266,
- "id": "2c3f4beae0ca9612d8c113264d7676c5cf1654ac6fb67968559f368483fac01a",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "7f613682701c448142d9541283cf41325971a6580b49fd0cdac71e2b6424d609",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "44d5508e2f77e36fa6327f753d7aebad65abae22ed8ba4b5cb387b10cf3cb2d6",
- "blockHeight": 6147,
- "blockTimestamp": 1726091571,
- "err": null,
- "gasSpent": 8220989,
- "id": "fc4b81d734ae2821ce6e64eaa792a31c721df01fbe081ef5fbf8226d8dc6b954",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "1af903c9ac613b1e17332432b7160a43ea2a5798efa2174efebf30272635d800",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "44d5508e2f77e36fa6327f753d7aebad65abae22ed8ba4b5cb387b10cf3cb2d6",
- "blockHeight": 6147,
- "blockTimestamp": 1726091571,
- "err": null,
- "gasSpent": 8220926,
- "id": "5b58f04c9d138602f1b73a0545ffeb2c341de6ffd781c0f5a378ad4c3dcb660b",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "e7d5034ffaa8c0334f3db9fbf47537cec1421d1d69550f39efaa85dda2e97400",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "44d5508e2f77e36fa6327f753d7aebad65abae22ed8ba4b5cb387b10cf3cb2d6",
- "blockHeight": 6147,
- "blockTimestamp": 1726091571,
- "err": null,
- "gasSpent": 8220846,
- "id": "314b3ac2679027b56367f036de27f159f7b36d8f4eaa1b58debe2db054a19600",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "6715865e2789b40f7e7ad82e5a2f30464e43a8519c14ba17cea02471af0b6f0a",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "44d5508e2f77e36fa6327f753d7aebad65abae22ed8ba4b5cb387b10cf3cb2d6",
- "blockHeight": 6147,
- "blockTimestamp": 1726091571,
- "err": null,
- "gasSpent": 8221018,
- "id": "1bb0582a547e3acc59319366558a12aa60dc1b5b933e660758656189f741f52c",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "db8fcbb3ec6102c8ec8ce15f60b62d7d18ff3e68a50c2ed0974ff4fff0420807",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8221243,
- "id": "ed875e68ff4b470b8b58c30e9d9bad1ab7fe2a1b7e354b0e3dc9b8b541068b33",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "845e6c788b3526f2680342cd6ba8c0b9adf6c3a6ee247dd72aa23483176c4702",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8221117,
- "id": "ea34d0c94880979c2db86ed4de7a5821a1403489c8e050a7b9dd88c3e3bfc325",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "0f5bcb51605b6053b9e6cfb6e5bdc5a4e3154080230a7872792565cf80d06c05",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8220865,
- "id": "e7d4c72d33385465d90f5f3a6227a3d651a713f9918fccd2f74e0350b570892f",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "20b4142daa4d23624f290dda40c262e95b77770339b5c29f67047fe0c1d2a902",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8220422,
- "id": "b47095ac9e6317f6d68391f6f1b750285efb83aae21ae667ea1157c25714d147",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "d20a57ecc6b38bfa50a2a53e91f170a828ef2e1ba7f917f7045693d213363409",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8220823,
- "id": "b1d76882c0e3989ed4b7bafcf3d3ca3ef10d12ac1dcf0a2bcf5f699b499a661e",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "4d282843a01167d2385ff5eaa5857a8fc3c316d25b54b71924031c26b871cd07",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8221117,
- "id": "94e1522bb636c27279a81f3a687c6b3d28040c3d283fb9080ae5b28e0668623c",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "1f46f8c4ce31cef6a4b16a3f8dcb2515f264517bd15b3a9a008929e14d94ee00",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8221266,
- "id": "7657e62bc3254bee8328c2de6b608b12366953553c301bd48e12e4c12c279738",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "ac4c4be71e9afb8f002e28712f7afda92b0f57d7b9a507f96bfff492cda326aab6e0087471f10cde8f75790b53cebbbab9a647b0f23bfc87770c8b63441885b64585db5e188497e6993e47539dae60b8c8ccf7a84f48fa2398901f7f78a9a3e99215e7c7f87b94cea81323133da7b6a896e116c79b413d5571055446fb11b9d599ca82d6dbc3f369836a1d16d0577e91a4fc71bbf8ce1940df18d6f807251acdf19a706db05d9c9277402767180ba90e130ad38bb42594d5da232ebd1873115aa4b5873d1c713f0e30746ea891e9757adb2e274a0f639a6a77fb7732b4adefbe6ca1f008640f11c67f30da55d639691eb2f2c318680cca615f030bb0628cc29f7403464c819b7339334be9ca65e7f3fc63f847648145cf4bf351293be0fdb67bb3e5e232222c227364112b1dbb274e50183d74073b61a04fcfa6c569638f5e0b4f1cb946b4250ab66ed510ba92f51712b85317240278662bfb67ed290e6852758f3cccc7270adad92710a15753ccf1ecf10be4536fd4900450c1415fccbd6f94ad4d5479273ac21e4f897ca07ae90b50298759b354befd1296007f01f5cd07f353c78ff1ef4e5f64f7f4774888160f478dd9c40bfb14424cf277b54af1860534d10a98356121577921f76e4ad10b2604448c2fcaf62dfd4293a44fe4e500122194ea6455b437439a8b59ed86f338d3ac0d7467ab99fbd14228936277e1acf5ca87b56221e5ad193b27a74dfe52135159717a7b48026afd0942b9d2680e2ae9a0e52b33c304ac7377539ddf309b10eb493682e27bee56cc7aa4c0f00c619600cf453ff1caef3cdd4a028d585db60b314f6f36538b8efe4db16157ca7017bbfbe261bfb6d04ed89ca64cf7ea04395aa1735a314d441b6571e36a606524e0b17af6c439738ed2a7f35049305a912a778416a89a25e126cba34bac86a501b0d8c4d9bbe862079365ad2faae9a3948a3b263d8ae757164649045eb7400ad9a253786306c63e285764e38267f2f1780c660b61d6871a197ab79092e55cb4e9a0a11a3c4b21882bfbf991a35c0523f4913cc906a351efa6686b16aee0f361cc79ec976ba6989732ac73663e0c8044e8df2d6212ea091b08122d444aac49c7ba30ef982a54c9eaa96a71e066ab9ac45b680b3259f20adbe06a03998f8b25050bcb2c029f91266a1047e0395025ff6dcfcb7c3f4e264b0a9b6021f4d71a879422a24bb5f88b456c28154112f05ae8adfce56c5e5e146af0010696023db25c63be010eb3f0f4989c3ff2caa243a4ec0aadc4df691bcad2d3b2e2b2e8162db2f3da215365892bb196b73a563baa5b169392a171b64bf0909a37d986eca9a28e891169ff716559fcd6d489718f8fcb38c3844127ce317b1cb0d2a575d545da4e083e6d3fa5b8fb3c614f30c3750da1984d3881a7363ab8ee2448ac6c81faba49c5ecb86ffc38ee148230ffa746067bfa9c4d7ec2366bbec3d170da41987be3a1c2912160de0ae6da3bea2ddf289872bfca3233d07a5359fccff817eed9b5946ed959cfd03015e00471cf3a81cd833d463f175e5cf95f42e9fe442c52d998ad243eb0f78f02fda7a26e63a090a4b449b2dd2d9885350f82ef95b68efb7fcbab6dc5184494e8b9abdd15a9f5edc88118d6fb37236f25caa14252a3a679e532fc0772e1b87f5e0aa6a0c29ed2b4a92ada702a7007d8283ea191a15e178b6578102166dd0c96916356fd3cceace2547d85d28a749146a807000000000000000093af024bf9fb26ec139fa1921cc49184469d852599f00d03972a0172da0cda74e7ec4632443fcf742b5ab25ef404df11036ed829c48b19ee0bfc9a8bece517fd5e31cfc45fc6f5e204ed797934433273251f57da0bfc706b2a19cbdbca8ec10400000000000000000044349d99140000b8faffff10040000",
- "fnName": "stake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "cb74051541dcd5016ace78f5ebe78e6db485bed7767e8af81ee682cc2b68260d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8221367,
- "id": "6f0a3e67da0f07290648c66a482bd395362282ccb5a3b43f30c2a7295bc1ed53",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "001e1c65ed86f01e9e8239e0497b3aa8515632b7065d0069778f882021586f1464d54882cbd4c04368330695133b316c0a0b43e5522d65145123d330b666152e64dd6e7920ad25f197a6425a12befb46e279661228f0e233e2168d66941c7a1aa1bd23009294e99135b1f4cfc74a34f72c7bd27312907090b0682a8a8070649597ffffffffffffffff00e41db9cc13000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b554399a3e3ecf9d60777035cbef07b3dab7e50ba7c5e9a77c360d56ce15b504d03a8a0142fe33ec49ba6ad546e2fb4c959a753ec4403e2115dba4b0ad1447a30b1d7ff397d3b553f5a88ec9d15f9cec7a5f2be001a79ca952bfdb180c8f44f19518ebbc0c94099b986c3db42d48dc2dc3343a973b37e87bdec14626b42b8b08d137e52eb1fc350ac43b474be2de7b4b87319e20d053ec7683f712e178911b79a7b98a72ff78989898b527d4b0119b94186381a97fdf6490c4052f17e92aaa1386365591f7efc2079e91220b7ccf20122e30ef21f9333f9ebbaf63c23e29b5ab47426e9e12ffe1b8aa8cc71b096bf6ee94a23356e4d72753d3470c90df335cfd379a540d8332786d78946903855750659e180a490d51337e804303e3c204408698e0e4fdf2b32fc078b4cd5fe8ddb1193a115f16be14249ab82327b3cec56797cd03589e36baf9520d0f67bcaa174e6a999636db5a738eb036844ab2cf8d7864013ff8e17641bddfbf8c141994f3673efce33c8c45883d75f4195926636c97feaa3cd7738ffdd11926267eb0a5bf9d398c717bf31360dd5e89b3ae29f92e166dd82741966500dc1d972248d99011d118b0f2bdf3af55e911db120c85ea86419470c971bee5b3898828fe23c847ee9fceb3ec160c60e3994f86ce3ee2b944392ba598d630259ca53d1000a6ddd754054feca06e52dc113d337e68c30a1bb9f69574decd7c7c76209c46073f43ea9272153292a91c127d8ca8dd6b5c21fe201f94b17dee8d157704baac300935c6736b11b2e823d96c1764875a1204e2d2fb4c1f1fbcf2511a3a2ff0d8510c51198df06b6572a4c11d724da1ffc8a94391132e2e165be31d48c865b551b99febb973f202ed637c1a1bad91bcd5acb3636b80ae037d4b3037034d0eedf7b4a0abdb90a620bac279b64cd4ae833f8cdebbcf21062eac2bb96d9d650451a50365ba667c8a5e066900061a058f3149801d7cb66cd9cb8bbb85d5da2493ad933cee2d851e542627fc32764cf5bb42781865c7c3f88066df1de7368cb431e547f17f6c2bd2c331c847617f5e935078e85b2c7b522b8a11b4968133b189a4333071d141d181673bae439c18e733e4738474f4198f0cdce8b7e386dc3faf634608d5fa7ff75c573df6c23c35c4370ad5eaf0c36eec6bbe6a4072cc34e936960e0f9c457919fbc64db08987e8fea74e1d587275a47ca1774d5cce94878165e7e1958a624ad0faf7673ef41fbaec9df595975cd92acf6d39216fb0bbba4aaa013d2f5b833a64c61e1ab7595eed68fc207b3f7b817128521b9a570e379e3d137c9455b4930f5c721039d68a4cdbae741f69cfe64d97491f23499ce90e4c356a715d688a1cb88de57a25b54eab385d05b82e508f9c2146e39999342e43c46f4a5d58784547d7774a8f0ca805f3de2093ceb740219f1b3d8a564af3a96938ad62457c9ae40f7c434d711000000000000000bec3d170da41987be3a1c2912160de0ae6da3bea2ddf289872bfca3233d07a5359fccff817eed9b5946ed959cfd03015e00471cf3a81cd833d463f175e5cf95f42e9fe442c52d998ad243eb0f78f02fda7a26e63a090a4b449b2dd2d9885350f82ef95b68efb7fcbab6dc5184494e8b9abdd15a9f5edc88118d6fb37236f25caa14252a3a679e532fc0772e1b87f5e0aa6a0c29ed2b4a92ada702a7007d8283ea191a15e178b6578102166dd0c96916356fd3cceace2547d85d28a749146a8070000000000000000c70ecfcf59cff955e87a764ebd0114172eb1a4fff0b82f6f7dd9a35bf7ef1342d9cf38c9dbcdc311dcc18810485f7b15dc1d5a9d45c6af6368e13a3b12514401c575cf63ae716032796f9b3c95fe255ebf3bb484a9942bc280a7fe3e65b0dd020000000000000000d0f9ffffe9000000b1faffff10040000",
- "fnName": "unstake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "44713f290759b19fd1d88ad1d05d2b0783424c06ca322af90edcaf4372c0820d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8220934,
- "id": "53b6ea5e1db91c732ba7578346687441b8e72cf936245c33fb82b5bcfdfd4d4d",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "b231c3d7b67d57450a33e044f3b401e851b02b769331c7d6a14e9e256ac83d2b1d55bb33887e72e32f3132ffd4127a18ede18bae87cec7afd8a06461ff245254377ae4a2a6a1515f2357c46359676738844ce8edc95262de2c4b81779bdfbb5b3ce31bdcc1cc057d151446bb948f4e7551eb1e6c058785b3e0a9140266e2db2ef2bc04a7c5484141e662de60d5b6d04476f61ea044d3ba7e538873259155091a4eed4f80683d31767aa083199f8c44a69e6f0d62ad0e3ad64528ff8a56f258306dddbb7af147d41ed5cf3ec1e0d4ab40d46808044f96124fd087c979c9f1e21f62b2e5c186260253c5a54c288da1a0533fd6921663206aaa0e092cff2f16435e0f17907ef096f930e29492bd43f4c16f12e83011923e22454b94d5d873fe4753c01879d7c2fc5d0fdf64c1e6f402e7366e806987d794126e4a40f30da4d8226873a93f2880842ff48f1cf6015f095070dec6061fe684ce2873f28394de40ed28bec3d170da41987be3a1c2912160de0ae6da3bea2ddf289872bfca3233d07a5359fccff817eed9b5946ed959cfd03015e00471cf3a81cd833d463f175e5cf95f42e9fe442c52d998ad243eb0f78f02fda7a26e63a090a4b449b2dd2d9885350f82ef95b68efb7fcbab6dc5184494e8b9abdd15a9f5edc88118d6fb37236f25caa14252a3a679e532fc0772e1b87f5e0aa6a0c29ed2b4a92ada702a7007d8283ea191a15e178b6578102166dd0c96916356fd3cceace2547d85d28a749146a8070000000000000000da85d98c50ec31b2292c6d7bd04c15dfa4fb9a0b2c3259416830ba5ec2b8d02b33625b3bc41aeec7c2e1389d30aa5a0abe5f928491a15e933bdd275a552b5e88536d8efaa5e98ebfdd1e413026d23ecd8cd7bf5f9b8946bea718a52c9a8819040000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "81fe07ea2e80c77feb01281e2b11de80a778a70726e64dfd3a0c2b84e72ee001",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8220989,
- "id": "34a8a4ec97c6d93a043cc5847cd54fc2c99c579825ac55fb9bf1644f332daa67",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "1b8f3d7cea0ea23b6b9c79f6f7fb694a07ae8f2c3e6235aabb119df21038670e",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8220485,
- "id": "319457c27b16363cb674e97bc19849bcd79c6917a7b0f376426e43f4d58d7132",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "d6fc799b7ff584ad99c4af4117db20eb1e3b463fb91c7912d945be00f33e7b0f",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "629cae53e629f04503785ff9307c985ea6aea4bb02ba78952962e1f8f4d77f64",
- "blockHeight": 6146,
- "blockTimestamp": 1726091561,
- "err": null,
- "gasSpent": 8220508,
- "id": "2338bff9786aae7520c8a941e5481d1d80216b09cdafb5e975592bd99fccf717",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "9486bb36cdd7177e4811183549e73b7711f837a4bff08490832810c188c6c909",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "5c7244ad0cb27c2afc07bdf9826053080dc92e4fadfe63188ce07ae69a31c61c",
- "blockHeight": 6144,
- "blockTimestamp": 1726091541,
- "err": null,
- "gasSpent": 8220989,
- "id": "3515c81eb678a0e6791b7d491bfd04234e6fa7b9d7e075a8a9d251d88b79db45",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "979b161bec7d807da43e281f86bbce3f86fc369f44f9fcb6b1e8910df9cec70a",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "5c7244ad0cb27c2afc07bdf9826053080dc92e4fadfe63188ce07ae69a31c61c",
- "blockHeight": 6144,
- "blockTimestamp": 1726091541,
- "err": null,
- "gasSpent": 8221266,
- "id": "2e14805c9398b1253b4047952b939b839b3c3de21f5c96d9a3ff38f69bba3246",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "ebc72431adbedb5616ef2594c7034f3f2bf82dc90917425a3163c370e7fbca6b085437983b3212e8780daa2505543f892b294a1c6ea5207c68e616847f4eed37dc7c55bb1bc69b8aeb1ba6b623d4e3eb7c2a0701898e642d761e054542016463f911331f6b8070662ffc19ea14e49fd90390db0880f72a6431d744f75a7fa61d14e575604db0068e75ad1b3b24396dead3666b803c5d3ce5feb813cb0ee07101d735566d5aac03064c3650270f2510e80034bd5a85baf72b2d68d970873ed45177ed1cf95ef8336c09b9048dd47a01a4e754046cb59571c58064788b81351e1aae577ad1db6a868a052c49cb6d4a5d5e8e9ee630c58ddc67e69887819da57e2828c89249e6559ce1cafc71f4043d23dd14d266e4b9eab629ae9a72e61650be73be02e1954418e958245837292d52c2d0d8847771bb66b7ba6bf4161505783836b1a630626aa9acf3f3491c9bac1c57e3ba5615e5cbf128c4a39e18cfadc4920e01cab1ad774dbb6885714f128cd283c07664503dede6d1cde70bbe031e6c2afea023335f55c0249c55277ff6538b2715241c313ff92fa0f68e55ae12a11fc0a47964cf15c15a64585d60db3e6ed592a0c7e0194c0acffc0dd63509936e27bc16595fdc48371d3d1c382255da37ddc0a664098be85793e8b3e53e3a761ebef425d38b2df9b5169bd650dedd6e3c6c4b01af849529999bc73d1b4577a319f36b16a4ae7ae739779a1ad1fa4a106736448efe6a7963e8ddbadaf2ca92470c133c12000000000000000004fd1247f1c8992e5abe56875559e383008d357b8f05c4bbcb34c055794dc84047c9c78393b4c59ea237af1c1de44401d7a8a7c1e32d43bd9eea142ebd88aca13a04b23e086a863b8804dc11146237f0939a0d1f57b1f3366855401a8f7855090000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "4dd8076f28b1d500459e6e492a05ba5c676dcc13acd81477f4d818be195ce80c",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "5c7244ad0cb27c2afc07bdf9826053080dc92e4fadfe63188ce07ae69a31c61c",
- "blockHeight": 6144,
- "blockTimestamp": 1726091541,
- "err": null,
- "gasSpent": 8220926,
- "id": "09d9d4406837a85a11efe7282c8b6b6a17a47c25189038d3b2c48307298aff28",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "d1bfa11ea79ea297e22d40cc2789e35412da162af4d5b99c2cf3bb62ec36a32950674e359322f09a6273b6a71d01461c66f284776e066a96ecda39940d3b2e202e199b5c7fd0f32c22bc4e83524d97fc2109b2532048797050021530461a451eeac5cec62c6ed4933ebcf10eca6ed2c58d10efd12772f5c5feb7a9b0f5a94a11d495b5861c0a7d6516bc80cf4f0561477121e6c4ed103c5993868bdee3d4db205ae889c53fea02205b0a860547b6a1eb2b24c646b7aeb16ea6a87dfd7e515d73c152ea196d059f3b792a0eb725fe36ba741b9198743f9b3eaf38151eeb454e2cd8cf25e29bd57a6c852da64d206a5286388a17dd865597dec1f7ea54c2a2a312a05b6ca240b9a6e8520034806a539de8df7d8c18f51a92fc52e65b9c584e3937ca496bbdb14c05072c70bfbd808f68c7e39fd58fdf61cec83cef8e438e5e083c06e2deed92c2ad3f45ee156c2a6bbb996262de4b712f4f785f5702050c49f329bec3d170da41987be3a1c2912160de0ae6da3bea2ddf289872bfca3233d07a5359fccff817eed9b5946ed959cfd03015e00471cf3a81cd833d463f175e5cf95f42e9fe442c52d998ad243eb0f78f02fda7a26e63a090a4b449b2dd2d9885350f82ef95b68efb7fcbab6dc5184494e8b9abdd15a9f5edc88118d6fb37236f25caa14252a3a679e532fc0772e1b87f5e0aa6a0c29ed2b4a92ada702a7007d8283ea191a15e178b6578102166dd0c96916356fd3cceace2547d85d28a749146a807000000000000000038886888bba99d0eec215e868ba0643b81abe902ba99f626b260656499fa223f152d7d2548af5b5b988b35769458aa12bbcd17bb9fcf8fc50914f1b647cdea21ffe9bd341d26ddc71f2da4b1afa7c1b513742fda9c2727b3e5a63dba761659060000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "2e5c5ff62b979510b3dc21a4ace29c06a85330e40d7d3eee973c864c7beab50d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "5c7244ad0cb27c2afc07bdf9826053080dc92e4fadfe63188ce07ae69a31c61c",
- "blockHeight": 6144,
- "blockTimestamp": 1726091541,
- "err": null,
- "gasSpent": 8220846,
- "id": "01f5505c4b095fd0e9c6101d64037250fd263163a185195b3c43f6e8ece29d73",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "145c577eb7c60b1b7c843d8d0cb3cbf2be16173a0e0d1979cda4ed25d2cd2e06",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8221367,
- "id": "f64f69f7d5faf954f5e21c7fc844a0380b5064457fa75b316ee80d4e58f0f209",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "5d4c53c5a4403844491ebce683a9cb8fbd36196b98f49cd450e9333d95ee9600",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8220823,
- "id": "db480fd243251089a86ffc43afeddb0eeedf77f4c8dd1a966e2a4e67fae55f17",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "6e2515abf1af01c269ffe3f64cc735da66ddeec761b9b7269790bec566c39202",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8220989,
- "id": "d2c9c705a0d9e928abae8e135c916f1ffc9e04d3863e99434853e5500d6be627",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b1dff2866a776d9e8d181939aa99183ea7f73fa0c078cd645ef1f76bc1ed9700",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8220508,
- "id": "d1e82fc2dc1d89bf70f13b0c3be8b864145924cf3f3fcf581895bbce3ac0dd1e",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "2be77d2c7110033b0ce42092e87c71d166437642f59a20611f1b6f2ad86fa005",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8220865,
- "id": "d109ae0584d86a5cb4875d1a8733093d73857b56a3b2d35156a0b14f8bc87312",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b9299a2a1bcbc74092a42b6855a3bbf9e2679ffb575def96a3b59cab6f6c100d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8221117,
- "id": "9b9f54b79583d00d1abde2c57a4838863470e2e3bbb5f0e15bc2d3aa661abc28",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "730fdfa081e84d6b8c94fad21642f9494b4f301b4bef7737e40999c33e878c3e0f910ffb18319dcea615b2f58c64e8b2ce1f7b1aa3050979431f86225bf67b333f6cda9579f0a6bfb4b37845bd0421855a890db984b38a95b2e765aea2524629627b5d1cf45adb9b5050c963b847324657f539244522e624778dabd54f39c772b6f9bc2dab107431e81af1874f7ce3931cd9cf480173b10e6edfc7b742a2476a8f918ddcd5841f1af6f48cd439a069e81270e89bad2ccf7bae6557d933db965556e3caa9338cc1bf2544e3f1c671591d58064392fa48d265a9bf5c847f9ad82a1253471c0acbfea739a36ff6e38c20af2d75a31cc35923b700d366c86f2d4630b3f5cb15406176a73c1fd3f3f883586b2871bb48b8b91a6393021c8ee823d308fa70b4ba50dc62e65d4d505319c447cd8f49f0665b4aa5da943aaca9a9516417529f2b8e906282a8594f1d21081c79092190e10bb1f11b7494fa0cae63e0e13486016882aa5fd76d93c2a5a448ecb0aa9108dba93ce0f31f4bb8f2f8c0743956958e8d5d9f55fd491b5c6d5540b675035e3a810eee039281b1626fd1bcc0b748d952d2903b58d198ea3481ba4adcd9a82459ea886595a128cdbf80afdbaef80cac2a99ce7c07bb343789dd790bbc819153980d5cb87c770e65acb23a2f7731064de39a7065dcaba14c251df0f36b680e4fdfa1d5d1d78e4c82acbbedc47409841b48001a1a54a2731510f60b6ed13d9b5071f98f5fb4b2c72f44cb2d16763e120000000000000000dbdf9ad69b97ab24f0492b8ef57e824ae2420fdb0ad5666094a47a6e54ce97cac03f4f1dc2c8947d436e524b123e67041f88a58e9f250e56a32f186b48b9a7907821be82f75e5dbdae3af69511059e3a08157692322138038d529c7621ab34080000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 2900000000,
- "gasPrice": 1,
- "id": "17c6a912c0da0310428c0d4db8f5111deedbadeaac9eabdebb7b8280bc2bec07",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8220485,
- "id": "76b6179ebd302dd3fb09eab5372da38392d0c8f84b1848690928a04aa9187661",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "dd35255be953b2c8c7fbc5321fd35c01bdcc63efddf63af3fc6d019756688d02",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8220422,
- "id": "6f697238f0960b02c38a1827b2884c68f8080b5719b1fc3a8f7ec74af0652625",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "95a9b97688d79ae1fb2ffe53676d0b854a4215b57e0f1339f4957728751f580f",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8221018,
- "id": "6efded811558fd895cd89c18bea7fd5ae3ed0b36da2d6fbee06e1d6462003b4f",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "c4285cb55e91d6facc2689e58415a65acbe416a02a15d6c6a97270081044490e",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8220934,
- "id": "6a17364635bfe4d530696fd0d38fc913d486abeb8c95e2faa3f17bda5db52c28",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "b7496ed710ce2e8c502551d1a5f989f7685ab0a98ab36fb6e0348ca035fe8e57c6072adc4977feb53b3e7747319e9ead855783d1252331365dc90287e2b04089c3695c007270a0160725f5aab1104113ef3d84b863f09c7ce77fc09812f045b390fc3a3d4542bdce7b8bb862e88ce07d0e23d0d2fd13d40d1a38d3df60a7e4b4d8929dde6f62cf99163916e34a1f7c8d92e8ef3437f64a3adb57d0ef388e293caddc8fc1ffa1e1f7f7ce796abd19f9ae4e8162f5f542449db3673152e3106d1094d54ac500de5b5307be1bbeb0e03222b2c5640ac782d18b8b49e9c855460b3f30a516f91d33ea06c51264a7fdba2606a498c0d39b519c37ee82187f711bd498f479e9508038bc8d93b67ee55ba915e9da4964d30f0802a40bb51b800c206aa991e173f6f31bf4b364e948454cfcf3f1d83a7c45324341ab4331d6d32f47799661138ea8dc5b4c96acf664943f82af76ad8b8a4874a6bb38ae73b3b0665b3e57d544c4764562cf0d1a9198f6fbad92a5ba2f98006bd18ec7a8117d05c0863c4e805f439304ed532277d6ab6872649d49ef0055745b7326559741a18e208559b0ebc55a1c8d054260e4e34cac7f3fc9ae9725bc43aafc53be1b298926d51f850199ae798e3edc920d87d4944435b4b12ecba3fdf5787376b6976841ef0f1f7b98a0b513da75b6023a8b194e5bc8fea977b925095d2a09531fb3d2b6672ece1bc878f748db7cdc41c1c02a5c8a7de125f4de6de69dff21da5cef767ba321999787b522d9310179273c0678522ced230a1f4812dedd09658e0f89f159c5b585a03bdbcacc9d42614389bf23d5005ff6333bddf613520d23accce434585b43755d612cbf4739610c5a97e3a192f6a4005f06b3127e88e7feb16d240d7a0c674ff461df5e73bea3a8525ee380bb8d404cbd53955da28da8dd6b31005a38c7624081c7b769689cbded488719249c046993e0665037ee6264ecace7379a07c43d8698ce8e207f6f91f2d0aa44a99515d3ecac6df7b07b164de262d24362981054eac9e9426361480d74564d6fd8c136d1c5461db111e9af12589344076e78ddd144232903ef9b66be8a426d4b4a6f0a228ed93d38167cbc8cdd788ec2842057bea855e5836aa1c67217809f9b3f614de3c00264a3f15ef3e5bba5d878d202a436b6aa1a6fa1f63bff0ff4ed692b337e0f0f6836b492fa2786b0e6aada40556193906d7e4923cd8268d421728dddc2f46ca85072273d8d590c5fbc1f55aec463012125e4b89fb17d03102705797484c41a77696a9233f3bd7e48a317396e7d71217330d7bc1ae873de9cc90c2bb7042e085bed54ed4e4fe733032ca5bda7c4d2b56e89e22066c241e5d563663fd748272539680619ec90c9687e357970767c7e1508093ab76149b418ff0402fc7b60230a0d4d60d73f085df2cee1ea8d3727b4d4754a7c3f2e163e660c2230791771b7f24fc94b50cb8427d7f6656de32a2df9af9e653d5eaf1064116642c712763791445e3c89a2731d9a4ce6255c06485c0f35e920071964a98fc9d2fc530b90cfdad49e0a4e275225f356cc5a7201d32d0086d402f07b24d02b064b53f6ab653611c2183511831e46e345c6ebecacd925dbc3bb8df112d5eaef49865903a23d95dcb6da79b37733ea2bb2c9d2784c6f256572a5b118bbb0c27a8cb77dd5ec41f2bc5af23e992e39de8ba300873ee1ff98b43c85499a0765ad08c8da247aca2a0ef4f0155b0c0000000000000000a1bb9d68ea558ac0f932b545bd631050622679b601cf216bcb934fc8d6815d8b7267397d3e320c81c4186ddf7af1ad18dc09f9522629cdb9b5afaa1ce0e0610536f8a42e89bea315aba6dcebb63c6449f7541dea755b88e7893bbf21e8a82f05000000000000000000fc861115010000b8faffff10040000",
- "fnName": "stake"
- },
- "gasLimit": 2900000000,
- "gasPrice": 1,
- "id": "872a52081afa90c01ecfed2a0bf2fa91ed46178d45139c5b5f2d273f96bd8400",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8221243,
- "id": "3af65887fb433b2453f5d5c19654235dbfd0c883581ce23868242b4c77d95849",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "3d372b0d2abe8885184bf22542ca3d3168a741074ae5d45d0b2a50e270da8605",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4cedbeadb3b661ba60896b8ed6aedb141818db538ddcb9befb8843bfa644c809",
- "blockHeight": 6143,
- "blockTimestamp": 1726091531,
- "err": null,
- "gasSpent": 8221117,
- "id": "310d646ecfdca3e596ac20636cfdc824daf10befd25d95a0e767631ee46ddd3e",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "007d66ad0b2ed1e0e2884ae5df5d2ff4fd5614b253364221435e5519ca55a4f1d8ddb17b5de1a991f00dbe5463edb5ed3fb709daec95f69f70ee600b0256b01f12bb34bd0c63d813147b4e021042939e9c8f154830b4a5ad2bddcd0f448b055a3514004cecd30cd095c99465d231530f602ccb1fc22009096427853563eb291315ffffffffffffffff00a0d424f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000abda124688b8988ab573356dbb328636eb1eb58cd2fc29ea55ebb969f95b2c1ce176a20fcd623fb34b7dc7656df57d9d90f8b5db8ed829940ed8182761ac370996eb6cd9915551fe31906a7cfb150b9e39d12cd2c2f63733670302ec105338e7b7eeb12ce51ff8e0078b43c856f19713a4b004e5ecf52cb98a754a2727dfbddaac2f156a43ce60e1fa58ca84750a6ca8b3379f79b07cf2b24d6b64f928850151b85a4169483c728b139e3f5ba932cd73ec8e72bf982239a71a8eae583a3429959736db5c7e8338196a2e896c6f043b44490d5fe78f3bf8cd539bd27d4330077492c833d9bca819504d71a6761ff9bc46851bbe196fe7cc7d676b1db62488fb5f111256f8979bebbd09701bdb68bbc40260d254e4c16a4998954c7fd7599e90c0a5ebc988ab3f90b53347212c79713f70117d1bf933b2c68f36ab8fabdfd32393a4128ddcdd2c4036e5f6c48d19164eeb828f698f708eb0e70e227277f747923686381fd662c150b3dc1c69c529750e77b5a1a72590616481bdd37561b627845a88355eaa95e338f1b1bcd5b4a0e04683538adfabb3cf78bade6e6c595fe63b09e802d3c1b2d291483cdb2ee8640753bd8d0faaabfa51e4ce3a7fe9696a89b2ae1feb6ca34c1c7fe8892b82735eb56aa55e78d3d81ec9c95bb687ac50d31b22d7b620ca01d6fe6db12e9d2f672a3d131be25d696923d96cb846a7d2404ee2793252e2aac208c73e420839ba72a1086ba1ebda6949b23e308274f4fc88edd831a8038feb78cd4392af878385d7ef280700e843db02966f8d323e82338c29ae10ea0a2fbcad525a8e1c246efdcbe32b3821d956163eef02942327aaa6ae54c80b0950ce9f1eeebf0a1ebe4b2d02ece5703b8c7337a2b085161043156c19c54719a113833b65ff88e49ad42386b6a71e7d64bcf96010314c1e6a18bc8ffe8927352b4b67a55c06cb7f4ec6a0e89d0ae3e04c7ba25bfe6d84065b4dc699f22eac675fa3e5763647ad722026b72313a0034c64c1484b3c356d8c2e828288672fa1eba7b5e320563ab91205536f562dcd0fd46fc1024daaf9d092a5688b0e3d3bb6c9fb78e28e9feeb73d57f64365dcecf9b4233dd3433b03826eb999e46770f8ca15e47fdbdc3d662becd49b5b505e262fdd0eefdf7e46fc370e9e9ebedef16f799a03b1c9a50f644e4c7104507dfc4d478209b4f8b0eef1dbf7d4c2786d8cace2af42a7e3dff95f86269014abfb2aa0089727fc56138113b417be151df0f89b549e1f9defec41049dcaa3168de4dc9db93f24b1e27bc150cdcc7c5fcc4f2d3f112ff9e7b3df948a9f20a6ac569f61cf2e59503a341306afe1507323d00800661b3ef95a3f61008f9a18057f5db1007cf34331d808791e64cab5ab2897399f11f10b4108fe75cf4127f8262e4ec6e6a38cda1fda32605ba47760d4d822b0f21bf1cffab839c05d13d4200d0fdefe70d0523e480000000000000050cb8427d7f6656de32a2df9af9e653d5eaf1064116642c712763791445e3c89a2731d9a4ce6255c06485c0f35e920071964a98fc9d2fc530b90cfdad49e0a4e275225f356cc5a7201d32d0086d402f07b24d02b064b53f6ab653611c2183511831e46e345c6ebecacd925dbc3bb8df112d5eaef49865903a23d95dcb6da79b37733ea2bb2c9d2784c6f256572a5b118bbb0c27a8cb77dd5ec41f2bc5af23e992e39de8ba300873ee1ff98b43c85499a0765ad08c8da247aca2a0ef4f0155b0c00000000000000009adcfdb6c8bb8e60af6d157f9a90703fa437626e96722e3db9044e1d3d0866c7b2bfbf4440c17587e48ef801ab04551277347b7ca28cd7e24f5470ad9234816cb21aee9cac08fbc92bb4caee034894df6a1c5e05a27e3f652ec1f137641330080000000000000000d0f9ffffe9000000b1faffff10040000",
- "fnName": "unstake"
- },
- "gasLimit": 2900000000,
- "gasPrice": 1,
- "id": "1a424e5ae0a1c419abc1cd16d4de31c9b699be0a7964fc2a4317b4cec6b91404",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "297f96d20618683b53bc1756c9ba170b660d5ed077f6b12f4a19eb716e3bfdda",
- "blockHeight": 6141,
- "blockTimestamp": 1726091511,
- "err": null,
- "gasSpent": 8220846,
- "id": "cca1eff38133e2dc17fd67ede308880f78b70f7337e0f158779d62924c1fe52f",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "befe14f664fe1cb95f89b7500cc8a8368b3cd8ab58f4897dd3c0132cbebde004",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "297f96d20618683b53bc1756c9ba170b660d5ed077f6b12f4a19eb716e3bfdda",
- "blockHeight": 6141,
- "blockTimestamp": 1726091511,
- "err": null,
- "gasSpent": 8220989,
- "id": "6d9d6585dc4198807d4fc2174fc6bcb5056c3deccaa0e5ba3d3fb17a1d42dc71",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "dd9249849db6143ae4bf3420da9a2bf90b402807f0ef4843d51dd06db35e2a0a",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "297f96d20618683b53bc1756c9ba170b660d5ed077f6b12f4a19eb716e3bfdda",
- "blockHeight": 6141,
- "blockTimestamp": 1726091511,
- "err": null,
- "gasSpent": 8221243,
- "id": "21479ebfb8f6ebd993af4a95eb124642b74c04c7c50d0261558d006d3dafda5c",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "1466ebfcaefcff92b8bb88feb86aab902a73d6062731de52d3f22d502136fc01",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "297f96d20618683b53bc1756c9ba170b660d5ed077f6b12f4a19eb716e3bfdda",
- "blockHeight": 6141,
- "blockTimestamp": 1726091511,
- "err": null,
- "gasSpent": 8221018,
- "id": "04570e0677ee50c9e3d4c4b8fed0aea9f350208e0face4b042e633eba628d523",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "15af4e04d4f34b89a77601945aaec5c284ff71ed076ba3e4c7b6db1c7cddb80d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8220926,
- "id": "fe8068580ab08b0df0a125ae9d127178a511dab7afefc2990097bdc36831c62c",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "eb1188fbbd214c391af6b2a70526e5a1d7969364695f8d9c17718041693dca151d08040ad0d1b6289106518051685a5f74620ac403665b69db7c8eae77f7b53e6659b94a99dcf767f8057086268806d5218cbcf8edad34cf1a49eec7f3d2374e29fab9b31ead559a8a66157165ce8dbdd72ae4c58450e722f41bc692ee317f50094023f479cd90b94c60030beb78562e7925464eb7057b86847c1dce9e8b446a50bad075f0091463bd4dc7e122e6a8803d36bf98b5c0e08fafe08898dc3f1a0900ba73fdc81d721f1a688394fc247468532353ebccce79323c3378f09122dd39e9290e222280fc9368469ee92e6f3951bb8945faa7aa341f53ac808978519d6f95d30f1c9f2feebee14b25919d1435c26022b1377e45330340e5ca1944a6892d553185a8e045039fd373455ae4d5fa99d604c32014f4c0f84cddf7d8dd2cb743a2a0d863b7206faf061ee163679bd080fdbcd819f788f7fb5e1d67fbe35c8f6e50cb8427d7f6656de32a2df9af9e653d5eaf1064116642c712763791445e3c89a2731d9a4ce6255c06485c0f35e920071964a98fc9d2fc530b90cfdad49e0a4e275225f356cc5a7201d32d0086d402f07b24d02b064b53f6ab653611c2183511831e46e345c6ebecacd925dbc3bb8df112d5eaef49865903a23d95dcb6da79b37733ea2bb2c9d2784c6f256572a5b118bbb0c27a8cb77dd5ec41f2bc5af23e992e39de8ba300873ee1ff98b43c85499a0765ad08c8da247aca2a0ef4f0155b0c0000000000000000b3f712272e7cea28a7ed334a915ce6c02b69a168d51813b5634b5adf53b1ca900ed822412baf01fb8eb2ae433578f509d0e1200531b5ee55b0add0e2dbc45018888b8af8c5ecd528d772b57bb5c1ac5d160b282028c2330efd8fbb2e64dc29160000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 2900000000,
- "gasPrice": 1,
- "id": "edf201b85bf3e4b33aef17df0546c6839337f8cd45d26e195ac25d532179d80a",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8221117,
- "id": "e53b2e26840655dabb24cddc29223649fe7e4819073043260835cc13db1d1053",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "0c72581eaa234ab8955a814d2e5f37c022e4ff6e971d7db58220153a1057381d5612f4792f2c3b0785aacb52a71a30e30047356d92f090d4ca73922a369a1968a66146514826a23f6f4cd8a34aeb07ca30ab6bcd98a0fece213d00ea6cfaed30c243a70970bbadd2f458eb306f608f0bd3deee103cba663cbcd119f5051afb1574ccc6a7dedbe03b2fa1f1463e58147c4db87cd45901d83b4e13193379f1ec1b8a0d9714218eb8c35476d637f8be76e28bf451084c80cafbb8e23030402b802314bff1e51411a28992457b7f1960fb767e4ca8caa86562117b3ccf5abf4cd945e578d84f5cfbf6cd23dcbe7adbec3d92e01b6540a8308b886df3eec01d097d73bef302c6006b063f36e9e70670f4c3c0673a0e1a96305637e8eccd90a75cf81d2d4abefe92825210004d1d84b94045cd6bd53cfe3cfe59440ea3f3c6c8c61b1fc67ba118ff6ca0719547df5084440e586ff9d1bc10d027999cabac54860b562a098193955d4552e83232067f2b386ab31c2cbe0cf760a90ded940db4d57ba940f5a88c37be2654f929e36a84e519970932671c1c94bfceb367009615ca5982d62fa175dce5c1be6556f004990ce5456f764096b732a5200a6da79f88c79d1506fe5a47b7ed32e40833911deda6b4657fd721c64503ecbeea3301a867175016944d57787c62e9a42e66ead23709caa302e935b5f9788ecc914631d3c4b5a1ec890e4af5fc8726b8b15f1f2e616363ff069097bfa25ffcf5bc33517467491665110000000000000000ea8b93bc7f6c2af66738e5f707440161f70c4a55358dcc299054f17dba41220c2e14ebbe578e796ec805beb340274101208fbfc118f8a5a99c9f3e1577988bfedcd6ac1352cf94fa9f58f7f89e192fb723dda6c52e35b74b2e35a0018cdee0050000000000000000",
- "fnName": "withdraw"
- },
- "gasLimit": 2900000000,
- "gasPrice": 1,
- "id": "aaffb79bf30aa79d3313cf391c442e36ec57bac85cc2e6cd3b356869213a390a",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8221117,
- "id": "e4ac0beea2ccbb0521fe399300685a439708844de6529ac1f112c7ed1eaa9046",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "c44e89624a2e913de3609572ada47d132d457f560293f1996f2eba303f37d002",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8220989,
- "id": "cf6d07234b77747e375fd1ee70a61e80f7bec74223a7b5c8c9d6751198e5106b",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "25e9795fc65efb60758004f97b8ddf1b80c6d89cd343db1bf9ac92c0609df40f",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8220934,
- "id": "bf88ab9ebd0451a094e5b5436c598a63b46badab5067aaca4c419888d2c0a743",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "5cc70e00e7ea9db06dec89ed3bfe793c8a605f5b2f894ec983f1043b0003a901",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8220865,
- "id": "6639e508022056a05147565fd253a56f7bceb9c39d08d380d1163368b6931a08",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "879d4f205d94324572b17a8a0a7cabb0dc5d4f2f07a0c2d0e85acda9e7032522cffea30a544c2c8f62ccd7b9ca1d326ea50bd2e40ef7fd380f3b4b028bf889f17e214cc87e87a0078f32159f309834eb35add3e9da30c69d4cbd09373c50913f82ae52ceefa1b4491ccf8d1812305384ceb19b4b6bb556e4868d9186e3a30e8a3db4dbe6b7c4ca08a547d26294c9cddc8506eeebb243309f8fa07f28bf1b27ecb29901b884ca6d9e2b22dbe0c2b9f96fabeaf4c965e4df5bf188f2cc1ad35ae5ad661cdb669bbd2353b37df3d4ae9cc8d8207810a160796047e4011616a1d20bb0ddb692b82b7f2013f4893d1c1655c6a3a226bb05c735366598790ac4c40f619e0660d99ca724f358dc16ef0aac12b6d527ca0ad2cb81c2336dd20f644c261db083ae2c67b7dc5a71b11ae4cb873bb7d5a8bb834d1deebb0e8eccbd7cbc88c903a930caa453876932379943542947d1a5adef2fe2832620133a10e8fcba41f7fc2685939f06c9793e187ec0519544e4e710a012ba48a007832e46b40bbfd4808ecdcf8120416c141f40cefa9a54dbf0c63053dc7005864e2c796d3aa4074b185026e7570b3ba46f4e1174f8d3539165a5dd851bb6dc8485c65212b68245dd913a5f68e45f569d4aaca4d393c0fb27a7eba9a90d6d5c322b48584b969187076b8fe7ce41c2d0a8165cf98ada0fd2e4c2f61c8dac078af1dc1c69249a3e146a95bfa1c8628df7fc5882be6fc82592b4c759a68036ae0bafcfb1ae8d72f9ad260b2482d0dd59ea67d928dc3da962834a01e96ae66cc647bb9e4268f4f4a8644cda8ad642c33e5014bb51fe1a8c4e83ed58f21cb0fbf19e753fa7b03cd8a6241fead8e94cf1feae111c0a188e4437b8ee0c6c7c97630812de8ff18aa8b3417fbfed291317c289b4ec79d6807325e6f6a4399d5416d20dddf429878cf04c7b3c073981ad73c920824bf49388b09cce06d6250b00c6d923020ba9cca45b84673e8476e713951fc1787451a0870b066aa80f037a157a7f5fb0ca227acdf2622a15a8d5ba6bc456bac5790738a5822e3b5702294884ec0674b62d47e23391c191b1984d9dca872e4edb0dbb050cc08618ee9256f401bd34160bb788cde37ff31f9eec263a952ab9719495b4bbe6c4adfa45f31acb895d8f28027ad642a0a26cdaef7db99be7a6f4572ae6421c475e1fc12e2822ec7c3205b4cd9cb3b7901eec59c03a98e213b4ba23bafcaa313fb3b3cafa715232fd385966c0ad81d8dc35ff5c18a52530ab67d810b9a2ee2050014c597f765a62fd954dc213b16dfde4ac4ac0595eaed0bc9f1993852436cfdee4b82f9c6e2c1bd65eec8982fd556ca7a70191c0e3295248c87af070f5ea82fcbd4bf4aa8f0caf2af0c20fe7bcd85883b09b03facbf0f366df1eb69e02399fe7677b29519f72ac06ab7b5864d04021df68ec81beb8445d41286315340fcb910265e947632e55cfe5ff8c9bf8a86c0cb9a1594b5f06f6238a99edefa06dd4b54b01a27f9869cf9c62b945a38e3e3c6663d0d17581fd084717dfa334a9cec29bf6ba0a5fd0b335b37ccfec3a1b0a9400ccbaa7db7316e69867514aba830a5adffb621aada43607edc3fcb4ee001a588a1697a7435aa91737e6f54764c2975d7f9c96c0feec667e5fbb1bcc3866ce10adf2cc459864b60e18b161af38eae7658782c5f31f31e4775543351b38a0aa1bb40af46a3e2c1f17495c6851267a611b6e3d3e14116dea190000000000000000046e60b4c7f86d5d43589e303a745f57a1434da610f294eb6d83f34985a3be3324fb0b9ffcd01b1cebf81692c74c930e68613cbdd80e04090d9da58785d837511b559b9f52e1005cbdc1777a4b5b73b054b4f617679baa21d097088b82542500000000000000000000f4863a69040000b8faffff10040000",
- "fnName": "stake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "e3cb4dffd4b913956d30a04761a5caa04733d4bf90016ec20bc7a8712bce1d0e",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8220823,
- "id": "6560e923d2e81d5331666406fcca9ddb906d6c0b389ffec7e85c05af215dc24a",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "96cfb6036b4fb7b15657a43a4d1da202cffc7850c27907b091f419d68831f80e8c91c8c416c9bc64efab5d4ef104af3a8fc87dea51e5db512205a4d6594dee5bc4f310ea0bc3f85e91e5064b272443e6227e71324f19e5b540485a64baa2eae8b38bbf78061cff814a09a08f44bd4e70684f72ac26dd9320eb64d79349c59f5de766089bcba4f4a6a734a2626cf2cdcdaece512b2a70b071a218b28b4761f36b2c5e7a9619a2cfe897307a486aa0d7413e576cc7baa7920a788b37aa3e2edce0abc449a2562c1a30a98f49242c5bcbe294d8b5aa77693cb2920837a9738921b160e563ef7088e0c27765b03463553217b29dea0ee9d56d1930b589a26a6143cc676243a6f9060eeb41ae52add72f1b4a3934e97d7d476cb161e1a48489dc981ead716fc4dd3ada6874a514c3c1824840e3fc4abb554a2b9114f39ed8b312d2db9c7aac98b935d1027783f4e88b3205b5884cb07e0d6693685184902f43e0ff76205be04032f23e2cda7ad0ea60f9a992c14b3781b6e46978d40f7797ca341a80b7d9d346b5548bdd75cc55b18f52936846e53f29b0c0b0f23a6d9c3221986b12cf3516df14efdf05d274794362f6d698b5bc088b7e16ea2f724908ab1e63f9217b45a2f66373caaa00ee3dc78679020a508771a07708b3615c7f8401b0fc8306944f608b193186f4b91c1a7968fd4fb437e9b687fbbbbcb0c5727db06e1eb1e2badcd2993cf8c4283b435aa20cc879e252d343a7fd8bc6926b1d37849dc2a47f11b3ea43afb3785797016a502085640a47ce5bf6c7a5ad6674a7ee5abaef38342863098807c1a3c97763cefe5b51696ff3c0bd233ac87c1b53fb92f46c30f30ee7c4c34a730a2fc021becc7b17539a14d83d281cf1e66c23056911d23507bd02f96ab9c2a23d7175b60b1461896a5518554f2bec7566d9f832c9f08ccf4f950ede96f43a6ce203bff5ccff8788621f6ea0f342bf83dcd61b0ed72bbf21f374302c57e06daed8af8722f4c8678e5bd23823022f3ffa789003e2d40e713b222617595604c633bb02afc56c31a309746248abbd6c721855f522f22c6025cbb71d71c6dc62592519e710e42680d0125b931c944232bace53c131398f2fd1b568781441701d686e284307d5d1cc4d139dc75d38ce355f356755951853d7b49aae349a54c19137550e593714ac5f7c91b3831ca6c72787dc18ae32995cb2c27401c7000aa8c9504bcf274838be078983048819ce23e365ac5df2d3c0d1b92164f22972d6ec2f61db6d4ac1ac82d5fd891ce219c528d476a66762743651c11e918fa5f67f89fd4ca40052a733974aaf38276c5f0000e78b1dfd20e55444a18f241031f4b2b462fd876fcdb17b027fa968d0155a36103104808fd49221851c03a221978f68374548ca4a7926ea3a75a9fa32391777220758fcac296852d247a5483672bf83df78fc392adb8caa67c8e769e0ff15194560c6236e6f644edc708241319543d7180d4ba3fbb5c6f2038450f6059a822b39250f3595c1910ceb698806a11c0045f46e76dd9a2c29c8a654dcbfcaf18a0d69e924bbff733daf01ebce0d20a93b464019e66ed3d036268c547b31fae3112951c5988e2d9d99214ed6c2479457f2a548005ad9222929c7f1f248199e2d526af1403334b7e64424d02befdf218d0746deadb9e8e971160b2b00927740c8b7e20df5f27523b1ff25e5c25f11351e19bfa11e0c4a57ed328d40076c00e4d3170000000000000000ea71b782019fe97b2c1fc56ad9b2d7db519df55c4fb46e248e5088f5dc599541697b4f59ac7849022e801e438a083c0f31f324b76e2f8e207669222caa9b9a56840aad04ea063e1e7b303eb57da8e17d5c3dd95578b12bf430677e3617873613000000000000000085c4d6324e0f0000b8faffff10040000",
- "fnName": "stake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "e523d79e65fdb7d90b4e0d6c61f35f5227e4f188c9011907b7919d9cd466eb09",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8220485,
- "id": "4e9e14c3829a0c3c24b47fe9046aec25ee8efdeac23a2bc99ed124408c4b7242",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "00f91992b3a6b8930e2f7175cba59da1ca5eedb0098d2b0c89060be835ae4eefbcce1c7d852bc3e80e8ad61a02e45075d2318273d54d51b49b8c0c4aed88998520cb03d772906117b50ac3de03acbb24d8f9c169e5fc0b29372284e281a47d7816837539d9879a1bed8061de5649de8467f9c76fbd8fc7f0dd4589d6777d82edd5fffffffffffffffff6def6cd360e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008331594f7ff23f324868f6a1cfa2a96908e90cb74d3d67b6494dbcfa8a3914565fb156ae39f690e22ac90d3ab43348948c6a4bd0a3e327cb4f51f7986c00623828ddc3ddb5828e243a61510c7329f49e13fca5985c3e9c582e6b09d6a212c5b6b7a728d492fe1e788ea64eda14845fe34e43916175310282f44a19abcb217b87978db09ae85c9b6aaea12832eefb3c33b05c07e07da46b2721b5324a58cdff2362513e8959069cda428c238cdb9661820796bd59793a83fda0d3708bebf6f2a88a9d4fe3ec78ca227fedefd496875caba8b8c9d1433b1ab4430e4866d731d01ea6fc959d8d373b42b4d21acc2ea958f2b9b0a673b9ba0c501fb8c4499f3029a53989a8bf257c9d962ec2922ea6d89604f088c93b17a46153e1b79b6e8335eb0587b0f9b475d417eb36a454049e14f24f58658006ba33afe8d4a893f2622ea255086ada576f66885ed474f669d5fd6d39b4de0760c033614e55e4f213562affc827d5d1831e9b21fc7e4b465bd9922125def73e7e9d63ba666da3a3f32832ee9aae0d99e55656a247bcd428c077c9a6fabb3e0a27c5f94f7c86cfa4e2b27cf652c5b7bdd52c62a74842fb3df764ff6557acccffc88cdb394783bebdaf0a96b7ed33c4ef4d74a9e616e70471e96b96a6ca0ea7b04d3b0218f7a23a8ce99ab4933496b95ec3e47f6a868dd8ce4f9df56ff256b57cacb2f4053003d091193efb730374433c28920cb2482000d818e6a5b178c65904155f3057d1d754b66c18250431f6b8f0c1b9d1c372d074ec81da59451930bea66b1dc5184ac392f14949be1c92317063c50996e9643f3a57ea45584b32058622f100e4344f89b221bf3ad01a402f41a0eb431ff740211d70f5bec18f27a9e6949c00674a6735cc7e09061baa1c061d78a2c42bf52fd43e0982a0fab15fd08dce17f1ef5b412cc4ea15533353fcb00a599782866ce60f61604c8020053eba53596ff02d34dedb378075e0ba918733afbd5050ca6ec285ddda74a958656e2a5dbb9ce54679578d424349ac0aee50e98befb4d761dcdd8008e024753c061406946f9f05a7071eec95b448ccd1d2097a77b704c30f53450519be2f2f7ad06ab3e561bf47d8a09b2ddf1772be6b06191a7b999678f0ad2e43af8e529404be122b63a690b7f7bc7e9a72cceb288614c075d4e3fd0dcbe8c846aefc74fd42d0456e5b06b8ed5853a30a26560e0125566fdb7583391f3e37f0b244aa4be9a273535c816d6a7eea4ff0aca47ffc9a71f4ee3fe5b7991bdec1c68946a965592ccc67c1e851a67834cd12a7696f3362dfdb828f8a977dad3460af525328e407401a0642a11bf190dade84e1a0fdc99a57fd7b00f803c98955e146a908211dfbbbfd6e0880c84f58c8c6be16e4f2ace047bab60324f907051eed5aab21da1d804ae13b2dded68143f62f96a953fc545e8bbaf3fb84473958ea3eea4205cf30e8371e4a00000000000000194560c6236e6f644edc708241319543d7180d4ba3fbb5c6f2038450f6059a822b39250f3595c1910ceb698806a11c0045f46e76dd9a2c29c8a654dcbfcaf18a0d69e924bbff733daf01ebce0d20a93b464019e66ed3d036268c547b31fae3112951c5988e2d9d99214ed6c2479457f2a548005ad9222929c7f1f248199e2d526af1403334b7e64424d02befdf218d0746deadb9e8e971160b2b00927740c8b7e20df5f27523b1ff25e5c25f11351e19bfa11e0c4a57ed328d40076c00e4d3170000000000000000d554065c0ee502dd1f1d91c0beb76e04ca3a98327db367d36038442db3521082881af40b5fe265fb2077d20d3708ae09d27f02d40c476dff12f7f64e0d5a338c7b82d32e1ac538d4a60a0275175ec0f20bcbb44ab1479c54a2ae96a5b0ddb60f0000000000000000d0f9ffffe9000000b1faffff10040000",
- "fnName": "unstake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "63315d5c29f115ba95dafc3e9966114d09c90664d4b368a3093a5aa7ac131906",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8221266,
- "id": "39ade0970b00a25bdafca2c6313aaa34f9a11c007d1c6c02b6d2ff9f44ca8a58",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "24f194518c711f820f5d98bd88f37aed30e921752aaffa014ae02a36b2a62107",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8221367,
- "id": "341adfae4acbeefb8998817e0fb2ec44d3e52db5adeaa7d3541533ab1b4fec37",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "9fcc569a12ba09a5e7409569842e27717921dc127f3d1cb54f8091010ef0630e",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8220508,
- "id": "2cab5433d572461ef7192e0ea43dacc743f904b7175ed92cc88e2da8556e1c0c",
- "tx": {
- "blobHashes": null,
- "callData": {
- "contractId": "0200000000000000000000000000000000000000000000000000000000000000",
- "data": "00542ed4b2729d355e18a0af85b7cd24a145606b5cb6ed121640deb0bbb6e51d6e8d28fcd5dffdc1afa1292e72a3a5b94de2c7ffa81c6e6445496a4f5c770c576ca41126e65105166efbc94a995d2bf525fb2a3f5eb8a980ac14dc5debdc806a5836c37f3ac96544d8d34389c75a3e819b245b35c8dee0bce90ff19f1e1a7738a2ffffffffffffffff0070a6c17403000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000834e986f6f43ffca30cf041e2ff055a1eb5693ebc7338bd7d5d39995b6c5bc6b4e1219ebf7479a7ff55a24ca918ae780aa243d71fa89eee10cfce9063c12624a5051757425caf64457728f3a26e0c03837f6d09287bd3a18d09cfba06599fc06b2b9f8ac4dc3ab17b5a5cecf49969d485096e3048125e205cb3f16a5e01aff976a4a3ec06aecec549827341a92c3df3aa9fc38b0b6d91f7b1665828bf5502f1f2a8f5af54ec33dee6c6f9ad2c9433eb58d3a5cbcc43195dba5ef99b21a20821ea8aac60571705f1456c0d7ba880c695bd400bcf69f473a1347bad57bb4c2442a2ee97f1f587253719f75713d74bfabec942136df530646937b978c72b17ad109855abeaadfea89c618299bd0161b841c3b2505c5d6b4f41e5c6f62ae3b8d3cd3a70927d6a7f959dc945b5aa8a374f1254e8b0466cca2b6b11998e768e39390e4ffaef10dd4da7aaf8fa20d7f7f3ece7aa9d972df0f72f0ec5399d84daf924cd5cdde8c93b043a51da91e08b8c175be13a0471c6fc9aa9ca4f10f243e3b58f18b87417cbcd993931b92c0712b030bcfc86dbbbaf6f7371c47aae706acb51d1ab023089dddc0f82426d528e59b05bba354997d440673624735acf2ceba52badb2f31e54a34cfd8e4084a1f314ab3d22210e1caf7cd5a44cc222d581949be51cfb592f4f6457991010f3bf1e4ca7e7e432682a2c38e8c6cd20446f54132fc27bacc3e13b886b6f3381a8c2082a5a1bab82be781f79ddc522a92098539157fb60acfce248c1ffe733d8952ed0a8a1e823519e85995cbe4fbd3de307f63d06816ed82ff2882b07e9b95e69749f2f75644196f125a18ff804ab758714777989d06e880ccc18e31d332cd86fbc0b586b2001716d77ee97f8e5b7b11a9b59023d911c6ba9990a5374a7594dd22d2bd26b34ceb0cdc90b8f75b709a06522a9c2ea61dd10686eb8648bd5cd84478742c5b82aa47444421fdaa29ce1c35fb192fbd72fc01ec9cb5649e1052446546d9536cb614e21a8bd7ce601ab360f43319c5acc7687036e5a68d122e987c060cfc7b0c0efb302f4a97698db6686424544cbefbacf1b130031d0095a6cf2630f63d67f8acf3cc2c7e8bc77c41d481f7f462f27caf340911dfd4072e114dbc54ba6893866f0348352537226a61148b21b9f785041b51382b700bcb682ce7040a339b7d71106d161aaabb94422819a7576e2f85da139e333a3249a287c9755eae772a80563a63fb51f07250f277cb0d1a938860b1f4174405ba91847abed00a8af520132253dbed334cb3f8eb0f0e7f06557e420abf66130e20aa9b6ed0e00eda5503a265e961816c2181bd93e70aa0a1f4e43c5da51bf2ec6fe5f031e18495e64402b3754fc72e63b22c87868935348c725640b4847e195d68381b0de21322278af7c55ae21dcd02c7ebdba15aa718d2b446f25678310b63e6516b809ec14d7731bcd0009559756100000000000000cfe5ff8c9bf8a86c0cb9a1594b5f06f6238a99edefa06dd4b54b01a27f9869cf9c62b945a38e3e3c6663d0d17581fd084717dfa334a9cec29bf6ba0a5fd0b335b37ccfec3a1b0a9400ccbaa7db7316e69867514aba830a5adffb621aada43607edc3fcb4ee001a588a1697a7435aa91737e6f54764c2975d7f9c96c0feec667e5fbb1bcc3866ce10adf2cc459864b60e18b161af38eae7658782c5f31f31e4775543351b38a0aa1bb40af46a3e2c1f17495c6851267a611b6e3d3e14116dea19000000000000000072c5e3172a50a61bd049f7076a0738d585be3c34727995ac3f44829aff068473adae2c1efb7d836fea9eed6b46a7a5094c1c45b1a9046a8189b409bc1f4f7289cdb9957be9851e04b856e97b020c6ed8888e00c6ed5903e0a842caa95cee38050000000000000000d0f9ffffe9000000b1faffff10040000",
- "fnName": "unstake"
- },
- "gasLimit": 50000000,
- "gasPrice": 1,
- "id": "b54df6f798c808cafc058145858bffa293e6da0be0a57b3fc21dd194d03ce60d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "d961bd8613537aeb409352afe8862353511b6752c465a5d84fdab3bb61389b9f",
- "blockHeight": 6140,
- "blockTimestamp": 1726091501,
- "err": null,
- "gasSpent": 8220422,
- "id": "049f019b09a4d734ce5c6e00c55d6cb6657c7d5cfe36f7b9d6a54524fcfe9057",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "7ac32b7b5c74076d75fd33b6e406a8193660285d01624999d969a842681e1800",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4aca0eafc99a75af3693be7185782083e02fee609d3038af7eb767ccb4950c11",
- "blockHeight": 6138,
- "blockTimestamp": 1726091481,
- "err": null,
- "gasSpent": 8221117,
- "id": "f03a3d7445e0478117c7e876bdbb31ddf226261fbab17ec91643705c648caf64",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "b697fc2d7d77f1b9e68bf7297193e8c24ce2ec34c7bab3a97d1ae2c559b48804",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4aca0eafc99a75af3693be7185782083e02fee609d3038af7eb767ccb4950c11",
- "blockHeight": 6138,
- "blockTimestamp": 1726091481,
- "err": null,
- "gasSpent": 8221243,
- "id": "a91588f345a19ab5cc5664c2ba70f218f15628ff8d44f6e47dc3cc46fa4a8422",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "bfbcca9ce0cbe499338818171e272300dd0c4a12f81d5e843f8b3439e6a8670d",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4aca0eafc99a75af3693be7185782083e02fee609d3038af7eb767ccb4950c11",
- "blockHeight": 6138,
- "blockTimestamp": 1726091481,
- "err": null,
- "gasSpent": 8220989,
- "id": "594972bfce77817adfa970435b3437fdde5dff721091397675ba1c457a455f22",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "332224bcf8f9bb2eaea845eb6fb0ea22eb84a65702736047aaa5dab8d7e4f406",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- },
- {
- "blockHash": "4aca0eafc99a75af3693be7185782083e02fee609d3038af7eb767ccb4950c11",
- "blockHeight": 6138,
- "blockTimestamp": 1726091481,
- "err": null,
- "gasSpent": 8220846,
- "id": "090fd1fdc5a8db6660157383e670ad60cba307fd6adb4c1ec6bd5a8318757855",
- "tx": {
- "blobHashes": null,
- "callData": null,
- "gasLimit": 500000000,
- "gasPrice": 1,
- "id": "c0167a46e072ef79aa982d73d2f3cf9bff38ee3da8513c95326e7b2781119e07",
- "isDeploy": false,
- "memo": "",
- "txType": "Moonlight"
- }
- }
- ]
-}
diff --git a/explorer/src/lib/mock-data/host-provisioners.json b/explorer/src/lib/mock-data/host-provisioners.json
deleted file mode 100644
index 85a231e021..0000000000
--- a/explorer/src/lib/mock-data/host-provisioners.json
+++ /dev/null
@@ -1,2594 +0,0 @@
-[
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "m6dy2gz3jC3ifLpZmdTaZbgcptWxRrfnQEZ8hG8ewhopKXTcCTnTqs4UeucXFkcSuFMfTqMzT1Go6KfNkuFvJPvsrvp5vKxEccuJNUgMi1uSCne1ti5kgYeNHtW82FWtnpf",
- "locked_amt": 0,
- "reward": 7121257296087,
- "owner": {
- "Account": "m6dy2gz3jC3ifLpZmdTaZbgcptWxRrfnQEZ8hG8ewhopKXTcCTnTqs4UeucXFkcSuFMfTqMzT1Go6KfNkuFvJPvsrvp5vKxEccuJNUgMi1uSCne1ti5kgYeNHtW82FWtnpf"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "m9dVuRgr3CQX5P5Fxh2t68QRhRFBZFWroUM9Do77Xusc6ZuJHfj4xhPokm62bFXw8WrA2Lq7dkJcFSEGHKBvVxJ2TmZBJKBBjzhEXtCP7UmZ9qF734nJJhb2f94r33pFQyz",
- "locked_amt": 0,
- "reward": 6923840604194,
- "owner": {
- "Account": "m9dVuRgr3CQX5P5Fxh2t68QRhRFBZFWroUM9Do77Xusc6ZuJHfj4xhPokm62bFXw8WrA2Lq7dkJcFSEGHKBvVxJ2TmZBJKBBjzhEXtCP7UmZ9qF734nJJhb2f94r33pFQyz"
- }
- },
- {
- "amount": 4800000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "mHGvQ9XdjzuGyixBGrMeeC7EdX9QZNWV64FQWWwTMhFYmdskMbZkQMGiKC3DXqx8ALS4ipC3TJ9NckHPzD7AC1Tfc1GH3TrCxAZ8o93rPux7H5V95Q3hPxdxHiTfxTvgn7f",
- "locked_amt": 0,
- "reward": 89505343279,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1234000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "mLx5HUo5PhsobwgMJhzL9j8TY7TjC13EsxHL7cKLTmMJ9BqvnG2RttD2uMg1FEDprnSvmN7BwCkpr6wW9XSco2ASrUjou2neUXj4uq16NreXVk4jmfr3CEHqvBrRgEzoka8",
- "locked_amt": 0,
- "reward": 29633646022,
- "owner": {
- "Account": "mLx5HUo5PhsobwgMJhzL9j8TY7TjC13EsxHL7cKLTmMJ9BqvnG2RttD2uMg1FEDprnSvmN7BwCkpr6wW9XSco2ASrUjou2neUXj4uq16NreXVk4jmfr3CEHqvBrRgEzoka8"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mTgXDqkyVacn7zCgoJfk7rKMVbvKhxfG1WD3jcXaXXdmUwiDouhYvGTGgVtYqW7MsvbKYtpFMKDRkJNJ5BWRvkP8TLHf2uz1XUuPU7cnz5nRE4uXaAhpCPPSjgAseybAsfU",
- "locked_amt": 0,
- "reward": 7518756679536,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4800000000000,
- "eligibility": 23760,
- "faults": 0,
- "hard_faults": 0,
- "key": "mUJHMDEBiTUVJU5U76Krb5wwMXK6R7CjBrTTGFFAZzgwnasxspJMbcUjedRsY8TbrRfxCuyhmvgb7Kv4chjvHNDsyWA6J8XTSCPH4y5PeqLyLvCCdgUnQ74FDFHNxRNhoAA",
- "locked_amt": 0,
- "reward": 73800637305,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mUUpjnXow2LHwm8a65cJsckTeQz55mRem6Vzo5VjZDbANnCoDKAFWESLiAPx6WUYcuosbSpYSoRm21amChNuLu3gqA2zo9VXdPNYNkfq8pxrsre7jNbLdDocqSfzQcywzaW",
- "locked_amt": 0,
- "reward": 7653541671166,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 8640,
- "faults": 0,
- "hard_faults": 0,
- "key": "mWvq9EWD9b8gQw5uD4GnYaV8Wsn86youaZ1ghCjwTkTyghBnrMz1tGdwKRnjd3svKQE1fMxfdu6M64pEN9NCUhcbwrER4s3HKpYGEp4m7pfsBMoDjbYzTTUxooU7BY2oEDe",
- "locked_amt": 0,
- "reward": 1613840782,
- "owner": {
- "Account": "mWvq9EWD9b8gQw5uD4GnYaV8Wsn86youaZ1ghCjwTkTyghBnrMz1tGdwKRnjd3svKQE1fMxfdu6M64pEN9NCUhcbwrER4s3HKpYGEp4m7pfsBMoDjbYzTTUxooU7BY2oEDe"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mXKJ97xTtrSPzxWHBKPurUpehP1yPywcPVw554CCFhMtEL4Vh6jQTmFgqQD416xScqwEix5NCQwfQ9BAh1pkp3Fae6BTG5FxGyMEiP3VDzeUPuXjqaC9dp6H7JgkCK2o7x4",
- "locked_amt": 0,
- "reward": 7512060104659,
- "owner": {
- "Account": "mXKJ97xTtrSPzxWHBKPurUpehP1yPywcPVw554CCFhMtEL4Vh6jQTmFgqQD416xScqwEix5NCQwfQ9BAh1pkp3Fae6BTG5FxGyMEiP3VDzeUPuXjqaC9dp6H7JgkCK2o7x4"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mdXsA3Ee1YDt1aTcvUg7AKpzTKgJBoUDpvSRYmtZhM85dLBZN6VPYDd4BzFxLMo3RA2XKEc7t3nfipBcKQHbgpCqSZTZEZz8ohhMzqjDfvepuR9FPWCcJQfDwK8VZPimZ2J",
- "locked_amt": 0,
- "reward": 7973118109253,
- "owner": {
- "Account": "mdXsA3Ee1YDt1aTcvUg7AKpzTKgJBoUDpvSRYmtZhM85dLBZN6VPYDd4BzFxLMo3RA2XKEc7t3nfipBcKQHbgpCqSZTZEZz8ohhMzqjDfvepuR9FPWCcJQfDwK8VZPimZ2J"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mdca2ea2KpRZaW6s6NkYAY29wbprGPGGo8MmB812HxUXcvb8dDDE8J4GjN9VH9FbB8GJdohgFKoK2oDFLyL5cCsDtPU1maWw1o7Xnzo7uHBPg8MmRfxyBCUVRji7SxM2zBD",
- "locked_amt": 0,
- "reward": 7091398997002,
- "owner": {
- "Account": "mdca2ea2KpRZaW6s6NkYAY29wbprGPGGo8MmB812HxUXcvb8dDDE8J4GjN9VH9FbB8GJdohgFKoK2oDFLyL5cCsDtPU1maWw1o7Xnzo7uHBPg8MmRfxyBCUVRji7SxM2zBD"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mgmcqkk1VFfsa1ko7ydBjhVuM9WuVFDGby9JthvDWsKX9kyqdNeqrSzbW1ccQ19sVfbHgVzfYwdGLipYdPcU4ZD5CjsbRmzZeEQ3WBZHUcEWDB1wsvV5avoC2xddxLvEDVP",
- "locked_amt": 0,
- "reward": 7373189839389,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 0,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "mvft6AXjR1mDtg1Qo3GzGBKZAvvxY1S6h41DSEPh9Ewj9GFR61rPQnjVaM1W9nqkHijRC2d5Yo4FSBwU8wf9eHeEJYXuMSrB7eJxvsY6HjCeDJ9pKfJLdjayAfrxEyudvx2",
- "locked_amt": 0,
- "reward": 104743439448879,
- "owner": {
- "Account": "mvft6AXjR1mDtg1Qo3GzGBKZAvvxY1S6h41DSEPh9Ewj9GFR61rPQnjVaM1W9nqkHijRC2d5Yo4FSBwU8wf9eHeEJYXuMSrB7eJxvsY6HjCeDJ9pKfJLdjayAfrxEyudvx2"
- }
- },
- {
- "amount": 4550000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "mvsVWvCaiHtugFDx1VmDCX5Zeex1u1768EWuMYBF68czYLbJ8rtaxBbqKvLJJsCD9xEDmLm2STduJsb2j11VEsT7ZUGBzAURd8884zUMDyeWVgrE1CfbGCaYvcdeSzHCUUb",
- "locked_amt": 0,
- "reward": 75588259150,
- "owner": {
- "Account": "mvsVWvCaiHtugFDx1VmDCX5Zeex1u1768EWuMYBF68czYLbJ8rtaxBbqKvLJJsCD9xEDmLm2STduJsb2j11VEsT7ZUGBzAURd8884zUMDyeWVgrE1CfbGCaYvcdeSzHCUUb"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "n2DPucZgNznPCfhRfAS8aHQUktJYZ99wAUcYM5Qijs7XyENoF6w1bzHuHdX9duEcZTX1X7o7tX9UkFF35AE8JzdbGqN5zYNAnyGJXVogBzbDNKwS6GhaRRR9f95PUxRwtD1",
- "locked_amt": 0,
- "reward": 7127318018509,
- "owner": {
- "Account": "n2DPucZgNznPCfhRfAS8aHQUktJYZ99wAUcYM5Qijs7XyENoF6w1bzHuHdX9duEcZTX1X7o7tX9UkFF35AE8JzdbGqN5zYNAnyGJXVogBzbDNKwS6GhaRRR9f95PUxRwtD1"
- }
- },
- {
- "amount": 1000000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "n3qToJrMkYCnUkJkFG2a7fEVn2Krj6arVUfuQbZNRk4gcDPQ9jESngvKQGZ4XToGAhS4qFsGzJtiZzDJ5E9TyYA5SZcCJGYfi5cZWBJkzmAmwiScS256TCMZZjmEq6aNuj6",
- "locked_amt": 0,
- "reward": 12178759788262,
- "owner": {
- "Account": "n3qToJrMkYCnUkJkFG2a7fEVn2Krj6arVUfuQbZNRk4gcDPQ9jESngvKQGZ4XToGAhS4qFsGzJtiZzDJ5E9TyYA5SZcCJGYfi5cZWBJkzmAmwiScS256TCMZZjmEq6aNuj6"
- }
- },
- {
- "amount": 4777000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "nEWqKGKsew4zQMYPCYpdkDXdE4USkvPbH4sZkS6f1LuoLRcfWQ3oxPjaFN1mHc7xdw6DbNwzELF8TzqFyKhnxeG1SkBAzy3qFxKk5EkzathBRhUS6662v8fx8zixV2eXKwR",
- "locked_amt": 0,
- "reward": 20921406738,
- "owner": {
- "Account": "nEWqKGKsew4zQMYPCYpdkDXdE4USkvPbH4sZkS6f1LuoLRcfWQ3oxPjaFN1mHc7xdw6DbNwzELF8TzqFyKhnxeG1SkBAzy3qFxKk5EkzathBRhUS6662v8fx8zixV2eXKwR"
- }
- },
- {
- "amount": 4000000000000,
- "eligibility": 28080,
- "faults": 0,
- "hard_faults": 0,
- "key": "nKfphGtCdB6YDbRu1dVSDHqqKa7LwJpcYg9NhXxHpdpPaQqePqYzQXkVKJFXCqp8QD37Sv9s9gR8gkJtrAB14CnfTr386JpP4BtwqUbUnyNt73EJhzssH7GxrfL9N8Nn9Cv",
- "locked_amt": 0,
- "reward": 59295171436,
- "owner": {
- "Account": "nKfphGtCdB6YDbRu1dVSDHqqKa7LwJpcYg9NhXxHpdpPaQqePqYzQXkVKJFXCqp8QD37Sv9s9gR8gkJtrAB14CnfTr386JpP4BtwqUbUnyNt73EJhzssH7GxrfL9N8Nn9Cv"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "nV71a9Hec6jeXVFkUN6JvgiLDTucp1R4g6GewvnL7nYLbRrcxuPtFHt2PNjApDaLXLKTBEEwMdefjnQgKtBFaJAtA1jxkF9K2EKW1nBea26cHcvb326rbXNgYA4pNWv4roh",
- "locked_amt": 0,
- "reward": 6731430572710,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4950000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "nWDih3TSkrMG1X4BG8A12BRQcrqdV5rd1YnCyieromYEcJZ8F8Ep3tA1DQyGFoAudgNVRwMBT5ZcmkMnG4aFgTh6DAonSun8WdnQtvCZUDAUWjSx7JoH4oD4N8qkWoiuy9X",
- "locked_amt": 0,
- "reward": 76267293927,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "nXqyaSYaTas47KNqNwVtpNyfCsTmvYMQ2bXcmtpVbiuMLn9NsE7SwsJFq1bLh9jtwRSN7Wkg7h53DV1DSdEPnD3dwsMxy4hmYaiRmeqGw9z6tpqYcyaGWjURkQpLqoCPDeD",
- "locked_amt": 0,
- "reward": 7428022676833,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "ngmrqKGVX91c5aAWjzpEhfGdTdMkfSacDvZRR43Ptu4whfW2yzJvy7UwzK4dBfUhn5o2eLnZWyoaJwuaTn9eDSUN8WtaULRr6v8dW7qRqUowdeJKLbmNXszxRgbBYoTgYKw",
- "locked_amt": 0,
- "reward": 7106713975923,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 20000000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "nhBn2phxNgSd9AmuzGzNvzk5ysQ2x28MwpYhNTk1qijTy73XXnB6oXk3hWgH1AJEApdzBRRa4UGDxqbhDWAGmSjdikR7EzPaXhCBUgyZ2gESgEEu9MCK1VT1FFRGwEwKrgS",
- "locked_amt": 0,
- "reward": 44420016168,
- "owner": {
- "Account": "nhBn2phxNgSd9AmuzGzNvzk5ysQ2x28MwpYhNTk1qijTy73XXnB6oXk3hWgH1AJEApdzBRRa4UGDxqbhDWAGmSjdikR7EzPaXhCBUgyZ2gESgEEu9MCK1VT1FFRGwEwKrgS"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "nkKb7ixLVJULE9WFufo5hb11Ggt9ako3tabHesmfTb1uDDHGscKKcSn4Cid8mbnFuRfJurrDwdi7ZPMUfDR5jkWMMC4GqBPaNU7Fka5LJhjQQmJVqmJXrbTMRMijWvB1p3Y",
- "locked_amt": 0,
- "reward": 7285963056286,
- "owner": {
- "Account": "nkKb7ixLVJULE9WFufo5hb11Ggt9ako3tabHesmfTb1uDDHGscKKcSn4Cid8mbnFuRfJurrDwdi7ZPMUfDR5jkWMMC4GqBPaNU7Fka5LJhjQQmJVqmJXrbTMRMijWvB1p3Y"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "nvdsjA8biVgXQc7fFYxJwZAY7AM1wc8YqYNQ5fFe8NYQZnVHSRny6yQadz5MNXzsCYhcFHDAGqrgVRDKoPNN41Z2bwy57SZwCXSBrx3SnjVbefrRXzXAEuHMfUEBBtq8gzH",
- "locked_amt": 0,
- "reward": 6683887630176,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "o6Ckan2efbGTbJRSgzM9vwK5z4fTY5AFr3WqWTRNVL8dsXxEBkEqa4wsHs6g3ARWZovFVEkV3r1HJZbhLWK2vC8xBarMRKifta7xZNeprb5xUFpjeS3ekF9VBsnKPbwTtP1",
- "locked_amt": 0,
- "reward": 7033101699593,
- "owner": {
- "Account": "o6Ckan2efbGTbJRSgzM9vwK5z4fTY5AFr3WqWTRNVL8dsXxEBkEqa4wsHs6g3ARWZovFVEkV3r1HJZbhLWK2vC8xBarMRKifta7xZNeprb5xUFpjeS3ekF9VBsnKPbwTtP1"
- }
- },
- {
- "amount": 4500000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "o73g7mTw89CmomkXJMWB4DGVk1fQZRcdty7dyWV8ww6tL3B35ntiN7fQzLvhoiMbuMm6e9WEhFNevwrktUZPesednKyPXdN1V2AcKv9f8SG9awTmRYhDB9XhJqDP7ikcsmv",
- "locked_amt": 0,
- "reward": 103124193866,
- "owner": {
- "Account": "o73g7mTw89CmomkXJMWB4DGVk1fQZRcdty7dyWV8ww6tL3B35ntiN7fQzLvhoiMbuMm6e9WEhFNevwrktUZPesednKyPXdN1V2AcKv9f8SG9awTmRYhDB9XhJqDP7ikcsmv"
- }
- },
- {
- "amount": 14500000000000,
- "eligibility": 12960,
- "faults": 0,
- "hard_faults": 0,
- "key": "oE6fewnMgBQSMQ8CMefzpqz4Hh5d6CT4XYiYr5QznWdh4n7ktRxWkxi743fQQ1eW9J3BC6xYBJ6tY587uGxEyATUjNeE432J5S8cq86FeiRYSsJJGvU2v9AchPT2v7Ff58T",
- "locked_amt": 0,
- "reward": 111241019205,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "oUgxBUWEPyFAekXW9T2UdJBcMF7xAuBfstrCX8ATXFk7MusqddFGoq2LN9euCbwVuXpSM5rGLKNUb6NVPFUVM5g4pA6CnXjNfNVBiy91NcH9eBVcdcG1eYUaKWQSYQ9t2um",
- "locked_amt": 0,
- "reward": 7692155365422,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "oXYZWNZwxdDnd4e8qUE9gQUzcAZ1NzcBuhj9bjKi3kE7doyRJ4ixeoerFU8eM8v98C9gmFK2vJ67MdocCKKEexUXnoyyjUWYuNyoWQXJKGPK5EaZYo45Up2y2dqTG56KMqH",
- "locked_amt": 0,
- "reward": 7080100061688,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 32400,
- "faults": 0,
- "hard_faults": 0,
- "key": "oZPYzFzebw3jLfvVY66FhMDmjdMyRCDpXFLsMHXShigAD9LGH7vA8uixxyd3Km7ck3RHMXPi7S1B9Sej5934hxCajhu8ivbhBVwBM2FEA5UmKfRJSngqWA8fDBWqdennNj2",
- "locked_amt": 0,
- "reward": 620543720,
- "owner": {
- "Account": "oZPYzFzebw3jLfvVY66FhMDmjdMyRCDpXFLsMHXShigAD9LGH7vA8uixxyd3Km7ck3RHMXPi7S1B9Sej5934hxCajhu8ivbhBVwBM2FEA5UmKfRJSngqWA8fDBWqdennNj2"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "oZR6eDvW1ZQeqqDeegV9eaWMsxmVeWkugNfisTNUkiD8ecHpQbEHPSn6knvCsjxS94t93Pig9JpjZ5zQrujdtWhJvFpGiLFWFpCThrJhCFpAa4jZjKkPwAZCwQSoeehg64r",
- "locked_amt": 0,
- "reward": 7149826226361,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "ofpeGL63Gwsmri7qn7p85s9a9WMeepjypWvznBV4Z3CrV5fXKVujjPbAw2rSLp9upfF3bNEMspnfKYoBv3SoQt1X618TZtpoEbN4JhAsYfvaq8D5rs3ch2HESWUVk5bhNSH",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "ord8D9WF21NPJmaDc3hN9wLnqRTcNsLwFVwUNZW9JuYmQhpbotxrBKXD25M4w76GXbTRS8nmr8y9jmriaw5tp2yhXLBHL47DK6S2eug2P3K5fYgCcJHEU2suaM8SaCTaek5",
- "locked_amt": 0,
- "reward": 7355095596398,
- "owner": {
- "Account": "ord8D9WF21NPJmaDc3hN9wLnqRTcNsLwFVwUNZW9JuYmQhpbotxrBKXD25M4w76GXbTRS8nmr8y9jmriaw5tp2yhXLBHL47DK6S2eug2P3K5fYgCcJHEU2suaM8SaCTaek5"
- }
- },
- {
- "amount": 4550000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "ozZES9sJc2KfPDM4ovagzb6PrVkftgGmsM3wsamBKCgPWAtn2zV2Hvx55ToWcxektLCQw89na4U1DxvDUPioFSkJA3CtR2tbMtcU2PuYiKnCNcRrBuXFtmoiLcRzBqSZXJB",
- "locked_amt": 0,
- "reward": 90404117665,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4000000000000,
- "eligibility": 38880,
- "faults": 0,
- "hard_faults": 0,
- "key": "p4tLgEbhB1YGpV75jStoKCeCaD41yvYopK11rZW9XxX6BepfcAtucZYFW9kjCfGXySTYsAkumEhdeLMbDfHjyF42FEhPWeQ7vGKVrcg2cZmGHdnC65L5v5fP5we9c6Cx9W2",
- "locked_amt": 0,
- "reward": 15251767219,
- "owner": {
- "Account": "p4tLgEbhB1YGpV75jStoKCeCaD41yvYopK11rZW9XxX6BepfcAtucZYFW9kjCfGXySTYsAkumEhdeLMbDfHjyF42FEhPWeQ7vGKVrcg2cZmGHdnC65L5v5fP5we9c6Cx9W2"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 41040,
- "faults": 0,
- "hard_faults": 0,
- "key": "p83QocPcuqMoEYuRpaLiGciwKGzUMx9VXF9WRKJu4Qb5d3hEvY6VTPB5RTJMRF3imMPAUo2KoAtve3Z42EFo2nA6ZoCvtynG5q6ASJCmxw8Sh8Yn8ArQDpJp9Zw1AXquwaN",
- "locked_amt": 0,
- "reward": 356812639,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 40055000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "pAsCGjoiMA2vo1TRxzsxjUvtQcKVd65skAZSU5gr2Ux9u42t8zWgv66rWP2fe6vYDPmXEF9stEvcjw9NdJxmVLfGGueDqgmZcLXhyafoRC4rrgRkMfUPHmoXvzEqmVdZnHv",
- "locked_amt": 0,
- "reward": 96089500925,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pFPEcfxidLvwmFKRQoifrSyWmmVY9UDEThoRFvGXddXRLZ8hB7xfWDYQYwHhTvZvXeL1p5Ygcnsuuxm1X8nHFJH6tEgK3cS76squcFVFSejaKJGMorYZdTup5uscNq6eDU2",
- "locked_amt": 0,
- "reward": 7079306672353,
- "owner": {
- "Account": "pFPEcfxidLvwmFKRQoifrSyWmmVY9UDEThoRFvGXddXRLZ8hB7xfWDYQYwHhTvZvXeL1p5Ygcnsuuxm1X8nHFJH6tEgK3cS76squcFVFSejaKJGMorYZdTup5uscNq6eDU2"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 28080,
- "faults": 0,
- "hard_faults": 0,
- "key": "pM2PKWckAPFM22QTDRdTz8PQXMhLpxrEFog9LHBVsX3wJLog7eebNc9ASyvnF8Y3UV3GrT3GqWNMU6BsJejvroaxm7drNGmx1ZqZ4ViJnUqUDr4DZXwc92u2oxjG1DYuvRD",
- "locked_amt": 0,
- "reward": 14614232388,
- "owner": {
- "Account": "pM2PKWckAPFM22QTDRdTz8PQXMhLpxrEFog9LHBVsX3wJLog7eebNc9ASyvnF8Y3UV3GrT3GqWNMU6BsJejvroaxm7drNGmx1ZqZ4ViJnUqUDr4DZXwc92u2oxjG1DYuvRD"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pSnJHur5tnA4V88MGPBDCfPYSfSCGynJmbycW5mNeisABxgmZLErnfLuS5vvC6hBD3NKFvdCBhmNv5H8EzTAd5ApavNZeCoautkCDW4KUB8Ey6LNyHGCX19j9TLG8kPdKhf",
- "locked_amt": 0,
- "reward": 7141960968070,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pSy8VbEwv2v3B75yVkYLYsVjxhYbpNbKDnYwnBbrfqNPfYGUWj6SfDwnx9BKA8QWMGZCnKqWVv37USgZoEJppXZe37rb4qeBodQ3vqXLEqw1F7VaFpvN89pzZYpBEqqiQG9",
- "locked_amt": 0,
- "reward": 7027190914970,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pWf1wuUow5H95WxYtySqYMbzwY1xVS1FAj8WPXieuSBsYMgDJXNXzkHYhGLDW8v6J7qHNW5x5MSvyyvNLzUAJKsEr7udT4DDYZuUELERe2Q8jdR4a5t7rFpa7KQEJhf6bZb",
- "locked_amt": 0,
- "reward": 7256725536779,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 10000000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "pgRMt3GMfwftnDQVCTZoXaVuty8Z4fkBqX28Jc5s4dtT63osdLAQaCFhQHNRKqVuyWoqeJa4Pi8fgnuLx8H9VtvJK4X5kiKSVTSwZUv5Lf7Tvnd2MQuQPvdKV8eyKGTPWds",
- "locked_amt": 0,
- "reward": 667084499,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "pjsbtm6iNLBbMNG4FBGqggEFsiF8Y1DUUYb9J3KYeeQmoVUoSNfRhztzQQds2NLZYgWDGuXnQ3mLtZDK7MxNnQmEY98hdjfTWyGAigTRC9aizgF8WFo7it6ySQQ9fF9Rhea",
- "locked_amt": 0,
- "reward": 7765311539016,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 3988000000000,
- "eligibility": 10800,
- "faults": 0,
- "hard_faults": 0,
- "key": "ppMLM6t6GLmZb7xzx617TTHQPdHHRNSfB8PjtGe8YNbWAo4BRYfnNYZxCj62pLY8gXZqsrx7TaBS17dRsHoE81wLHgMHaYoq2z6GHX7KAD5TiRcX1w5ctiSqV3idx3SJdAe",
- "locked_amt": 0,
- "reward": 32534699326,
- "owner": {
- "Account": "ppMLM6t6GLmZb7xzx617TTHQPdHHRNSfB8PjtGe8YNbWAo4BRYfnNYZxCj62pLY8gXZqsrx7TaBS17dRsHoE81wLHgMHaYoq2z6GHX7KAD5TiRcX1w5ctiSqV3idx3SJdAe"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "prV8r1A5oHHyMGuqvsyVP4eMfaqbYYtzKvfV6phwHMBNKaDnRCy4ntC81QGGS1dUDyqu6EuNamAEHZpR5cWWQkHvABrADkXs1fDbNqKtisEAnVjBj46iDJdQ7ck4vGs69Td",
- "locked_amt": 0,
- "reward": 6947252201599,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "q3e51AKaDByuyB1nM9fYpcgafrmZ52T3caoMkVD1iDcLQJaXUcSpNEiwvuTs6hc4EcMubf2wp3axfkGZgkgBG3FYZ4eaHxeB1gDbEWS6V2pPBrqitRXisURnNRnKk9T841F",
- "locked_amt": 0,
- "reward": 6998409757231,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 15120,
- "faults": 0,
- "hard_faults": 0,
- "key": "q82TZ6oPSPK8F77ze6DGzwYQeAbc8mH5FXbBbcah7nH39qLCm25yvpnHz2mLvPUtsRYSngortGac683sQtMYYARotWuUBYg66igFeR2fECu1zW7a83dMCxE3EdZYuYrhMoq",
- "locked_amt": 0,
- "reward": 15188235399,
- "owner": {
- "Account": "q82TZ6oPSPK8F77ze6DGzwYQeAbc8mH5FXbBbcah7nH39qLCm25yvpnHz2mLvPUtsRYSngortGac683sQtMYYARotWuUBYg66igFeR2fECu1zW7a83dMCxE3EdZYuYrhMoq"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qHeUtHGi27ZRFHyBimKF6fHCy8B3mr2VShAkfk2ifkb8HAwD8Gr7Zrq96F9s5G4VWFUSbaUVcCBnExnumHeoQqfjRp52CRfzXDzkBevUG2CVtGqUvGGV1DxsDAEXHhCyXbX",
- "locked_amt": 0,
- "reward": 6938110125794,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4900000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "qTnyKiDC7ou7aELMngJCzWNBP3qSo9DRwDE2cjPr34ck4UKbqxTSL5bkDSHyKRJ22o4Wgqwu8ZnZ7ijfQcQGtsFtmajYqToc3FbQ6VxpFpT52snvhXb6BtotruZtC2pzTMN",
- "locked_amt": 0,
- "reward": 47493792295,
- "owner": {
- "Account": "qTnyKiDC7ou7aELMngJCzWNBP3qSo9DRwDE2cjPr34ck4UKbqxTSL5bkDSHyKRJ22o4Wgqwu8ZnZ7ijfQcQGtsFtmajYqToc3FbQ6VxpFpT52snvhXb6BtotruZtC2pzTMN"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qWpfeFB4BB6RLCWdAaeHcq84BfeXKFh3woQFUCGc2wnCMyh5bnzofBMxm63Ns6fe6QuFUmRj7reyJVy958pwb9h4yCh97QfkKvmgtdyDxamD1UkeX9Y55wRGTSgdugosLLc",
- "locked_amt": 0,
- "reward": 6554033459794,
- "owner": {
- "Account": "qWpfeFB4BB6RLCWdAaeHcq84BfeXKFh3woQFUCGc2wnCMyh5bnzofBMxm63Ns6fe6QuFUmRj7reyJVy958pwb9h4yCh97QfkKvmgtdyDxamD1UkeX9Y55wRGTSgdugosLLc"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qXCkaKuFChiPXXzU8Zz4RHNAygDmHFBSbBiCFhtiqMtVXdhv7DbiUtFjoyaEFvfDuH2yJ92Lbbydyg1onghEi79HcVfMxwJksAFPJk3qgXFGutvWv5JCMPmujTkwY1MdMfv",
- "locked_amt": 0,
- "reward": 7171782082614,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qe2tbCK8cBBwPLEwGNWmaJWx5cZ6Gkf4mUAdbPU16PMa7GkuMQFBg1JK77qXo8oQHhJM59Yr3xoSUdBKNgeQXGPybd13pyDWTNCjTXoa4fsg8G6nYb4vHKHngPy4fAg9WuA",
- "locked_amt": 0,
- "reward": 6742685385399,
- "owner": {
- "Account": "qe2tbCK8cBBwPLEwGNWmaJWx5cZ6Gkf4mUAdbPU16PMa7GkuMQFBg1JK77qXo8oQHhJM59Yr3xoSUdBKNgeQXGPybd13pyDWTNCjTXoa4fsg8G6nYb4vHKHngPy4fAg9WuA"
- }
- },
- {
- "amount": 450000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "qeNnTyhWnvJBxSX8D5YS5QCLAtPoZQFCKEHVJoGiDTyFiGz6jnRuz9erafZxLSfWoJNwfz4HoHmKXBfcifHcF8F2sqG5LFSNopLJbkZzGXLaUFFikme1f1PiNiMxxMNkmqP",
- "locked_amt": 50000000000000,
- "reward": 6350603533289,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qier5uHrps512yKXMiLXL319rT5dzwu7yeEfKi6ze5w6kCM2DMfdtW7TqcXdzPZhAB3tNAZ1Hv7Q2pARF6hnyusjdxVwN4zLoPQS3wsGMZopVXKXUqm3DySD9kzqQQFej4c",
- "locked_amt": 0,
- "reward": 7324165325785,
- "owner": {
- "Account": "qier5uHrps512yKXMiLXL319rT5dzwu7yeEfKi6ze5w6kCM2DMfdtW7TqcXdzPZhAB3tNAZ1Hv7Q2pARF6hnyusjdxVwN4zLoPQS3wsGMZopVXKXUqm3DySD9kzqQQFej4c"
- }
- },
- {
- "amount": 2000000000000,
- "eligibility": 32400,
- "faults": 0,
- "hard_faults": 0,
- "key": "qpJaJG4yqMuvoasorwb3YKXGQnBLqsdRHWjVnj3cz4MQCS4Tp8hbxDwdz2gx8N7uzy42k6uEGExzkn7tcvnJufaC42agLULKffRMyybrWfXBX1KUcPGQXHAQ4UabkrACPK4",
- "locked_amt": 0,
- "reward": 15050402114,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qqoRXtqcJux5mNH5UaWp2WVdqg8xmAS9PfPUKLdEt24HKcj4SazPx59ctn23M1FskJBhxFBfnuwbrsDjRRJxEZynZLSaj6L4JUuGXMrtfFyxzL9mEUuWrjNk3egCTRkbz3Y",
- "locked_amt": 0,
- "reward": 6915066298205,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "qsT2E4s538wm9c2L53aXyNEzm5hNdyJ1zbD2jRs5hQZXVu55hD5nLVTNi8URnDcCaT14mNUdQTqQt7krWPjHeGxCjKyyQcdTpcHDzJjwMeAdHNRbUoWgoXzrFeEym48TRUM",
- "locked_amt": 0,
- "reward": 6968405512419,
- "owner": {
- "Account": "qsT2E4s538wm9c2L53aXyNEzm5hNdyJ1zbD2jRs5hQZXVu55hD5nLVTNi8URnDcCaT14mNUdQTqQt7krWPjHeGxCjKyyQcdTpcHDzJjwMeAdHNRbUoWgoXzrFeEym48TRUM"
- }
- },
- {
- "amount": 4900000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "r4tt3NG44HnikAUPRCFNy2PVt6UKXWckvQMW7wGUX2qDbRyv5JaEWG64b4qk42Bo1mZ4UbD5gATbNHKxFMZFWD3c8p8FRmJG4yf1CpM9ZNdfL4quCGtvtRTqNTi8mdhMZK2",
- "locked_amt": 0,
- "reward": 104832296009,
- "owner": {
- "Account": "r4tt3NG44HnikAUPRCFNy2PVt6UKXWckvQMW7wGUX2qDbRyv5JaEWG64b4qk42Bo1mZ4UbD5gATbNHKxFMZFWD3c8p8FRmJG4yf1CpM9ZNdfL4quCGtvtRTqNTi8mdhMZK2"
- }
- },
- {
- "amount": 900000000000,
- "eligibility": 25920,
- "faults": 2,
- "hard_faults": 0,
- "key": "r5cYVShkE4def9ZwSidnL6KDUP7JaDL65jpefjrMm7gqx1j1Gk5Zww49z4Dna8qDA4GSQSySmMkDZTSFNv6dhtEY7N8JTDCp3Tuu7gSfS67Gc1BKS8XVh3LqjwkDWEBmUxc",
- "locked_amt": 100000000000,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "r8bBMqBn483hgwLsNJy4Ck3oVFTxdU7br2RKT7UGWcPbaUoMxv6V3qUtYdzwkeWhVgRa3AfLTDZ96xu93XM5YwwvHHqUnGVESBkhBPNuRnwmNyUema2bykezc2BaJe9EpNb",
- "locked_amt": 0,
- "reward": 6886237514739,
- "owner": {
- "Account": "r8bBMqBn483hgwLsNJy4Ck3oVFTxdU7br2RKT7UGWcPbaUoMxv6V3qUtYdzwkeWhVgRa3AfLTDZ96xu93XM5YwwvHHqUnGVESBkhBPNuRnwmNyUema2bykezc2BaJe9EpNb"
- }
- },
- {
- "amount": 4500000000000,
- "eligibility": 30240,
- "faults": 0,
- "hard_faults": 0,
- "key": "r9Vbf2N6mQ1feskB4H5YKDZcN3eak4S6aPPZxhmXtyYd7T6zKVCCeGnvUmJizWJ7C75K4WHM1X9hjCaibDSYEskG12yftf5ezmiJEAP63YrjgSz3piS1mG4qEztyB2UCbNs",
- "locked_amt": 0,
- "reward": 43593937160,
- "owner": {
- "Account": "r9Vbf2N6mQ1feskB4H5YKDZcN3eak4S6aPPZxhmXtyYd7T6zKVCCeGnvUmJizWJ7C75K4WHM1X9hjCaibDSYEskG12yftf5ezmiJEAP63YrjgSz3piS1mG4qEztyB2UCbNs"
- }
- },
- {
- "amount": 4500000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "r9yn7nYTELPBLbx15arphaTFezyjCVaBTTAHGSdeRC7piHac9PGkUS9qm7PXZvukLjncPdxAznHSSzb8ngu7iJX5wNdqEK4TnN1P6uxugwFC4JcaH6vzgu4kRrCfySz6nSe",
- "locked_amt": 0,
- "reward": 116743536281,
- "owner": {
- "Account": "r9yn7nYTELPBLbx15arphaTFezyjCVaBTTAHGSdeRC7piHac9PGkUS9qm7PXZvukLjncPdxAznHSSzb8ngu7iJX5wNdqEK4TnN1P6uxugwFC4JcaH6vzgu4kRrCfySz6nSe"
- }
- },
- {
- "amount": 4000000000000,
- "eligibility": 21600,
- "faults": 0,
- "hard_faults": 0,
- "key": "rC7VrR2X35N4nq8c9o5xsT8buA3xwPu5WUavfDmQEyW59KbANGuHYA6LLwiWmDpfWhxuzmdV5PfpW6GGhrE78eBNjA2wP27pZWASEsbJfEVboF5ZUuvVKCiESwfVXypG279",
- "locked_amt": 0,
- "reward": 31014366707,
- "owner": {
- "Account": "rC7VrR2X35N4nq8c9o5xsT8buA3xwPu5WUavfDmQEyW59KbANGuHYA6LLwiWmDpfWhxuzmdV5PfpW6GGhrE78eBNjA2wP27pZWASEsbJfEVboF5ZUuvVKCiESwfVXypG279"
- }
- },
- {
- "amount": 9900000000000,
- "eligibility": 25920,
- "faults": 0,
- "hard_faults": 0,
- "key": "rFiWhUsdEpsmGh4HSYEWZCr6P8NuQ732ye9NDVdrh49KWQYB41pTFnWYt2e8ujCotA1EZpZm6vGYPKABNiwF3bVz3c3fc9Zotxe6MhsG2fBYRc8Au4s1fnpPvGBzQHwRej2",
- "locked_amt": 0,
- "reward": 7415497601,
- "owner": {
- "Account": "rFiWhUsdEpsmGh4HSYEWZCr6P8NuQ732ye9NDVdrh49KWQYB41pTFnWYt2e8ujCotA1EZpZm6vGYPKABNiwF3bVz3c3fc9Zotxe6MhsG2fBYRc8Au4s1fnpPvGBzQHwRej2"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "rSGm1CeKgLT7SeUWitc6XWMueHfcC1mg5ozjB2jWMANMuVUYze2b2k2mDYSoXqVL4ia5KUs3uyKWczDSMK4LGoBwWBewP22L2JeJMpbN9eZ39yG5AUfRKAvi78yGfXqeid4",
- "locked_amt": 0,
- "reward": 6870853163373,
- "owner": {
- "Account": "rSGm1CeKgLT7SeUWitc6XWMueHfcC1mg5ozjB2jWMANMuVUYze2b2k2mDYSoXqVL4ia5KUs3uyKWczDSMK4LGoBwWBewP22L2JeJMpbN9eZ39yG5AUfRKAvi78yGfXqeid4"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "rThKGgPJkxRHUL9qCA97K6pW3RPDqprYjLHZiEb42bLYYPSxsbwd9pWFNdqKVZVhW7VtKA85gCs7SdwkENhTjhEvTe4NkYVEhBSpeuG5DdVBMm3mYf5gQvNKKiWhE29r5rV",
- "locked_amt": 0,
- "reward": 7893306567778,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "rdHa4H5p1rVtQyqD5AjDHyr1EGg7yVU1wynqQ9VRqU8Wp7kMcePsSk2tURGzRLnzS36CaKEadpfRGwa3ucvFH5MEGYvF1LAqSQQT3zE1Fx7wQzYsrvDpJ44bBa6dKxN6mTC",
- "locked_amt": 0,
- "reward": 6336840178975,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 19800000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "rogBxKsqTJ6XHv2b7JoQ3UGGyYm5gCLvfnx6x4wXRAdJZXPaSSELitiAwuv6wJiwxNX43uw41FPGwHfoHcwJMBSNjCeKEBoEvdS2QgE2mt8DuatKPFKXu7Q3bCaeH6Bbpiu",
- "locked_amt": 0,
- "reward": 90431824794,
- "owner": {
- "Account": "rogBxKsqTJ6XHv2b7JoQ3UGGyYm5gCLvfnx6x4wXRAdJZXPaSSELitiAwuv6wJiwxNX43uw41FPGwHfoHcwJMBSNjCeKEBoEvdS2QgE2mt8DuatKPFKXu7Q3bCaeH6Bbpiu"
- }
- },
- {
- "amount": 1500000000000,
- "eligibility": 45360,
- "faults": 0,
- "hard_faults": 0,
- "key": "rp6vhhSNpCdJ7aseZjij5y7AdA4ikNVs4eqqSsXohTRUzKvb2gj9PwZVifmD8gHf11oTpNRoeRLrP3PCyvQmkBbHwLbLPBpmcXaVmukputWsT2HYVKP4By4TGtMEx1StCv5",
- "locked_amt": 0,
- "reward": 294778248,
- "owner": {
- "Account": "rp6vhhSNpCdJ7aseZjij5y7AdA4ikNVs4eqqSsXohTRUzKvb2gj9PwZVifmD8gHf11oTpNRoeRLrP3PCyvQmkBbHwLbLPBpmcXaVmukputWsT2HYVKP4By4TGtMEx1StCv5"
- }
- },
- {
- "amount": 2000000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "rqEDwXotmnA4fu2aJqcRQkuUsew238zsTyA2ydm8P8ZmmXaFXYFNvp2FG4N3VXMUPSerpCXfZEFxkdzbiGESZwv9Reo3eTRsv1ELZGFXEjiEwqAVeXwaGGDUh1g27G7u3tY",
- "locked_amt": 0,
- "reward": 77567965,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "rvXLHF8DBNwzZ63uSWPki3y7uNgGbdRCrKpouEP9N7awiGBDaP1uzyrtLBDtFbNgw8bPNjbyMsfAsNutZKnuX8JXzMiFvpW9vK4c2zmAmk3RygzwiFGCVJ9KSU7b4bgC1UT",
- "locked_amt": 0,
- "reward": 6877531223603,
- "owner": {
- "Account": "rvXLHF8DBNwzZ63uSWPki3y7uNgGbdRCrKpouEP9N7awiGBDaP1uzyrtLBDtFbNgw8bPNjbyMsfAsNutZKnuX8JXzMiFvpW9vK4c2zmAmk3RygzwiFGCVJ9KSU7b4bgC1UT"
- }
- },
- {
- "amount": 510000000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "s9mQHPDuKiUwomr7k6S3mmeqd8rwpXENtvmCY7f9ndukC4VQH385ePgzHdiw6vWoJX7ee1oZEFSYXXZtVr4326XmZrkTbranxdYz89Vrd1HMfX2f3uis4hi33XxiM4ksRbH",
- "locked_amt": 0,
- "reward": 780152437445,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "sMnHcRLM2BTKDLrJUDcTQPAE7NhkNDS3v986rmV2eZJF5RRqtDJQya2RnLTN8vBodfHrqxVeVpFG2MEbta6YmNfokSn135rYhAvnmDwPL1nd3Uq3iwqih5hNBpiGK7HY9D1",
- "locked_amt": 0,
- "reward": 7611295592578,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 24000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "sN4GfdHXZuD6kzXvd2eXaNXeL4GoGqRn5Q6bZZFGQFYQwiq5xaeLP7pJHCA5aHsLXpMr4CHtD5fQyVRngmk9v4SC5y7ugLBQ2yuJt1GkxGPQtWnJqafNQHhbH9xYwDn7wEk",
- "locked_amt": 0,
- "reward": 43268151637,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4600000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "sVhNRcqfxqYXh5YBWXbvpx36voghkU7SMr4LY15Ru7UQHtQv6a3VniWr2WD8cuKqF3fveVz6gLnfrfDU7d5vVaP3EQfpH6NnPDhyqAo1GSBP4hnBte9Lg9qYnB34LRUAJzK",
- "locked_amt": 0,
- "reward": 76392744936,
- "owner": {
- "Account": "sVhNRcqfxqYXh5YBWXbvpx36voghkU7SMr4LY15Ru7UQHtQv6a3VniWr2WD8cuKqF3fveVz6gLnfrfDU7d5vVaP3EQfpH6NnPDhyqAo1GSBP4hnBte9Lg9qYnB34LRUAJzK"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "sVmcJnhKJDfm8wzVjyeLhxi9RjcabEagJLnQoS6BXV6VvQ1GHpnyTPJBJbwCbG5igWn49UdMQtroxr2pGggh2FbXtyUbKqWexyK5LGgFn5QS4FesdFbnbcWf2bYkx6vDeDM",
- "locked_amt": 0,
- "reward": 7206376600867,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 505000000000000,
- "eligibility": 38880,
- "faults": 0,
- "hard_faults": 0,
- "key": "sX4JooVNAFov3Xx9cfZHtRemijsggdRKrywC14jfGyZn5k2wupNvyY9ZLu7YTuh3CpuyKsftbmzYPzdgptG6Rq9UayDXeaPwFHanmXpUqGdTyEvw5Cb3UqGEqfCFZMqQhtz",
- "locked_amt": 0,
- "reward": 2063426446466,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4950000000000,
- "eligibility": 12960,
- "faults": 0,
- "hard_faults": 0,
- "key": "sa2MdiJhznhPH64AVHYGoZkVW162AEB2UXUYCyLNnW6PdqLb3gCD98bRYUHYtBnrn8Swu2Hgx5ZshKwS68hPcXRncC9dsiiJqAwNDupteayAPmnR5hm1ABkNsKPNdXXZoi7",
- "locked_amt": 0,
- "reward": 75957961298,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 504000000000000,
- "eligibility": 15120,
- "faults": 0,
- "hard_faults": 0,
- "key": "scRkV9xaMCNTsjEx2mwDABavD5exRSNAyCnTZT9hYi2HGKPRAYhqzff5BmdsXgqaYRxgSxkyiDUBFiyHGhuHxMC2R5ztdmG8QUe6jBXsyFMJoGx6H9faXfyA2XwXrJMpbfo",
- "locked_amt": 0,
- "reward": 5190546947071,
- "owner": {
- "Account": "scRkV9xaMCNTsjEx2mwDABavD5exRSNAyCnTZT9hYi2HGKPRAYhqzff5BmdsXgqaYRxgSxkyiDUBFiyHGhuHxMC2R5ztdmG8QUe6jBXsyFMJoGx6H9faXfyA2XwXrJMpbfo"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "shAky1Dnjxdhy1HsJRC17hgFw7YmT8PSdobce73k3ANmJWaDmycRyqruoxoxKoaVpudkCY4ENSgrkEoUgfG9xBa77jULgpDcWvYNLFQfWsA2bSFbooCJhZTHyGLyNQC73os",
- "locked_amt": 0,
- "reward": 8055884278776,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "shB6W4UWipm3JQQgmbkC4Xy3CEvtyz4FL3QBpYUb5aRr4UspY4ezzq6XzoYENZgaf6p2j3xrtLuWNGcYhNU1jUdi9hS62bvCctoiqNNVdx1dXLJHyndHyT97Cww6Kmyr5r9",
- "locked_amt": 0,
- "reward": 7360588042631,
- "owner": {
- "Account": "shB6W4UWipm3JQQgmbkC4Xy3CEvtyz4FL3QBpYUb5aRr4UspY4ezzq6XzoYENZgaf6p2j3xrtLuWNGcYhNU1jUdi9hS62bvCctoiqNNVdx1dXLJHyndHyT97Cww6Kmyr5r9"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "soPdMsNykSsrLcmHGBGfiajFNc5kJ7SheMEapCu9zjnTyiFaJLc2MTeq8ZQ9R91dgxFQJjkybY2ETgTU5Xv3J9RhoHqzNVnBCty5s2W87UdntXWiSSWPEEpXYrun5Pw7eML",
- "locked_amt": 0,
- "reward": 7351299597267,
- "owner": {
- "Account": "soPdMsNykSsrLcmHGBGfiajFNc5kJ7SheMEapCu9zjnTyiFaJLc2MTeq8ZQ9R91dgxFQJjkybY2ETgTU5Xv3J9RhoHqzNVnBCty5s2W87UdntXWiSSWPEEpXYrun5Pw7eML"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "suRcCj2X2THo8mFFYrjhS4bbo45RDeT59VJi1rWoq1ZEz9Xx9CyiqMsz9oWhNhr6g71aPWrBtwMJR6oxxhmvfNxy1Sd5Q4VgMWmmBAfwnUabaX6itEmVv9fbGigFyNtSGvR",
- "locked_amt": 0,
- "reward": 7514873489879,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 0,
- "eligibility": 0,
- "faults": 2,
- "hard_faults": 0,
- "key": "swwDYvZyogPTXC17QCdao3jybKuFvtp2joQFYppgrMJthug2RLuE6gu9JfGrsEuMDYsMAecP5BPPiEViDofRSVcHY3AAQ6qL9ZmVSzrwiRqcCBFirUDGYP5WoJK1UdabsEE",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Account": "swwDYvZyogPTXC17QCdao3jybKuFvtp2joQFYppgrMJthug2RLuE6gu9JfGrsEuMDYsMAecP5BPPiEViDofRSVcHY3AAQ6qL9ZmVSzrwiRqcCBFirUDGYP5WoJK1UdabsEE"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 15120,
- "faults": 0,
- "hard_faults": 0,
- "key": "t7e39EETKLqNmaUWmKyKc9S7wi2hLjyzfzikWcpKmSukCvVgj4rzL92x5gBgNFQKASgm53p9RkKxm62X9WeoEPBgpPeNf8qt9MUaLbos64NfXSmFZdDK8Da56SBfpnVsBvj",
- "locked_amt": 0,
- "reward": 636057313,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 2000000000000,
- "eligibility": 41040,
- "faults": 0,
- "hard_faults": 0,
- "key": "tDZQKdp9m1Xp9VZkPyg5scFDArZBAJxTsa4rYheD1jx9Y1GrpwtMFeySZKy88xZxiMFs53x8zZqSTmNKbPjGdPwzy3b8KSp5yTmLjBhBZmKPnLvMjv4mSDWCjL9Sq3ULmFy",
- "locked_amt": 0,
- "reward": 14536237313,
- "owner": {
- "Account": "tDZQKdp9m1Xp9VZkPyg5scFDArZBAJxTsa4rYheD1jx9Y1GrpwtMFeySZKy88xZxiMFs53x8zZqSTmNKbPjGdPwzy3b8KSp5yTmLjBhBZmKPnLvMjv4mSDWCjL9Sq3ULmFy"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 43200,
- "faults": 0,
- "hard_faults": 0,
- "key": "tF7NxrSfBHmvYfSMz2K1pfXDsA8dqrtDubXhUz3QvJLKj3vZJXWjGr5RFpoyvUzyMpnrq6yYF1KrytLv5HNt9K15hciSJdReotEi57veXCjR1wLnnUZKp2X7urheBbzvtGp",
- "locked_amt": 0,
- "reward": 248217488,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 30240000000000,
- "eligibility": 58320,
- "faults": 7,
- "hard_faults": 0,
- "key": "thrWTo9XztqcpodzucqDjoEv2Wk8C6XEhw9DQKcZ8uMjF5NHBeFwysvboLuqbwQwESRVfzJBSvcTZNXTsr25zasagiuseY4tkF1HyK25rg73nJxq86gZQK14bFXMVPLwfpe",
- "locked_amt": 469760000000000,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "txesrFKYx2Ea7foBoBUNDj1rn1MjG8KREfZYNEb6UGg1k3KSBQdXr52Ayfemz1cEJ64AosipuGH5khnSXq87EcKP6uD2JrGb1NKdAgBELYkocXpbcmANd4VupWnVCPoecr1",
- "locked_amt": 0,
- "reward": 7493948476408,
- "owner": {
- "Account": "txesrFKYx2Ea7foBoBUNDj1rn1MjG8KREfZYNEb6UGg1k3KSBQdXr52Ayfemz1cEJ64AosipuGH5khnSXq87EcKP6uD2JrGb1NKdAgBELYkocXpbcmANd4VupWnVCPoecr1"
- }
- },
- {
- "amount": 3000000000000,
- "eligibility": 45360,
- "faults": 0,
- "hard_faults": 0,
- "key": "tz9ChDUKqoPTfrpfTdPLEBHCQHf4j68bJRUomGVrPGRTdC7i5fQJJRQjqAY1EYE9JpvYW1vPRPQb7RqgighKQGXB64cjD5CCV3gwcc4U5Mj8T4sPwV2yRRsVqSTruwTX9kJ",
- "locked_amt": 0,
- "reward": 682598092,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "u1bee5K2ZFCDr7Cp1wZRomLHM18TVRwqtMNTFYX8dojJRQMEmALMVceKo6n5P29U3H7eNkGoTwV8aPdgt1tHSgoyHqkvKdGebNp8wa6EsqF1JU3mQFKVzUbeWt3wvuGm3Lk",
- "locked_amt": 0,
- "reward": 7551922334029,
- "owner": {
- "Account": "u1bee5K2ZFCDr7Cp1wZRomLHM18TVRwqtMNTFYX8dojJRQMEmALMVceKo6n5P29U3H7eNkGoTwV8aPdgt1tHSgoyHqkvKdGebNp8wa6EsqF1JU3mQFKVzUbeWt3wvuGm3Lk"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "uDYKaU8SM5iriU88tWsR8Z7KbepmjiVubFLtetASuzEeBjwJZ5en4XuXjJTCZgHztK85gjS9que8njCebHGku9wnXzKbneYwx5xF1puiNF8XWRTcvDAta1ndsa4jAqGkWzm",
- "locked_amt": 0,
- "reward": 7391984635089,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 2000000000000,
- "eligibility": 56160,
- "faults": 0,
- "hard_faults": 0,
- "key": "uKPG5siNPyqg2t6pi81Q6vJXTZ37e51rMoo8ShXVUxSSPqL5TvbBKj6yw7bWo286DCnULsWfwFFkc7FGraPGuxWT5CycwLBfDTPUYRhHJ96A2ZSZWuqdDbKjCVvndikgW9A",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "uSXgfWF1uhmxjmLaQPXhVY2NJt1UNUKf5xTGK5eCGF1kFtnhG2DwhYJGX4kowZScrJV37vEFDMPEzG4q2hsjBoSMbnMjz7qUWevKA5UP3MBZS45k6vcjHEF5GB5CeuafQwA",
- "locked_amt": 0,
- "reward": 7767772961486,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1500000000000,
- "eligibility": 41040,
- "faults": 0,
- "hard_faults": 0,
- "key": "uVvGzvmdDZWC9pcLvGEvazVWdJFQsLphEPBA61j5pVWrnwGztzENkYWhjaTtqAkykBS3khzYhGXFwfC3fMe2H5whVAq4jbe2FZQCePks193bfd1xe2uYfehZiNxw4zKvMNZ",
- "locked_amt": 0,
- "reward": 465407790,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "ufX5NcUWXUKkaLYrdcUf9yxmSjWngrS8Y5ErGmzf56DjHUqeonr3oM4cLMsuFKfm88WS1b8FPVoMBoETnuoTkHZ4whwhsSEuQzuPMQZy5UjLV5u33vbe8sFgceaYnn5XVsd",
- "locked_amt": 0,
- "reward": 7235901395821,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "uk9f7YWz1316Sd9j6TG3o7D5uLczKKGnU7B4KdKBhqRxeHVb5aVCYsLX9VT8ENN3WL673FbJccYEGHtgkZztpuezbETuXFyq9ATR7obC6C2aYBL3GMSzSTS46GJjEp8axQj",
- "locked_amt": 0,
- "reward": 17949227919,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "uvR72GsvbjCy2jCR6EKbfKpgUfHYQrphV6u915bQ3rHAEyPV5ows6QjtmoLS7NSvmJrBWgM7v92faivad82t3WDBB1ceUQmohNh6EBT2TiNALkwaMSzAzKziFEqUY67j9RU",
- "locked_amt": 0,
- "reward": 7414055592213,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 59990000000000,
- "eligibility": 23760,
- "faults": 0,
- "hard_faults": 0,
- "key": "x8NZbycsc1Cjz4iW6DriJxkn68h5KaCjuunuFDr5bcjsDSieRCfL51SokQWnpFR46BBhLVPcv8AtuRdVYghZSvWa31mTbE425pFZZYaMMCfLrinjj4bbBFhsZz3PdM3xMp8",
- "locked_amt": 0,
- "reward": 398037872095,
- "owner": {
- "Account": "x8NZbycsc1Cjz4iW6DriJxkn68h5KaCjuunuFDr5bcjsDSieRCfL51SokQWnpFR46BBhLVPcv8AtuRdVYghZSvWa31mTbE425pFZZYaMMCfLrinjj4bbBFhsZz3PdM3xMp8"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xEXp8qBarpXnVD9DJHUj8ywkWPggbPmgsmGFFtGAuXd2EXwEiXiXJ6r4WqdjvTvpE7Fx42TpwnkrpFwdc5BphPu7LCQ3FPU1DMQ1WKoDCxeQVircgHKrFpWsCZ8VLrGCdWm",
- "locked_amt": 0,
- "reward": 7317990920949,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xLwzkFxrXetA74LSreTusgyv9Lh62tvHfL7jnuGmEdG7Aa9W7XLEDx7Ag968wjD8CyVncvsKVd6YXzrB6HdHVa1e7mYDVe6tDrmXiAatAnH3KphhPHzcPsEUQZzyhV2Emqt",
- "locked_amt": 0,
- "reward": 7495848393394,
- "owner": {
- "Account": "xLwzkFxrXetA74LSreTusgyv9Lh62tvHfL7jnuGmEdG7Aa9W7XLEDx7Ag968wjD8CyVncvsKVd6YXzrB6HdHVa1e7mYDVe6tDrmXiAatAnH3KphhPHzcPsEUQZzyhV2Emqt"
- }
- },
- {
- "amount": 5000000000000,
- "eligibility": 49680,
- "faults": 1,
- "hard_faults": 0,
- "key": "xPwM88RhuBXraCa1Lapp561EyxVe7F7RG6v2MM196Hs6ok71tZVPRZ7pRHXuEqUvSbh1rzTDyJ9Q4EnkrQ8kvYnmHUtmr5GFvJFG67xHuL3qVgQpWjmT1qtxTsfJfPE7r78",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 2000000000000,
- "eligibility": 21600,
- "faults": 0,
- "hard_faults": 0,
- "key": "xR2Au27wxGRkM9ZpbbkPnUP4uSo4jWFCVig5d3CP7DR9fZ7oJko7JaDraeTx7RLEpauvZBdxfttcUz3VkAjnxGLXr6xNzrJPuqJt29BkgQH2KTkLukfzzPy4uRFveGVBK3t",
- "locked_amt": 0,
- "reward": 16103964526,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 28080,
- "faults": 0,
- "hard_faults": 0,
- "key": "xRytSKgw9zDQBXzHD3UpQWXxjQdfak8epebGPy2FJLrk2mGQDnM29mbxPDcVbniU3YLyPmGgkw12KW6uMBq4sbUfCYaBr9UKGZhTqyPhA2bYCDHJMcXuTX6jDKX1TFRBCwX",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xWeLQPyUXo82pjvxmf5iZdr5itR7kWriTpMK47M5KkDYYtg6Vmtgt1D5DLgEDLfv8BuJjyuB4aDB9wM3NXcdEY4Y9wzJ87JKjGfY2XzZVvb6R3LcxWCmzRfBS1bSihu9af7",
- "locked_amt": 0,
- "reward": 7804360300347,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 30019000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "xa82X7cdvvdepZr7BT6tvXBpYTJTVi67FbvK8TgxgJH3ykVzTyXF8XtN86Lqu5PYesdTNjHywjRkZqe743t2F71cuiTiGAFDVZaDM5kHNE3NKrhMyY8p4baw2QyzAW9pCRz",
- "locked_amt": 0,
- "reward": 43223088346,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xc5LwKkUxzQ6Vhtd83Cuz5whAPfi8naDGvQPLhQPqmGGteZRGrfoH2QU3ZwGiy6xuviEfjpkdZNh69rJfg2L6PVgPBdaumX5AZT4N5Lyv9GAi1ZunJWQobKxXk2JGsWdZwU",
- "locked_amt": 0,
- "reward": 7016612133945,
- "owner": {
- "Account": "xc5LwKkUxzQ6Vhtd83Cuz5whAPfi8naDGvQPLhQPqmGGteZRGrfoH2QU3ZwGiy6xuviEfjpkdZNh69rJfg2L6PVgPBdaumX5AZT4N5Lyv9GAi1ZunJWQobKxXk2JGsWdZwU"
- }
- },
- {
- "amount": 20000000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "xg5Ejj1FWNqLmXM4xP1SjDKmtWL6Zu6oMvVoLCmmFq23P3Trw3PXrh8xB5uFd99qxLvgC7cxxcskoYA1gF2rtqWJeQbxmfGGnFtiSaJHpGEq1rvci6NhY1LHHfMYkoNpcNh",
- "locked_amt": 0,
- "reward": 31633498817,
- "owner": {
- "Account": "xg5Ejj1FWNqLmXM4xP1SjDKmtWL6Zu6oMvVoLCmmFq23P3Trw3PXrh8xB5uFd99qxLvgC7cxxcskoYA1gF2rtqWJeQbxmfGGnFtiSaJHpGEq1rvci6NhY1LHHfMYkoNpcNh"
- }
- },
- {
- "amount": 14600000000000,
- "eligibility": 54000,
- "faults": 0,
- "hard_faults": 0,
- "key": "xn8a8WN4GkU2uqBCv7VfHFgCDKaQY9kmeXSQhBkLtRVRpRY1JM7J59MaWRtG8RRQRJU1Foc24hQHHpqR63cQvqzqvbZd3nz6bR3JBjpRrezBaB7kPZ1ecLZYQcChS9q2xYd",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "xqn4oFHyeUE46CJ7XZnaA6pFSqUt8EkoNjM1or4dyNigWpP9GfbH8Y5ps8PqCF5wcnfvjoBtM2gNrauB3EVATv6PnLPiGBp46eiNqrVcWWcFjNTwB5ggQ1cJQVdDXsoNi1S",
- "locked_amt": 0,
- "reward": 6996618997361,
- "owner": {
- "Account": "xqn4oFHyeUE46CJ7XZnaA6pFSqUt8EkoNjM1or4dyNigWpP9GfbH8Y5ps8PqCF5wcnfvjoBtM2gNrauB3EVATv6PnLPiGBp46eiNqrVcWWcFjNTwB5ggQ1cJQVdDXsoNi1S"
- }
- },
- {
- "amount": 4500000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "xuLxjqrDRxcsXMYmuDnRkFnELD6BdMcQUrKjH7hBq7a37LzrG96Da5oCDaLaHfBxz9DzKbQj3RAvK32nHQ7qhRuWFUkRERkNHWwasg81MXNqKrm6dYnE4GvTXbiPL3Gx92B",
- "locked_amt": 0,
- "reward": 116776106940,
- "owner": {
- "Account": "xuLxjqrDRxcsXMYmuDnRkFnELD6BdMcQUrKjH7hBq7a37LzrG96Da5oCDaLaHfBxz9DzKbQj3RAvK32nHQ7qhRuWFUkRERkNHWwasg81MXNqKrm6dYnE4GvTXbiPL3Gx92B"
- }
- },
- {
- "amount": 4800000000000,
- "eligibility": 8640,
- "faults": 0,
- "hard_faults": 0,
- "key": "xwMHJQgF9EGawzuMt5Pvjp1tSWEQmWbeU9T34qTeTeoY8nPijm3qd7G6PrNVWCm53FGsHL5Pc442oLqwwLZZZoqky7Cz2yUYf9jEcMzsGKj45rBmG5CbdhLLmzFm8Tb2Lih",
- "locked_amt": 0,
- "reward": 73181450856,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "xxkdeoBGrqfS9ALm84AhtnBwmcPkyL9JXvBGu1dvoXGvASFSfUx7AuJk3epPwWDdWXNKxcE8HALXZQBNz19Vf1kH4onpw9tsH6bWGDvZhDCytVuET5cFbjbBeBd2CPpPwwD",
- "locked_amt": 0,
- "reward": 15420512260,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 29000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "y1q47PKFhxXHM3KuvArt1DBrGjyER2r4kt4BYcbWNFkjrWCtSuX1Ev2Lw6X1q6QsWHAvkAJawQ7MZyvZsjE5iTPXikbRS3HmsSwrRNC3vLRCMkfLPxqqFED7SHevaDrQzFK",
- "locked_amt": 0,
- "reward": 103649098775,
- "owner": {
- "Account": "y1q47PKFhxXHM3KuvArt1DBrGjyER2r4kt4BYcbWNFkjrWCtSuX1Ev2Lw6X1q6QsWHAvkAJawQ7MZyvZsjE5iTPXikbRS3HmsSwrRNC3vLRCMkfLPxqqFED7SHevaDrQzFK"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "y2axcZATs557zYzuuQSyyVDpV7jxR5th4YFy22o7bABByvXvybTGCUxfvsyaSsenZA5b1sYYdSLwYdjttnkx9wBpYhuTqy72xKSKhbJFwZwzmUEkpKCwT6pRXqgDV2BBFvC",
- "locked_amt": 0,
- "reward": 6946491986904,
- "owner": {
- "Account": "y2axcZATs557zYzuuQSyyVDpV7jxR5th4YFy22o7bABByvXvybTGCUxfvsyaSsenZA5b1sYYdSLwYdjttnkx9wBpYhuTqy72xKSKhbJFwZwzmUEkpKCwT6pRXqgDV2BBFvC"
- }
- },
- {
- "amount": 4950000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "y7FSjpyFJAPiHjJnwuoNz1DpBWzoFqto6AvxMNeeYGS3H8Tboi5kY8h5op61XB1u7BgCY1PRzBGu3ZDAWzRfEJgZ9FLq3KNVe581QsFaPcr95pfaW4Qev9EzoiozTAffbV3",
- "locked_amt": 0,
- "reward": 62458918742,
- "owner": {
- "Account": "y7FSjpyFJAPiHjJnwuoNz1DpBWzoFqto6AvxMNeeYGS3H8Tboi5kY8h5op61XB1u7BgCY1PRzBGu3ZDAWzRfEJgZ9FLq3KNVe581QsFaPcr95pfaW4Qev9EzoiozTAffbV3"
- }
- },
- {
- "amount": 7990000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "yB2GHYx8pRdPzNDLTrFFmrcZFYE9GTENjNAfMZKSYQAPK8tNWePqtcFRpJqq4dtTtR4dzunm6UsUnuo62GfbWDuAfWvpPnfoMVUVFHiZnWwdUK86jo5nFNGvVy2G9qCYZDt",
- "locked_amt": 0,
- "reward": 107061662910,
- "owner": {
- "Account": "yB2GHYx8pRdPzNDLTrFFmrcZFYE9GTENjNAfMZKSYQAPK8tNWePqtcFRpJqq4dtTtR4dzunm6UsUnuo62GfbWDuAfWvpPnfoMVUVFHiZnWwdUK86jo5nFNGvVy2G9qCYZDt"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "yDiwuTDWV9WPeihhaToqHYijiwM5n84deh8Nn779WyNr9kGFcRLnHHkDTcVpzLaNSEa7b3DQQky6i72hvsrKJ2uFSsJQD37pokQKVokV4Q2q1p1aRPNRdSujfmcdMP3MBVS",
- "locked_amt": 0,
- "reward": 7008983973208,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 50000000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "yLWh6C8gGG3PhkzMTz7WUTyXQLudWLN7EXu5PZaEaKJT3aQa2Sf9kodH4HF3WQK3mUfh5edqsGEBjW9pq6JHLigezJPZyYnUAnjMRuKFstBktwf5rSw1TgD8Dwz1SmNi6nV",
- "locked_amt": 0,
- "reward": 14567264499,
- "owner": {
- "Account": "yLWh6C8gGG3PhkzMTz7WUTyXQLudWLN7EXu5PZaEaKJT3aQa2Sf9kodH4HF3WQK3mUfh5edqsGEBjW9pq6JHLigezJPZyYnUAnjMRuKFstBktwf5rSw1TgD8Dwz1SmNi6nV"
- }
- },
- {
- "amount": 2500000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "yWynRKzN1BdKJQDtv848LdSRJrFqdrudoDTnre2fiWAC8XvZuTb4UAjAkStu9idW4N9R8ncnuk4dsMFPE63AgF3Jbdemax5pH2YMkngxkjEBBaRpEV1wHHZh2ecS3vKeGiN",
- "locked_amt": 0,
- "reward": 17095981698,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 3000000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "yY5K4A2gvP6J1mMZJ8fjB67pFQS9Jmr2gcrvckB7A6fCW3P5NzciwHvFXg2UqCfApGUkA9L3BvrjGGHk8spVdLQv1AuqjGfiSL21uJF4k6pNJZuV8b3vuoupKPRQWHEsyKf",
- "locked_amt": 0,
- "reward": 59342189044,
- "owner": {
- "Account": "yY5K4A2gvP6J1mMZJ8fjB67pFQS9Jmr2gcrvckB7A6fCW3P5NzciwHvFXg2UqCfApGUkA9L3BvrjGGHk8spVdLQv1AuqjGfiSL21uJF4k6pNJZuV8b3vuoupKPRQWHEsyKf"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 30240,
- "faults": 0,
- "hard_faults": 0,
- "key": "yc8aiwLXGpXjHFgP6kgEHpTq6vewtqGHCNKdkvRndqeGsMrkxeEEX26FMY3sHFrMMxDyUSRFWbeWBaWkuMkErotcC4qhvDReKGddJ5g32G6parJsu43PBCnsvtumypnayqy",
- "locked_amt": 0,
- "reward": 638323011,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 2000000000000,
- "eligibility": 45360,
- "faults": 0,
- "hard_faults": 0,
- "key": "ydXphWoWDVpfWv5mkEr4m51kk24ChV8FUrwGhSfmcHJYHPnGgLrWTk8XaJTMWHunoToasBLR2UYBLGPPX7D3dy6KVXPV3fAWU8Gr7YsEimivPKhCoAQC8psRYhGtZMXUPRt",
- "locked_amt": 0,
- "reward": 310271860,
- "owner": {
- "Account": "ydXphWoWDVpfWv5mkEr4m51kk24ChV8FUrwGhSfmcHJYHPnGgLrWTk8XaJTMWHunoToasBLR2UYBLGPPX7D3dy6KVXPV3fAWU8Gr7YsEimivPKhCoAQC8psRYhGtZMXUPRt"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "yjfKm8yE7SarRQuXYzt7RZ5EkFLZv67KfSiKarVhWsTdHiy3GGbmWF3KmYHvqVWaEGQoVQiP1A6vgrA7A3zt45Zc2zvht6q9REHkYLhFywmn7czjj897xXe7eTkj6itMx8X",
- "locked_amt": 0,
- "reward": 6986991787460,
- "owner": {
- "Account": "yjfKm8yE7SarRQuXYzt7RZ5EkFLZv67KfSiKarVhWsTdHiy3GGbmWF3KmYHvqVWaEGQoVQiP1A6vgrA7A3zt45Zc2zvht6q9REHkYLhFywmn7czjj897xXe7eTkj6itMx8X"
- }
- },
- {
- "amount": 450000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "ykesisNk9pgYFQm65meee5TbTLvrxgS9Mzq1P4GKr4XFXXvN5iraQw1YaNV9H11nFytuGHmx7UngaaTuTnqEkDeGBHvgBE1SZ3PwTsQQRmYsdX2dCKEVxJQbZv47yntfvtQ",
- "locked_amt": 50000000000000,
- "reward": 5766099832210,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "yomfztR36C81wr31uZ5XZFvww6dfcFK2wBmvRsHnm3JVgF3XcCz6fs58Z3hfiFswux55xsVznuwMRq6Frk28FcJRrpvnsyT3pRNmuqq4mHFqvPYbSYk75BnC3dJX3DD76pC",
- "locked_amt": 0,
- "reward": 7020551562601,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "z96tDWGGF4cuTrQLZgLnuBos4VAMfUP3qYJ4A4mHWoEZWi5cC2P6hNgC5b9LiWLaWTYseda3teKrTvEjCsr3aPVDdLyhgrMshuJX8KPy4yZks5YZRt5JHNxM4fh7fX8fgTw",
- "locked_amt": 0,
- "reward": 7454220423464,
- "owner": {
- "Account": "z96tDWGGF4cuTrQLZgLnuBos4VAMfUP3qYJ4A4mHWoEZWi5cC2P6hNgC5b9LiWLaWTYseda3teKrTvEjCsr3aPVDdLyhgrMshuJX8KPy4yZks5YZRt5JHNxM4fh7fX8fgTw"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zERG7qf7STXTAKKiUbEvfj4YcpTttHASTxDXUBA1JYxdhpuU13FtgzDUpU5eMSt3qxYamQNZjiiiDKVN3zi5Mnz264ggAD3Ft9j3BwmcHArQpPdVhLpHCfnq5Pot6GCW9Vx",
- "locked_amt": 0,
- "reward": 2335501877268,
- "owner": {
- "Account": "zERG7qf7STXTAKKiUbEvfj4YcpTttHASTxDXUBA1JYxdhpuU13FtgzDUpU5eMSt3qxYamQNZjiiiDKVN3zi5Mnz264ggAD3Ft9j3BwmcHArQpPdVhLpHCfnq5Pot6GCW9Vx"
- }
- },
- {
- "amount": 25000000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "zFVXTQZfY6gB2rWZFEm4ToWY2NKrpgeswTboWMAe7cjzaqHjsdGuADp8GsYzeruRkP3ZozA34mhWedEHkEiUr73iv8EcK3A192Y5b2uQYxLgprkZ2u8WKZyfDuZiyy4yEuL",
- "locked_amt": 0,
- "reward": 29167460855,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 135000000000000,
- "eligibility": 60480,
- "faults": 6,
- "hard_faults": 0,
- "key": "zKSqc6213BgJbtYtYGUFWVSPzGxWWdBH1tXkpS62cGRNuqJ2NPZK9fpKpw3guDuRLUXLRiL3ZmSVLiKoWU47mXWNszSMXEbe5xiykoa1DZoyNRVbCBKmy7zkwTR7Yesvq8U",
- "locked_amt": 315000000000000,
- "reward": 0,
- "owner": {
- "Account": "zKSqc6213BgJbtYtYGUFWVSPzGxWWdBH1tXkpS62cGRNuqJ2NPZK9fpKpw3guDuRLUXLRiL3ZmSVLiKoWU47mXWNszSMXEbe5xiykoa1DZoyNRVbCBKmy7zkwTR7Yesvq8U"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zQgvJ6xQPCumYhTso8LCgmcxjATSuza5ACBHQs1t1XPBdxQkh56vHMJXrd89dJV5d6fXimP8HiS4Kb1jcj2YpLCQQsJLhiJDzR7PHPE5LLmDSPPqoT4XA1C4RL7vX4zdAAY",
- "locked_amt": 0,
- "reward": 6829571609560,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zT3G39wGo9htH5GGCfugrE6fEbpDknb2aNwrPS51Upiqb1zZh8QvJKDKJjrJYC9fNBwezUWbqiN1HXjr2kzcQYacXQkyycVqP88aHb7v6RNCuLuPVEF8iMpZGEteeRXb2nS",
- "locked_amt": 0,
- "reward": 6777651848269,
- "owner": {
- "Account": "zT3G39wGo9htH5GGCfugrE6fEbpDknb2aNwrPS51Upiqb1zZh8QvJKDKJjrJYC9fNBwezUWbqiN1HXjr2kzcQYacXQkyycVqP88aHb7v6RNCuLuPVEF8iMpZGEteeRXb2nS"
- }
- },
- {
- "amount": 90000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "zT4jzP1bTetabxSoxPxPRYQXP2Br5aP7U6aE6m3SBYC3GZswBfiFFz9Uavn4xo1ZTaWAKrNAntup22cM7F1rcDVg9zawBoVgHSAtzKVbxhXbm6dZXtgeMKDrcrJehAQsa8d",
- "locked_amt": 0,
- "reward": 50544026754,
- "owner": {
- "Account": "zT4jzP1bTetabxSoxPxPRYQXP2Br5aP7U6aE6m3SBYC3GZswBfiFFz9Uavn4xo1ZTaWAKrNAntup22cM7F1rcDVg9zawBoVgHSAtzKVbxhXbm6dZXtgeMKDrcrJehAQsa8d"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zTHaqm7jKyV4cSqrdeqCkeLci74v6ymXU8QRN48qxAoztYZ8hbLemskC9ycQqtEW2EdzALw3bwyEGmrG9J3DDeNKZoPoPCSLHL2Cymkf29zxvi8J23gB9MFwFSRQSEKRJf6",
- "locked_amt": 0,
- "reward": 7432524164948,
- "owner": {
- "Account": "zTHaqm7jKyV4cSqrdeqCkeLci74v6ymXU8QRN48qxAoztYZ8hbLemskC9ycQqtEW2EdzALw3bwyEGmrG9J3DDeNKZoPoPCSLHL2Cymkf29zxvi8J23gB9MFwFSRQSEKRJf6"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zVnmVA7jfgAoBGnsMDrHGiwPx3sZhG42t6pysHjMj7rF6BKPGut87GZaDaXwmdjXsz53ULB2Mmur9aoSU1ZCGHYwQ57eN59FMwHqdBjULpNBfvFZN1qnzVpgz23y3UPPz6x",
- "locked_amt": 0,
- "reward": 7465149666031,
- "owner": {
- "Account": "zVnmVA7jfgAoBGnsMDrHGiwPx3sZhG42t6pysHjMj7rF6BKPGut87GZaDaXwmdjXsz53ULB2Mmur9aoSU1ZCGHYwQ57eN59FMwHqdBjULpNBfvFZN1qnzVpgz23y3UPPz6x"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "zfnJJ5szM4EPk4KjE1LcHsHQhPBjivarV7skKMszgyyVCnXRhvq9s9amTbiLyB6TyZ9i4abdk9hhBAvcEpPDfY83fiBDZY5uc2mf8xo4EMf5reXfpk9eW3a45XQQWPgTQcf",
- "locked_amt": 0,
- "reward": 1210060254,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 14850000000000,
- "eligibility": 43200,
- "faults": 0,
- "hard_faults": 0,
- "key": "zgcEqSf9XYbhEpQiCT8NXQSAHUfvTSHbu1fdTBG1dbAKz1p3qEdjCJhaxFN7rbh8xWo9A18fQ3JuUmLxqEmQnpAKsHp48KmKfp5My67gGTUpcmWVd8i3KNpxR8TuTm3zqMr",
- "locked_amt": 0,
- "reward": 113344220531,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4700000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "zhXg8xqq1EvUxQVajbGJrdYfTcpwRw4V8cbnQL8aPMB4CCv2HMJ6Xkh7FotjeYMQmvVqfkL3gv1dNjuty9hfrEHQQdYFNAnquV5NBnCGueku9sFbSfif2DURijNfLDrVc4q",
- "locked_amt": 0,
- "reward": 34657796153,
- "owner": {
- "Account": "zhXg8xqq1EvUxQVajbGJrdYfTcpwRw4V8cbnQL8aPMB4CCv2HMJ6Xkh7FotjeYMQmvVqfkL3gv1dNjuty9hfrEHQQdYFNAnquV5NBnCGueku9sFbSfif2DURijNfLDrVc4q"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "zseHtUg7CNtUThmcsnren1FJtK9inn2kTMg38jd74zrRzPP1Xm8XzXQE528bb9CSwABwnuMgVA5CjUJMYnNmzdMTMTkQHiWuAAmASeS27myBaEGEqg3DUXLJZdPzMxaS7Nq",
- "locked_amt": 0,
- "reward": 7134931385805,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 10000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "zvpj2P5DPpjwxf72kb4cJYmPSEEcrPsUxL7pcpdgE4qXJYCSJxPvPniu94CNVXnEwLjMBEgL33jkv3Mw8fh7nKWsDgJPCT2PCzND8BMQ7cszuQR9PtB3a3Sm3xbLbr1ub4k",
- "locked_amt": 0,
- "reward": 30329930041,
- "owner": {
- "Account": "zvpj2P5DPpjwxf72kb4cJYmPSEEcrPsUxL7pcpdgE4qXJYCSJxPvPniu94CNVXnEwLjMBEgL33jkv3Mw8fh7nKWsDgJPCT2PCzND8BMQ7cszuQR9PtB3a3Sm3xbLbr1ub4k"
- }
- },
- {
- "amount": 2000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "zzxfn4pQEjVwMGhdPszeyHtWZf1wbxmGR75JGeBK6cXe8sYGnwXVdn8Vvi4p6ZLSWJwTrrWbpKBoMWWZk4XAro8gwyMnfSxeziTkX9YqWYUytokgBxVPHHBiPsqUTWP2xNL",
- "locked_amt": 0,
- "reward": 17392236037,
- "owner": {
- "Account": "zzxfn4pQEjVwMGhdPszeyHtWZf1wbxmGR75JGeBK6cXe8sYGnwXVdn8Vvi4p6ZLSWJwTrrWbpKBoMWWZk4XAro8gwyMnfSxeziTkX9YqWYUytokgBxVPHHBiPsqUTWP2xNL"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "215SPqmBgiheG8Eac5yBi6NiNb6MyN5yC9MKJKfUAtU5NmafmowELzZKXo3pbS1h2Unqeyw9BShTz4ZxNVt9ZG5TTLJAuMHrwLHtXicKpgrhTttkhLA14apZ4tDxNgQkCtj1",
- "locked_amt": 0,
- "reward": 7074719183418,
- "owner": {
- "Account": "215SPqmBgiheG8Eac5yBi6NiNb6MyN5yC9MKJKfUAtU5NmafmowELzZKXo3pbS1h2Unqeyw9BShTz4ZxNVt9ZG5TTLJAuMHrwLHtXicKpgrhTttkhLA14apZ4tDxNgQkCtj1"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 21600,
- "faults": 0,
- "hard_faults": 0,
- "key": "21QJxGctSJrgaF7qrnKQXbqDsNanHJZT7TjxA9SjSdPRijRf7MJ8Rze3oxSKzKYdDquDDgLmgDu2EPtYVmYkEbb9gKo8YdtP9uN2ZzeACVNQbEvBLz3RUCyo2zEhNsqnB5Y8",
- "locked_amt": 0,
- "reward": 14831422906,
- "owner": {
- "Account": "21QJxGctSJrgaF7qrnKQXbqDsNanHJZT7TjxA9SjSdPRijRf7MJ8Rze3oxSKzKYdDquDDgLmgDu2EPtYVmYkEbb9gKo8YdtP9uN2ZzeACVNQbEvBLz3RUCyo2zEhNsqnB5Y8"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "21SQ3HyThUvJUAtn3cfYUAisdw9h25DCp5hT2vzeiiQrvjGpmjsZKmbMMQTFSfU3EsEYtLqncXhVRkxnapwYrjYmR1tVdx3xE3nz2UkxSD1L34E1aTCoGqqZek9TfmSTQ5Sn",
- "locked_amt": 0,
- "reward": 7043130493696,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "21kVjRYLmoPy3WGK8h2TrVxVYzWT5QZfpMD9JHwAALkAVbvGLGETJxPmZuMDZNLxXUkebsyCRXSzxgNAvoiMxaYX2mFwm6RnYHrg9z7iUV2uX3ZJwKk5oHHYvSvHtzdEhPka",
- "locked_amt": 0,
- "reward": 7192222581053,
- "owner": {
- "Account": "21kVjRYLmoPy3WGK8h2TrVxVYzWT5QZfpMD9JHwAALkAVbvGLGETJxPmZuMDZNLxXUkebsyCRXSzxgNAvoiMxaYX2mFwm6RnYHrg9z7iUV2uX3ZJwKk5oHHYvSvHtzdEhPka"
- }
- },
- {
- "amount": 4500000000000,
- "eligibility": 28080,
- "faults": 0,
- "hard_faults": 0,
- "key": "21kpiMmStRRMSwV9C2NQ5J1p3kWiSKyjHFUZHw7Jk4GfPEgdnAJGr3UPwqqncYTQA3xuG3bEWoBoDyDULAe88BVxfbWopLbcuHiSoaUq4hRMAdeKeE5TreePkYrQ8GkTaQW3",
- "locked_amt": 0,
- "reward": 3413845903,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 43200,
- "faults": 0,
- "hard_faults": 0,
- "key": "21q1TvrCkhN69R9hujX2gt4xxiDetZjmjj2r519Vvp7smiSRukNnnxosrS6sWrzgMPGrNWAciQT3faDrDGkqNJdyEfjYi5C1dniBo3F6pzzQy6nVPsbL7Fqe2BYSWVHZjNyZ",
- "locked_amt": 0,
- "reward": 372326232,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4888000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "21qyUCtnGwCKHKb42jZak8771rAavhcqNaHkDZsvrSb7Vq6zSBEivSL4kDk7VBFs234WvCveUtHaqSxdu98s41K6sAu8hno3n5jzcLwhm9E4SAwCNf8q2KBaGzmXCRgANpoz",
- "locked_amt": 0,
- "reward": 49013517348,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4950000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "21zbWCbNJBpp6wBZ88cUGxD2ywSHthXEoBnz2hGbBShMnmJj8BbYbf4DM1ZZmRktd15XftQTVj6dv717LxKnXtAKFoUfN2tSBec1R1E2zWZibnRaUqR2WT3YfYc8QX2mSQiE",
- "locked_amt": 0,
- "reward": 17240988191,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4900000000000,
- "eligibility": 10800,
- "faults": 0,
- "hard_faults": 0,
- "key": "2262WQqqiFonBaKtdKdsAxurcYuD3Ag5C6QAfZXQXq6DwufZUbFP5CEvU6hYAvURQWY2iRmfQZD2HqniuYFqXTFE1R2wjBkoy7zNY9GWzduegdzTBYk5PpxT5W8t9U3P29xU",
- "locked_amt": 0,
- "reward": 114727950696,
- "owner": {
- "Account": "2262WQqqiFonBaKtdKdsAxurcYuD3Ag5C6QAfZXQXq6DwufZUbFP5CEvU6hYAvURQWY2iRmfQZD2HqniuYFqXTFE1R2wjBkoy7zNY9GWzduegdzTBYk5PpxT5W8t9U3P29xU"
- }
- },
- {
- "amount": 4000000000000,
- "eligibility": 38880,
- "faults": 0,
- "hard_faults": 0,
- "key": "226JM6nXE6JjybjeJrKKjnqUe1J7RGxXoqJmnxztqfftcfwYNjVTQwCE7zFFFtxg7pcoK77yxwZFFi5aSyM1tq2Y2HiD1Hu1dHUBvzwG4XVtZB9bjEKm8ySP3rsfoxTqMacu",
- "locked_amt": 0,
- "reward": 1256601033,
- "owner": {
- "Account": "226JM6nXE6JjybjeJrKKjnqUe1J7RGxXoqJmnxztqfftcfwYNjVTQwCE7zFFFtxg7pcoK77yxwZFFi5aSyM1tq2Y2HiD1Hu1dHUBvzwG4XVtZB9bjEKm8ySP3rsfoxTqMacu"
- }
- },
- {
- "amount": 9990000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "22ATFnKCenVfSyZ7Wxfvy9aYSx6ff6aPGLKX7ndnMCLKpsfRG1r5a5psy6PZNH3Ye1rkg2GsrGTHoNBP3hovNcJVyrNFNCPFMKzAe2PTHfUTJ6yupjSHwKifh28jtJWCMvou",
- "locked_amt": 0,
- "reward": 62522807257,
- "owner": {
- "Account": "22ATFnKCenVfSyZ7Wxfvy9aYSx6ff6aPGLKX7ndnMCLKpsfRG1r5a5psy6PZNH3Ye1rkg2GsrGTHoNBP3hovNcJVyrNFNCPFMKzAe2PTHfUTJ6yupjSHwKifh28jtJWCMvou"
- }
- },
- {
- "amount": 4000000000000,
- "eligibility": 23760,
- "faults": 0,
- "hard_faults": 0,
- "key": "22Y2adibhscn7noPkrv4cpiNYmV3Ft2d9WQrRygrttZhnFic4omqm9x1ViGQmm1voC71q99PqyG1SVrv8TFVgV84qx5babCVYdwSrESwFXL3NSeYs8ToiYZEYcQhZNmW8zM1",
- "locked_amt": 0,
- "reward": 29026385350,
- "owner": {
- "Account": "22Y2adibhscn7noPkrv4cpiNYmV3Ft2d9WQrRygrttZhnFic4omqm9x1ViGQmm1voC71q99PqyG1SVrv8TFVgV84qx5babCVYdwSrESwFXL3NSeYs8ToiYZEYcQhZNmW8zM1"
- }
- },
- {
- "amount": 4750000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "22cV6z47RkVLMpimfQPeouFwfi8HUHXsG9tRvZq6AwyBETPuqFyxsrgrbEp3UnnaiN6719KjEFfbKijxDfLsCUrEpj4KC2N9CzYBdCA2mZkeKBC8hSBt7zWnVCrWusE581pv",
- "locked_amt": 0,
- "reward": 46959650586,
- "owner": {
- "Account": "22cV6z47RkVLMpimfQPeouFwfi8HUHXsG9tRvZq6AwyBETPuqFyxsrgrbEp3UnnaiN6719KjEFfbKijxDfLsCUrEpj4KC2N9CzYBdCA2mZkeKBC8hSBt7zWnVCrWusE581pv"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "22e4nDy3SHN1z6EQj7hQ9qwBASfoEXZ7PWgK1xYZGFsPXSNEBHEB4ntcLnDpYpePbjsuLFAUQC1YXTJdJN3bq9Gr6bwe24UiPXhZgxSHZPHspCeWTeoPiopw9zHkbhwBecjc",
- "locked_amt": 0,
- "reward": 6685578690172,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "22exgqwRRtryBxVT7f7xC27fBkcHjUbAA3BxqL9ySqDguJAaWY5UWtgVkcm3o8HE1Tf8qcfXNpBt7ezva3pLSaygVrrdnRktF4stZMDoLnUhy2ej1hnoKP91TyQrumkbUU4n",
- "locked_amt": 0,
- "reward": 7066191295983,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "22kT7LispVSAf7QVMukLaTTQC7yMdVja2FUvGaSqGgqfeFmHwk5CEzYYza82VR4pi5wLPQcQCkZzhpLT4ZftrjdxM5e3X7F7P1T4xTpS1WjSYL4jmeXe4ShMNgTxaC7zzYqx",
- "locked_amt": 0,
- "reward": 1707022241,
- "owner": {
- "Account": "22kT7LispVSAf7QVMukLaTTQC7yMdVja2FUvGaSqGgqfeFmHwk5CEzYYza82VR4pi5wLPQcQCkZzhpLT4ZftrjdxM5e3X7F7P1T4xTpS1WjSYL4jmeXe4ShMNgTxaC7zzYqx"
- }
- },
- {
- "amount": 30000000000000,
- "eligibility": 54000,
- "faults": 0,
- "hard_faults": 0,
- "key": "22nTqwGqBUcbwXbuuQFpjZtjsFtJhRqktYavVdBASaor7tpcQLNcpLC7S2QRArCvw9hDYa7rNcb3jsJZzeLw7C9Kk56qT92bAFi6P4bpSqKvBtRHMCHJWmEaNGotZvGMYBGU",
- "locked_amt": 0,
- "reward": 148676341284,
- "owner": {
- "Account": "22nTqwGqBUcbwXbuuQFpjZtjsFtJhRqktYavVdBASaor7tpcQLNcpLC7S2QRArCvw9hDYa7rNcb3jsJZzeLw7C9Kk56qT92bAFi6P4bpSqKvBtRHMCHJWmEaNGotZvGMYBGU"
- }
- },
- {
- "amount": 2494800000000,
- "eligibility": 51840,
- "faults": 4,
- "hard_faults": 0,
- "key": "22sM1aodiz758CdgA6FyDAa9zqKPrVUSdgZgwKZvGEYj9RGCZAubZEp4mMQKyWV8vwS11wWso6RU4wiMsgL6LuUnKM5zyNMW3nEoSBpBPucoaKyDw2W7W5rrCYW1i7xj1s1R",
- "locked_amt": 2455200000000,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 14700000000000,
- "eligibility": 54000,
- "faults": 0,
- "hard_faults": 0,
- "key": "22tKrP4yhaGqq6AxvtPCQyMPXHQMsNraVi4ZQLyHnfcj1fF1zWFZG2LHcDaCCxLJ7btE2dkg7U8CEzUNFq95HhBKDvx9CfWiaB4BW6Zgwikj5oEoHBCNBjhE34cY3ZrFxM7K",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "238cmghibzsNoAhVYsXfmmgv4MCN88PWQMcmUTSbvTXJ1uFpqi4ejo74eNZQnve1xbwiLREyo4p2kReH49vV6gi6Wf137chzfiCMoG18LHBkTVxrwxWEinAyeQmd2QiVitV8",
- "locked_amt": 0,
- "reward": 7545523161920,
- "owner": {
- "Account": "238cmghibzsNoAhVYsXfmmgv4MCN88PWQMcmUTSbvTXJ1uFpqi4ejo74eNZQnve1xbwiLREyo4p2kReH49vV6gi6Wf137chzfiCMoG18LHBkTVxrwxWEinAyeQmd2QiVitV8"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23Bgd58Xr999Xt7cgh671Lr77H3en5C8SjMfg41NJEnvL7hyZdo7YUPtVHM9fLoT9jCNRnJXmMMeeL3B9Q7JMCPL6ByjEDJUPzruabShyfSZpNAd16rnJ34i4wNx9Biic8QN",
- "locked_amt": 0,
- "reward": 7880699523860,
- "owner": {
- "Account": "23Bgd58Xr999Xt7cgh671Lr77H3en5C8SjMfg41NJEnvL7hyZdo7YUPtVHM9fLoT9jCNRnJXmMMeeL3B9Q7JMCPL6ByjEDJUPzruabShyfSZpNAd16rnJ34i4wNx9Biic8QN"
- }
- },
- {
- "amount": 4000000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "23F5qFXPz725XUY1mMy6KtJmgUJPDEpgW3PntEUTvKJUcoBnFy8EC1L8r1RgiGUVRsLbYPcoQNVBzQjuNqyzCPmZ3PGu7PnjYvDijqweTJg4b6qHqNvGMvmWedJQcdLuLhRL",
- "locked_amt": 0,
- "reward": 87840299414,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 21600,
- "faults": 0,
- "hard_faults": 0,
- "key": "23LC6tza4TTm954oAXKHUdK7Z8RwVj6JtUTz6wc8Kni1s5f4tfPrFY5bD1XNuASKDf7NRHnUfbmycYHXVx1moTN6fr5zimBgnGAvRCAXTsyQFnDUG42LUu5oT8oCiKdrpnuS",
- "locked_amt": 0,
- "reward": 995135577,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 49680,
- "faults": 0,
- "hard_faults": 0,
- "key": "23Xa3P7xtJxW3zYRjfiM1yRSQYN1Vt6aZ1V2gH7vnJkxBjEMvLz8dCkwvqQdraL7NGf9Asc1AAujEMabUz81wa3NizVDXy4ZqEWVb36URnYzTMjqPCVBbLcWZujGzAvwJiN2",
- "locked_amt": 0,
- "reward": 46540779,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23XeH9YWf68FhQX6wdHBjrdz4Yu2N9DuubrthX267FcdWaqPRyKwTnvYa2xRTaEJG2LBY96XzG4NRStHktt2ETZitSRN7ZjoKAe43EFKEZfCge4MCgoWYfMptWSqE9sZUzzE",
- "locked_amt": 0,
- "reward": 6880069718934,
- "owner": {
- "Account": "23XeH9YWf68FhQX6wdHBjrdz4Yu2N9DuubrthX267FcdWaqPRyKwTnvYa2xRTaEJG2LBY96XzG4NRStHktt2ETZitSRN7ZjoKAe43EFKEZfCge4MCgoWYfMptWSqE9sZUzzE"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23aykwjPGYfhwqkSWksDs1TmU2zkBgMn339shztJ14oXkUmwMcS1E7EMUaCg7HKpdAP4e3NuNruEEeN36t88f6oinwUPNaJqkTtLnPjH4yt2QJsssgpD8BRyusoLADWG7i5h",
- "locked_amt": 0,
- "reward": 7268548444440,
- "owner": {
- "Account": "23aykwjPGYfhwqkSWksDs1TmU2zkBgMn339shztJ14oXkUmwMcS1E7EMUaCg7HKpdAP4e3NuNruEEeN36t88f6oinwUPNaJqkTtLnPjH4yt2QJsssgpD8BRyusoLADWG7i5h"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23fAnih3A9TtZLmwBggRgjGHsEB9qyVTq25C1LahSVH2LigFdjLxveccFgnfQPxWUmMFLJDh8Ptd4NivosEK6pDZoAb48EirBaKqDEExh75iXDsr6k8hjFxV2hJhfGtYLFGr",
- "locked_amt": 0,
- "reward": 7217958614485,
- "owner": {
- "Account": "23fAnih3A9TtZLmwBggRgjGHsEB9qyVTq25C1LahSVH2LigFdjLxveccFgnfQPxWUmMFLJDh8Ptd4NivosEK6pDZoAb48EirBaKqDEExh75iXDsr6k8hjFxV2hJhfGtYLFGr"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23gx8TwJPoTxFppny5Py7JwH5bGSFfZq5igPYDgoJEg2qhzVgXAsGKsspfB3yWY7k428dH2yhyoXM8LB4vzvRBXmdUsMpYhWc73yvsHaBkwQqcvrZzJRUF7zxEMP5DKVzAFJ",
- "locked_amt": 0,
- "reward": 7469596802275,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23hcRjNqzKUhcHevbiP24NThLLbCjMXDFdwFXqgLjmx5cheXE6drSuSiuvvaSc7rbnbR2Yb1NY1x3276WVp47nFUM2ygmmERC4cxuF51aMqu75PVanouxfgmaHtFHjcHoHjj",
- "locked_amt": 0,
- "reward": 6776178368237,
- "owner": {
- "Account": "23hcRjNqzKUhcHevbiP24NThLLbCjMXDFdwFXqgLjmx5cheXE6drSuSiuvvaSc7rbnbR2Yb1NY1x3276WVp47nFUM2ygmmERC4cxuF51aMqu75PVanouxfgmaHtFHjcHoHjj"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 38880,
- "faults": 0,
- "hard_faults": 0,
- "key": "23izEEyhMKzmgR7J19vNtH8BDwafGib8XKEsc9NMmBLzLAhuMkqA3tx8ZYDLL2bY7jWNySkUHSg8YBQT1ZpYzEswY3YrtTTw12CzRPYyTUWjwKx8zhffUDPYCuPJpNXiAjUi",
- "locked_amt": 0,
- "reward": 325785453,
- "owner": {
- "Account": "23izEEyhMKzmgR7J19vNtH8BDwafGib8XKEsc9NMmBLzLAhuMkqA3tx8ZYDLL2bY7jWNySkUHSg8YBQT1ZpYzEswY3YrtTTw12CzRPYyTUWjwKx8zhffUDPYCuPJpNXiAjUi"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 32400,
- "faults": 0,
- "hard_faults": 0,
- "key": "23soQKcC5qPi4eEhRsY8saEknqQGm24yXmyZDgrv7dF2LvXpLMhsm39Cfg3zahNwmgf1bpUHkHBAjMsbD3P7UNPvuGVUYvBLX4yvmJT7BtagrKJ8JQhVw78azNsfw4GCy5Fa",
- "locked_amt": 0,
- "reward": 667511609,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "23ws1motGfNRuZ4PJxN9DHnQxLTHMuKFfU97zgpFevcNXpbhesd7e5T2uxDc95tYkY2tgJC3EYfFjJXvRYFK2E2n8ogTjSW5NWurv1sarywLNGNkKqxzhyvSUsANqdRQBnzT",
- "locked_amt": 0,
- "reward": 7567266204238,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4500000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "23yK4TxQev3oLV9nYFS9PzhppZLDZGJh3BqNHA3uEnP1DtmL95oFE2dLWvY8Fj3gHNxmv9zAkjDkRdZEEgjVo4omyYtaNvDs83kv777NSr2DXhJegkbz1dHurp1k7un8ZR5W",
- "locked_amt": 0,
- "reward": 62054372,
- "owner": {
- "Account": "23yK4TxQev3oLV9nYFS9PzhppZLDZGJh3BqNHA3uEnP1DtmL95oFE2dLWvY8Fj3gHNxmv9zAkjDkRdZEEgjVo4omyYtaNvDs83kv777NSr2DXhJegkbz1dHurp1k7un8ZR5W"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "244Sywxj7PuMHpcPxemaXLcrY5rPgztra6H9Vz8cU1Ro5v23SxKTfVqr2yS7NXAXE1iq59ndn4aMZmYxuzu3Te3e9fokQKTUkYvFxYg2P2E8EEg1gWUbs3AFL2aNx62HQd7r",
- "locked_amt": 0,
- "reward": 7181940088941,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 10800,
- "faults": 0,
- "hard_faults": 0,
- "key": "244h5qgZaU8S6GttT5zL1K56xecr4YrddWLd5HzByB15uhcJS5V6J1m5H5ewTTHJj3ywTMUrbFV8Ku1QpMEVPziLu3fK67Ry7xrcBcpsmG7CnYH2ww1JoVA92Ar22hPjVFZ3",
- "locked_amt": 0,
- "reward": 1057189949,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "248rpHWnGPT3puKGBB4CHdaHDnkFU8vaBNCUzV2bJ7JTyXA875PFPAUaFuUrMvmZd5PmBTPx5FhvBoPcddZhn7f97gmiPEpvs5zHEHbhfmWad176yKGwKkA5pvNDeXfEf9Lp",
- "locked_amt": 0,
- "reward": 7281601926239,
- "owner": {
- "Account": "248rpHWnGPT3puKGBB4CHdaHDnkFU8vaBNCUzV2bJ7JTyXA875PFPAUaFuUrMvmZd5PmBTPx5FhvBoPcddZhn7f97gmiPEpvs5zHEHbhfmWad176yKGwKkA5pvNDeXfEf9Lp"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24APW8dZ91iy4kwVAFAZ8rDRg8tZtLuurUB2aERXUKRj5tEMQQhTHQp2p5oxKtZNrpcWUKidK6u9tHTSZy9mzWnKtwu5Hnf1s42bdG4tcZw8edJPzePVWRytGoUXMHmuWWG3",
- "locked_amt": 0,
- "reward": 7080292530410,
- "owner": {
- "Account": "24APW8dZ91iy4kwVAFAZ8rDRg8tZtLuurUB2aERXUKRj5tEMQQhTHQp2p5oxKtZNrpcWUKidK6u9tHTSZy9mzWnKtwu5Hnf1s42bdG4tcZw8edJPzePVWRytGoUXMHmuWWG3"
- }
- },
- {
- "amount": 19995000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "24LaJTrgM9dczt1eRXjxeTdg1pGoyiGTGqWmdQrTfN8XwXD61ooEGiifhMDFcRZ6ZJyuniwwy9GtUUQAxzkGT8YHF71NrUn9fnaaBNfMCDZTpnmkK4JihDyuPoSLjQQDPbzE",
- "locked_amt": 0,
- "reward": 51527623616,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24Qzcp49pQt8Rb1bWf65Yq76QysTfyQKUZh7C219345iD6eYfHKptxxAKrqGYLFXKUci3NR5FbLhFjmLnL4jf249hwZK19gY2nqKESbSyfkMVMQHpS5dVVcN2my1KWR3jha4",
- "locked_amt": 0,
- "reward": 7472061603093,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24TMiKLMRMv8BJFoGxHGVcHQoqkoEhcEAFDvBmM6iQ6TK3oyeiXSTYdQZSvad8AYaQcfvLSetJg2urFtDJJu5WgakYoXzm2HdwuotouiFCBdWsKe8dVhZgN7ERYhcxKr7LTd",
- "locked_amt": 0,
- "reward": 6977070492446,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 15000000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "24Ujm5AZ1JfSXe1PsVohP4aeuFRRM3TY9sHVULR5WKh7qkK5JxVR7xJBSEFDd81bsFtTFXq9ANuiEEF9jZRVDVHEWSXVmS249fkgc3KnxWse2wrQrVGLmDLzNtySddyiJuCS",
- "locked_amt": 0,
- "reward": 248217488,
- "owner": {
- "Account": "24Ujm5AZ1JfSXe1PsVohP4aeuFRRM3TY9sHVULR5WKh7qkK5JxVR7xJBSEFDd81bsFtTFXq9ANuiEEF9jZRVDVHEWSXVmS249fkgc3KnxWse2wrQrVGLmDLzNtySddyiJuCS"
- }
- },
- {
- "amount": 19500000000000,
- "eligibility": 47520,
- "faults": 0,
- "hard_faults": 0,
- "key": "24YAJKhrrTrjYAiFD1m5ezRLZHsRPcSSDRMZhxbtsZPpBCM8usafREJWuzZn2hZHZqL1BQyDkGa3BiQ8T6CLfnXBLzjhFLq32djemxUwkuPq2eXEaZw3XrGxoNBGnUw47cJo",
- "locked_amt": 0,
- "reward": 3180286565,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24YhQRLs3Yv9ChjpwshFQAFqxmYNMzvFynpcGvEYXUCz33whjrQbX4yRvMwSTL5vEivpx8Enm8cxhDeGxXkQRrxtkzZ1WERnBLtz4JsBf6m5QmQzUziTKiofZnRHFRm5zQ1z",
- "locked_amt": 0,
- "reward": 7276764391833,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 23760,
- "faults": 1,
- "hard_faults": 0,
- "key": "24bFF8fUoMPZ5JVfdFrcQUea81um2yieXb2v8Q3mWgpHCNRiStP11tYdpgHmQAi7yu6pru8ywsAhEbxRTGnLhw6VYnT3iQKtSi6xPka5XPRRAfFmwP99GxgA1b9c5yWYVQB7",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Account": "24bFF8fUoMPZ5JVfdFrcQUea81um2yieXb2v8Q3mWgpHCNRiStP11tYdpgHmQAi7yu6pru8ywsAhEbxRTGnLhw6VYnT3iQKtSi6xPka5XPRRAfFmwP99GxgA1b9c5yWYVQB7"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "24bfNr8MDUo5xJBecmeGzXDEraax4Cmbnhjyyt5GaL1Vbe6H48ZSYTpmjRDcFRDFzgzuePAPUNcdGMnBzBQBk4zAMgBCtPsY27tBJtKmB1st6qcmpzRR4Er5imxrzvMRnfWc",
- "locked_amt": 0,
- "reward": 7558684314227,
- "owner": {
- "Account": "24bfNr8MDUo5xJBecmeGzXDEraax4Cmbnhjyyt5GaL1Vbe6H48ZSYTpmjRDcFRDFzgzuePAPUNcdGMnBzBQBk4zAMgBCtPsY27tBJtKmB1st6qcmpzRR4Er5imxrzvMRnfWc"
- }
- },
- {
- "amount": 4000000000000,
- "eligibility": 4320,
- "faults": 0,
- "hard_faults": 0,
- "key": "254ZiKWavWqYmoo2jw2QpGXtkUZs9nYY2dVbSkKeHpGiWPxNJfwVyp6erZLcuuad4fRTzyqvyRT71fLQ3UdSHfWUPVckWP9GaJX2pee7F4mgq3UGThncSx8sNvjW47gHPWd5",
- "locked_amt": 0,
- "reward": 1225593829,
- "owner": {
- "Account": "254ZiKWavWqYmoo2jw2QpGXtkUZs9nYY2dVbSkKeHpGiWPxNJfwVyp6erZLcuuad4fRTzyqvyRT71fLQ3UdSHfWUPVckWP9GaJX2pee7F4mgq3UGThncSx8sNvjW47gHPWd5"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25A9dZXaWhLsPtgyfxNtdqpdrNkHzk7C3mJxGgq64NrRd5HhAQab59n6H5hLjkQgJvJWZbuZEm8GQ4UvtdRzXzB6nt8CMHWaNURLmhTzCnxuxCmJf5ws5WxiSUEEUHxaCYvb",
- "locked_amt": 0,
- "reward": 7607325040606,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25HZa8omGsExfeeGBcege198RY5mx9fpGsuA3rDUamqCr96tBeprRbm1d1YL1Mr4HXi1YuFJ1ozH9CFRSauaEigtEatc7t321KffgxzFXRQaE8DD83P7NphwANV3jVhFdYa7",
- "locked_amt": 0,
- "reward": 7410817629537,
- "owner": {
- "Account": "25HZa8omGsExfeeGBcege198RY5mx9fpGsuA3rDUamqCr96tBeprRbm1d1YL1Mr4HXi1YuFJ1ozH9CFRSauaEigtEatc7t321KffgxzFXRQaE8DD83P7NphwANV3jVhFdYa7"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25J8LTkT3fj2a5qeRvxCRiXgakMqivtmB4iLzfJqrS3nvtpK1KEZcWrybMcRb7pgmcVepQTEoxTBQwHTvo9ZC7wrXyUVcpGrBSvJwxJxNYM68N8VwwWaBzjgnFTDEEy3hE3H",
- "locked_amt": 0,
- "reward": 7301740226967,
- "owner": {
- "Account": "25J8LTkT3fj2a5qeRvxCRiXgakMqivtmB4iLzfJqrS3nvtpK1KEZcWrybMcRb7pgmcVepQTEoxTBQwHTvo9ZC7wrXyUVcpGrBSvJwxJxNYM68N8VwwWaBzjgnFTDEEy3hE3H"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25KnsEoBhedA6Gnyx67c2i69h3iYJFErFdKVWZygVPgsyc7b5Hz1X6pP1NUREt9DQ9byVxkHtwmoG1Lhirr1QGG1vLLEd6AT8k5HWqZSisqvPexAzzxX63xCGwkW4ZiR2AhL",
- "locked_amt": 0,
- "reward": 7913298597306,
- "owner": {
- "Account": "25KnsEoBhedA6Gnyx67c2i69h3iYJFErFdKVWZygVPgsyc7b5Hz1X6pP1NUREt9DQ9byVxkHtwmoG1Lhirr1QGG1vLLEd6AT8k5HWqZSisqvPexAzzxX63xCGwkW4ZiR2AhL"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25L2qjS7difo6T1PW871rjnqjQenGCYTVmNZGAoJBqjdaBDNpbJyfo6x16kHjiwaB1eP4k7JzFhz7BCxE83xeYKDAU6rZDr3JeMsTrnJHTfcSCuuskbtL3xhW99qJjG53cQM",
- "locked_amt": 0,
- "reward": 7081272543114,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25MjwFViKFCofcwqP9z7Em7hLzx9E9tou7tS9X3SDvzJvRWUixMZmHWQMDNnJZNN8PdzLBy9sj3wjscR4aADVNM7WqMnGfZxNdRAh4nWdW5wpAH8Dqn2hGTLE6kCUcKSMZE4",
- "locked_amt": 0,
- "reward": 7339003398621,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4900000000000,
- "eligibility": 6480,
- "faults": 0,
- "hard_faults": 0,
- "key": "25Q7QA1w5MS3cJaurwu7YnezymMt4gt8JwjLdRwUFfF8BLCERdSNpDfNbV54R28GFzPP5vjBPnw1iUYxSaomSdXa64FwZz4XgaZcEeF3RB5jn7Spvbe9qXAMf9grR6vAi5p1",
- "locked_amt": 0,
- "reward": 103836672999,
- "owner": {
- "Account": "25Q7QA1w5MS3cJaurwu7YnezymMt4gt8JwjLdRwUFfF8BLCERdSNpDfNbV54R28GFzPP5vjBPnw1iUYxSaomSdXa64FwZz4XgaZcEeF3RB5jn7Spvbe9qXAMf9grR6vAi5p1"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25RHcLU8DPEnZm2iXy9qvQj5aDCcpE4B9KJT9VGZS24Qsv3vpbrN7b72Wj7YBH66aXNjm6i2URSQQnpdvQLFp6R7Jt85b8DJVHFrQHvhH35Z2xQXqtLk4Whgng6N4gqgq9h7",
- "locked_amt": 0,
- "reward": 6931001245450,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25h5BvLgTAJ57DS4z4fuBJhj17k4iBfEQT6YMbzWPWuFfhUufVfU9ryohapjkA7rkb7xBtCfULZic2eJmCGssKdW2DCfBez26yXUy1qhRBnLQ4QCFadfM96tbUURoVYyYfWJ",
- "locked_amt": 0,
- "reward": 7241109562888,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25hHuGqH6MU67syGovZD2L1eEBypLb7fCV2Q7inVWSYSWqto9Yr962rfsUjL5WZjGBwa9EkFf7eBcouKRKNvhYrm7LPRQk6k4JR45KtnKUjXgdDTsmYJ4G49V4o3pT5aGdMP",
- "locked_amt": 0,
- "reward": 6811442642016,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 3528000000000,
- "eligibility": 56160,
- "faults": 3,
- "hard_faults": 0,
- "key": "25iyRWkrjAy6XKcroW4JQNxkoitsN8HsgDbCyP1gUYXrfLVJaTDKjeTsVEWniw3o316ADgEecWpcSkMBrFaztbvDMRJu3HwNyTpP3E8v4ecAQF3sXGVFvFVZsbxUibGqJFvF",
- "locked_amt": 1372000000000,
- "reward": 0,
- "owner": {
- "Account": "25iyRWkrjAy6XKcroW4JQNxkoitsN8HsgDbCyP1gUYXrfLVJaTDKjeTsVEWniw3o316ADgEecWpcSkMBrFaztbvDMRJu3HwNyTpP3E8v4ecAQF3sXGVFvFVZsbxUibGqJFvF"
- }
- },
- {
- "amount": 14900000000000,
- "eligibility": 54000,
- "faults": 0,
- "hard_faults": 0,
- "key": "25qis7vbcPSTuxaAtrmidrjQ2uHrwJ2LTmZTzDJDiytTnnFg67KDgDE4bmPJYatGDH9RcaM194eHZUUUQQ8VPhUVN6yzFH8KxVUWU3CYw2i9dEWtjigRSJ4mnhAvsZzBMo9V",
- "locked_amt": 0,
- "reward": 1256601106,
- "owner": {
- "Account": "25qis7vbcPSTuxaAtrmidrjQ2uHrwJ2LTmZTzDJDiytTnnFg67KDgDE4bmPJYatGDH9RcaM194eHZUUUQQ8VPhUVN6yzFH8KxVUWU3CYw2i9dEWtjigRSJ4mnhAvsZzBMo9V"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "25yVrGJKTjZzfiHewWbShsU5s2CpuUGfqG17YLt2sf158fc1EJJEYHnPJKFPjoTXYxe1jJymaYoRbnZ1hSCa1uvdsox36mgoKiBQsw2pVUbWmodz5D2EBzrtBKABBKkrChbK",
- "locked_amt": 0,
- "reward": 7127400279825,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4990000000000,
- "eligibility": 51840,
- "faults": 0,
- "hard_faults": 0,
- "key": "261taMMBXpRG7T74sHjLyJLyag55JqFKwkfBs9S8NVKLjsjFUT7nJvkxCjd888kyMdEaesKZ9CDrdYRfJ4NwSMLsYo9rXpyqd7utDf73P81Shj1TDdCvAJdmY9ScyEGsQpMJ",
- "locked_amt": 0,
- "reward": 527462162,
- "owner": {
- "Account": "261taMMBXpRG7T74sHjLyJLyag55JqFKwkfBs9S8NVKLjsjFUT7nJvkxCjd888kyMdEaesKZ9CDrdYRfJ4NwSMLsYo9rXpyqd7utDf73P81Shj1TDdCvAJdmY9ScyEGsQpMJ"
- }
- },
- {
- "amount": 4900000000000,
- "eligibility": 30240,
- "faults": 0,
- "hard_faults": 0,
- "key": "262ZminCbPCFP6Cq5LfzWd8h58CJ1dRKKmV59RVYRhug4ymFFZ94sTzDqQhKKQj4Ef3a8SBAP1TcfM15HCGTEeaT3jHeFJwHQS3agTbcjVTcsPzfg5cgmsSLHkSBfJ3ret9Z",
- "locked_amt": 0,
- "reward": 58878012343,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "2681cRrpmrN17r1C1jNKNqAL6xc7mCTNu9qwhtjTVNHiaVioqowCcTcMqXcmYuqpG8c22bPqKWDRfRmzcfSnLLA9GG5jdgBhmoQxSAqaXMUL2Ee5LAGMB5RJycuUcDoHTCwY",
- "locked_amt": 0,
- "reward": 7662628745173,
- "owner": {
- "Account": "2681cRrpmrN17r1C1jNKNqAL6xc7mCTNu9qwhtjTVNHiaVioqowCcTcMqXcmYuqpG8c22bPqKWDRfRmzcfSnLLA9GG5jdgBhmoQxSAqaXMUL2Ee5LAGMB5RJycuUcDoHTCwY"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26DsWXiCrNxkmCZ1zfCh3XTE2cXqf4NEPGGRMU39vZhNYF6hExrRrzN4nETVYduLuiRAHmtonkP6TvtVnhf9v5YcksgUfhHY78dNgCTSZs9WgHjN4NP2QRiybAaH3xUGeatm",
- "locked_amt": 0,
- "reward": 6792420959548,
- "owner": {
- "Account": "26DsWXiCrNxkmCZ1zfCh3XTE2cXqf4NEPGGRMU39vZhNYF6hExrRrzN4nETVYduLuiRAHmtonkP6TvtVnhf9v5YcksgUfhHY78dNgCTSZs9WgHjN4NP2QRiybAaH3xUGeatm"
- }
- },
- {
- "amount": 450000000000000,
- "eligibility": 10800,
- "faults": 0,
- "hard_faults": 0,
- "key": "26KjFyAKT9sMsASS2GTdrAgBswwwUvDAWwRdHWz2Hxp1BLa5VaD5LPAEPocHzsV4CEq3AM66qhUPAsB45FjsYzJB4wVU55ibUT3CNY8SxTgRfbVBpy5BSa4SDmZ7xff7cFJH",
- "locked_amt": 50000000000000,
- "reward": 5972684252228,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 360000000000000,
- "eligibility": 58320,
- "faults": 3,
- "hard_faults": 0,
- "key": "26LZQDrSNPHgv5HkBdFhYr5TEm3y9zDwceotnywHg9Dproqd3yHymHZskEFxjSStfyyqNo1vvAF1h4nEXEy378W87EQ1p7EC9rfES65C6xGQDS7ujQCAPMoQBp3F6dopZk4i",
- "locked_amt": 140000000000000,
- "reward": 7310999841539,
- "owner": {
- "Account": "26LZQDrSNPHgv5HkBdFhYr5TEm3y9zDwceotnywHg9Dproqd3yHymHZskEFxjSStfyyqNo1vvAF1h4nEXEy378W87EQ1p7EC9rfES65C6xGQDS7ujQCAPMoQBp3F6dopZk4i"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26LsKrN6Rk4UPALU6msRjkdu5tdSsoNtudcMSvz8Xa2jmp6gDCv964yf7rq4SC4bHDCuoT28KBS8989WfTjBuxTdYqQhCswDL1MiDhXBvraiWPX9Hjhvi1X4pbs757sHYXGb",
- "locked_amt": 0,
- "reward": 7084882997029,
- "owner": {
- "Account": "26LsKrN6Rk4UPALU6msRjkdu5tdSsoNtudcMSvz8Xa2jmp6gDCv964yf7rq4SC4bHDCuoT28KBS8989WfTjBuxTdYqQhCswDL1MiDhXBvraiWPX9Hjhvi1X4pbs757sHYXGb"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26N7gdQRjgw9atu8nN5ua1bfxBp7kdNvE5BRHUvaMFGjwrNcRrDNedhK2RrqVooRJ8SMGi1iYiW4Wnysx4SMcbUPffwNeY4T1wQLt5ESdYjh91exuhR15S9c3o7Eu6EZNudz",
- "locked_amt": 0,
- "reward": 7122737082704,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26TVUnyxdYwX3Sipc2RLAwGnE6gLHW86sudf2HU3xP8S7NbAoiJDUE2XTn1FaEKV32FvZpCf9SjsgkYatddn6BsoBhMTmXyd1TMpzgFyJ8rGNXNN2R9LBuHfCXoXXj3MtNJr",
- "locked_amt": 0,
- "reward": 6873120849995,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 12960,
- "faults": 0,
- "hard_faults": 0,
- "key": "26ZZshg4skq2rrJQMw4WuXe9igNvUFeZtxBQw9qii3wZu4GKRjMoAxKGRefBoR1vy4Cs6vPihSw9iPBzVy4EBu8m2CaMemPSD3gwr8VFzTkqMoBEjs5Tr5et1rirWmgevM76",
- "locked_amt": 0,
- "reward": 28762941510,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26brdzqNXEG1jTzCubJAPhks18bSSDY4n21ZW6VLYkCv6bBUdBAZZAbn1Coz1LPBYc4uEekBbzFnZvhL9untGCqRamhZS2cBV51fdZog3qkP3NbMEaqgNMcKEahAFV8t2Cke",
- "locked_amt": 0,
- "reward": 7630941111854,
- "owner": {
- "Account": "26brdzqNXEG1jTzCubJAPhks18bSSDY4n21ZW6VLYkCv6bBUdBAZZAbn1Coz1LPBYc4uEekBbzFnZvhL9untGCqRamhZS2cBV51fdZog3qkP3NbMEaqgNMcKEahAFV8t2Cke"
- }
- },
- {
- "amount": 1000000000000,
- "eligibility": 32400,
- "faults": 1,
- "hard_faults": 0,
- "key": "26p1CyNua6GzUW5gaLZY1suFiThGbZEEuLKJMXH1NsuQbd3tFwq2wLAMd7vMP5fhD3M83yA1GtzqqmqiwoHpJ5YXamCfjYfj6Jkq6fhGc2xtFFXmVfWC3tVoz3qd3yqSbUgu",
- "locked_amt": 0,
- "reward": 0,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 4500000000000,
- "eligibility": 25920,
- "faults": 0,
- "hard_faults": 0,
- "key": "26q6wyM9QDhY9k5eZkCRRDaSkHXPzQKYxvPVSEcTYW2sPdzzxdAqP7R7uVxtyNeqQKVypj8kbaQGXYWqYcBg6kAtDTKm84Dxgbj4ZwjqgoWjXb5MS3R6vcXvwBNd51neQn7a",
- "locked_amt": 0,
- "reward": 30968992591,
- "owner": {
- "Contract": "0200000000000000000000000000000000000000000000000000000000000000"
- }
- },
- {
- "amount": 500000000000000,
- "eligibility": 0,
- "faults": 0,
- "hard_faults": 0,
- "key": "26zCm7Hqi4Gv42D39zx9p8tG1aHDuVRaYABpNGdmcusWJchmTRRHtagWFZo76SMyCUui3JvnFRNekNu6WShm6mW9F8uEucUau8H3cCpm1osc4gZLd8WaCaGzWV2gvt8dhyga",
- "locked_amt": 0,
- "reward": 7199704091617,
- "owner": {
- "Account": "26zCm7Hqi4Gv42D39zx9p8tG1aHDuVRaYABpNGdmcusWJchmTRRHtagWFZo76SMyCUui3JvnFRNekNu6WShm6mW9F8uEucUau8H3cCpm1osc4gZLd8WaCaGzWV2gvt8dhyga"
- }
- }
-]
diff --git a/explorer/src/lib/mock-data/host.d.ts b/explorer/src/lib/mock-data/host.d.ts
deleted file mode 100644
index c08a827997..0000000000
--- a/explorer/src/lib/mock-data/host.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-type HostProvisioner = {
- amount: number;
- eligibility: number;
- faults: number;
- hard_faults: number;
- key: string;
- locked_amt: number;
- owner: { Account: string } | { Contract: string };
- reward: number;
-};
diff --git a/explorer/src/lib/mock-data/index.js b/explorer/src/lib/mock-data/index.js
deleted file mode 100644
index 7f0a4bd87e..0000000000
--- a/explorer/src/lib/mock-data/index.js
+++ /dev/null
@@ -1,18 +0,0 @@
-export { default as apiMarketData } from "./api-market-data.json";
-export { default as apiNodeInfo } from "./api-node-info.json";
-export { default as apiNodeLocations } from "./api-node-locations.json";
-export { default as apiStats } from "./api-stats.json";
-export { default as enrichedProvisioners } from "./enriched-provisioners.json";
-export { default as gqlBlock } from "./gql-block.json";
-export { default as gqlBlockDetails } from "./gql-block-details.json";
-export { default as gqlBlocks } from "./gql-blocks.json";
-export { default as gqlLatestChainInfo } from "./gql-latest-chain-info.json";
-export { default as gqlSearchPossibleResults } from "./gql-search-possible-results.json";
-export { default as gqlTransaction } from "./gql-transaction.json";
-export { default as gqlTransactions } from "./gql-transactions.json";
-export { default as hostProvisioners } from "./host-provisioners.json";
-export { default as nodeLocationsCount } from "./node-locations.count.json";
-
-export { default as accounts } from "./accounts.json";
-export { default as tokens } from "./tokens.json";
-export { default as gqlTokenTransactions } from "./gql-token-transactions.json";
diff --git a/explorer/src/lib/mock-data/node-locations.count.json b/explorer/src/lib/mock-data/node-locations.count.json
deleted file mode 100644
index 8d5952f050..0000000000
--- a/explorer/src/lib/mock-data/node-locations.count.json
+++ /dev/null
@@ -1,170 +0,0 @@
-[
- {
- "city": "North Bergen",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.793,
- "lon": -74.0247,
- "count": 15
- },
- {
- "city": "Amsterdam",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 52.352,
- "lon": 4.9392,
- "count": 15
- },
- {
- "city": "Santa Clara",
- "country": "United States",
- "countryCode": "US",
- "lat": 37.3931,
- "lon": -121.962,
- "count": 11
- },
- {
- "city": "Frankfurt am Main",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.1169,
- "lon": 8.6837,
- "count": 9
- },
- {
- "city": "Clifton",
- "country": "United States",
- "countryCode": "US",
- "lat": 40.8364,
- "lon": -74.1403,
- "count": 9
- },
- {
- "city": "Portsmouth",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 50.8544,
- "lon": -1.002,
- "count": 6
- },
- {
- "city": "Singapore",
- "country": "Singapore",
- "countryCode": "SG",
- "lat": 1.32123,
- "lon": 103.695,
- "count": 5
- },
- {
- "city": "Nuremberg",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 49.405,
- "lon": 11.1617,
- "count": 4
- },
- {
- "city": "Helsinki",
- "country": "Finland",
- "countryCode": "FI",
- "lat": 60.1797,
- "lon": 24.9344,
- "count": 2
- },
- {
- "city": "Alexandria",
- "country": "Australia",
- "countryCode": "AU",
- "lat": -33.9088,
- "lon": 151.196,
- "count": 1
- },
- {
- "city": "Milan",
- "country": "Italy",
- "countryCode": "IT",
- "lat": 45.4722,
- "lon": 9.1922,
- "count": 1
- },
- {
- "city": "Sydney",
- "country": "Australia",
- "countryCode": "AU",
- "lat": -33.808,
- "lon": 151.1415,
- "count": 1
- },
- {
- "city": "Hillsboro",
- "country": "United States",
- "countryCode": "US",
- "lat": 45.5397,
- "lon": -122.9638,
- "count": 1
- },
- {
- "city": "St Louis",
- "country": "United States",
- "countryCode": "US",
- "lat": 38.6364,
- "lon": -90.1985,
- "count": 1
- },
- {
- "city": "Slough",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 51.5368,
- "lon": -0.6718,
- "count": 1
- },
- {
- "city": "Seattle",
- "country": "United States",
- "countryCode": "US",
- "lat": 47.3066,
- "lon": -122.2619,
- "count": 1
- },
- {
- "city": "Limerick",
- "country": "Ireland",
- "countryCode": "IE",
- "lat": 52.6669,
- "lon": -8.6274,
- "count": 1
- },
- {
- "city": "Falkenstein",
- "country": "Germany",
- "countryCode": "DE",
- "lat": 50.4777,
- "lon": 12.3649,
- "count": 1
- },
- {
- "city": "Paris",
- "country": "France",
- "countryCode": "FR",
- "lat": 48.8323,
- "lon": 2.4075,
- "count": 1
- },
- {
- "city": "Newcastle upon Tyne",
- "country": "United Kingdom",
- "countryCode": "GB",
- "lat": 54.9958,
- "lon": -1.6897,
- "count": 1
- },
- {
- "city": "Sneek",
- "country": "The Netherlands",
- "countryCode": "NL",
- "lat": 53.0366,
- "lon": 5.6858,
- "count": 1
- }
-]
diff --git a/explorer/src/lib/mock-data/token.d.ts b/explorer/src/lib/mock-data/token.d.ts
deleted file mode 100644
index bc5a4657b5..0000000000
--- a/explorer/src/lib/mock-data/token.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-type Token = {
- token: string;
- totalCurrentSupply: string;
- maxCirculatingSupply: string;
- ticker: string;
- contractId: string;
- price: string;
-};
diff --git a/explorer/src/lib/mock-data/tokens.json b/explorer/src/lib/mock-data/tokens.json
deleted file mode 100644
index c4f2329ca5..0000000000
--- a/explorer/src/lib/mock-data/tokens.json
+++ /dev/null
@@ -1,66 +0,0 @@
-[
- {
- "token": "Ethereum",
- "totalCurrentSupply": "120,000,000",
- "maxCirculatingSupply": "∞",
- "ticker": "ETH",
- "contractId": "0x123abc456def789ghi123jkl456mno789pqr012stu345vwx678yz",
- "price": "3,200.50"
- },
- {
- "token": "Bitcoin",
- "totalCurrentSupply": "19,500,000",
- "maxCirculatingSupply": "21,000,000",
- "ticker": "BTC",
- "contractId": "N/A",
- "price": "42,500.75"
- },
- {
- "token": "Solana",
- "totalCurrentSupply": "550,000,000",
- "maxCirculatingSupply": "∞",
- "ticker": "SOL",
- "contractId": "0x789ghi123jkl456mno789pqr012stu345vwx678yzabc123def456",
- "price": "150.25"
- },
- {
- "token": "USDC",
- "totalCurrentSupply": "32,000,000,000",
- "maxCirculatingSupply": "∞",
- "ticker": "USDC",
- "contractId": "0x987xyz654mno321stu456vwx789pqr012abc345def678ghi123jkl",
- "price": "1.00"
- },
- {
- "token": "Polygon",
- "totalCurrentSupply": "9,300,000,000",
- "maxCirculatingSupply": "10,000,000,000",
- "ticker": "MATIC",
- "contractId": "0x456uvw321rst852zxc147bnd963qwe258lop357mnb741poi963lkj",
- "price": "1.75"
- },
- {
- "token": "Dai",
- "totalCurrentSupply": "5,000,000,000",
- "maxCirculatingSupply": "∞",
- "ticker": "DAI",
- "contractId": "0x321abc654def789ghi123jkl456mno789pqr012stu345vwx678yz",
- "price": "1.00"
- },
- {
- "token": "Chainlink",
- "totalCurrentSupply": "467,000,000",
- "maxCirculatingSupply": "1,000,000,000",
- "ticker": "LINK",
- "contractId": "0x963qwe852rty147bnm258lop357mnb741poi963lkj654def789ghi",
- "price": "17.60"
- },
- {
- "token": "Avalanche",
- "totalCurrentSupply": "377,000,000",
- "maxCirculatingSupply": "720,000,000",
- "ticker": "AVAX",
- "contractId": "0x852zxc147bnd963qwe258lop357mnb741poi963lkj321rst456uvw",
- "price": "35.40"
- }
-]
diff --git a/explorer/src/lib/navigation/__tests__/addBasePath.spec.js b/explorer/src/lib/navigation/__tests__/addBasePath.spec.js
deleted file mode 100644
index 1cccf0107c..0000000000
--- a/explorer/src/lib/navigation/__tests__/addBasePath.spec.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { describe, expect, it } from "vitest";
-import { base } from "$app/paths";
-
-import { addBasePath } from "..";
-
-describe("addBasePath", () => {
- it("should add the base path to the received path if the received one is an absolute path", () => {
- expect(addBasePath("/")).toBe(`${base}/`);
- expect(addBasePath("/some-path")).toBe(`${base}/some-path`);
- });
-
- it("should add nothing if the received path is a relative one or a complete string URL", () => {
- expect(addBasePath("foo/bar")).toBe("foo/bar");
- expect(addBasePath("http://example.com/")).toBe("http://example.com/");
- });
-
- it("should add nothing if the received path is a URL object", () => {
- const url = new URL("http://www.example.com/");
-
- expect(addBasePath(url)).toBe(url);
- });
-});
diff --git a/explorer/src/lib/navigation/__tests__/goto.spec.js b/explorer/src/lib/navigation/__tests__/goto.spec.js
deleted file mode 100644
index 23f706316a..0000000000
--- a/explorer/src/lib/navigation/__tests__/goto.spec.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import * as appNavigation from "$app/navigation";
-import { base } from "$app/paths";
-
-import { goto } from "..";
-
-describe("goto", () => {
- const gotoSpy = vi.spyOn(appNavigation, "goto");
-
- afterEach(() => {
- gotoSpy.mockClear();
- });
-
- afterAll(() => {
- gotoSpy.mockRestore();
- });
-
- it("should add the defined base path to Svelte's `goto` calls for absolute paths", async () => {
- await goto("/");
- await goto("/foo/path");
-
- expect(gotoSpy).toHaveBeenCalledTimes(2);
- expect(gotoSpy).toHaveBeenNthCalledWith(1, `${base}/`);
- expect(gotoSpy).toHaveBeenNthCalledWith(2, `${base}/foo/path`);
- });
-
- it("should add nothing for relative paths and complete string URLs", async () => {
- await goto("foo/bar");
- await goto("http://example.com/");
-
- expect(gotoSpy).toHaveBeenCalledTimes(2);
- expect(gotoSpy).toHaveBeenNthCalledWith(1, "foo/bar");
- expect(gotoSpy).toHaveBeenNthCalledWith(2, "http://example.com/");
- });
-
- it("should do nothing if the received path is an URL object", async () => {
- const url = new URL("http://www.example.com/");
-
- await goto(url);
-
- expect(gotoSpy).toHaveBeenCalledTimes(1);
- expect(gotoSpy).toHaveBeenCalledWith(url);
- });
-});
diff --git a/explorer/src/lib/navigation/addBasePath.js b/explorer/src/lib/navigation/addBasePath.js
deleted file mode 100644
index 39241e24d2..0000000000
--- a/explorer/src/lib/navigation/addBasePath.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { base } from "$app/paths";
-
-/**
- * @template {string | URL} T
- * @param {T} path
- */
-const addBasePath = (path) =>
- path instanceof URL ? path : path.startsWith("/") ? `${base}${path}` : path;
-
-export default addBasePath;
diff --git a/explorer/src/lib/navigation/goto.js b/explorer/src/lib/navigation/goto.js
deleted file mode 100644
index 5bb95d3d33..0000000000
--- a/explorer/src/lib/navigation/goto.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import { goto as svelteGoto } from "$app/navigation";
-
-import addBasePath from "./addBasePath";
-
-/** @type {(...args: Parameters) => ReturnType} */
-const goto = (url, ...rest) => svelteGoto(addBasePath(url), ...rest);
-
-export default goto;
diff --git a/explorer/src/lib/navigation/index.js b/explorer/src/lib/navigation/index.js
deleted file mode 100644
index bdb269b478..0000000000
--- a/explorer/src/lib/navigation/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as addBasePath } from "./addBasePath";
-export { default as goto } from "./goto";
diff --git a/explorer/src/lib/node-location/node-location.d.ts b/explorer/src/lib/node-location/node-location.d.ts
deleted file mode 100644
index e3f6de9d0b..0000000000
--- a/explorer/src/lib/node-location/node-location.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-type NodeLocation = {
- lat: number;
- lon: number;
- city: string;
- count: number;
- country: string;
- countryCode: string;
-};
diff --git a/explorer/src/lib/services/__tests__/duskAPI.spec.js b/explorer/src/lib/services/__tests__/duskAPI.spec.js
deleted file mode 100644
index bd28265723..0000000000
--- a/explorer/src/lib/services/__tests__/duskAPI.spec.js
+++ /dev/null
@@ -1,630 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { skip, updatePathIn } from "lamb";
-
-import * as mockData from "$lib/mock-data";
-
-import {
- addCountAndUnique,
- calculateStats,
- transformBlock,
- transformSearchResult,
- transformTransaction,
-} from "$lib/chain-info";
-
-import { duskAPI } from "..";
-
-describe("duskAPI", () => {
- const fetchSpy = vi.spyOn(global, "fetch");
- const node = new URL(import.meta.env.VITE_NODE_URL, import.meta.url);
- const fakeID = "some-id";
- const apiGetOptions = {
- headers: {
- Accept: "application/json",
- "Accept-Charset": "utf-8",
- Connection: "Keep-Alive",
- },
- method: "GET",
- };
-
- /** @type {URL} */
- const gqlExpectedURL = new URL("/on/graphql/query", node);
-
- /** @type {(data: Record | number) => Response} */
- const makeOKResponse = (data) =>
- new Response(JSON.stringify(data), { status: 200 });
-
- afterEach(() => {
- fetchSpy.mockClear();
- });
-
- afterAll(() => {
- fetchSpy.mockRestore();
- });
-
- it("should expose a method to retrieve a single block", async () => {
- const getByHeightSpy = vi.spyOn(duskAPI, "getBlockHashByHeight");
-
- fetchSpy
- .mockResolvedValueOnce(
- makeOKResponse(
- updatePathIn(
- mockData.gqlBlock,
- "block.header",
- skip(["nextBlockHash"])
- )
- )
- )
- .mockResolvedValueOnce(
- makeOKResponse({
- block: {
- header: {
- hash: mockData.gqlBlock.block.header.nextBlockHash,
- },
- },
- })
- );
-
- await expect(duskAPI.getBlock(fakeID)).resolves.toStrictEqual(
- transformBlock(mockData.gqlBlock.block)
- );
- expect(fetchSpy).toHaveBeenCalledTimes(2);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "fragment TransactionInfo on SpentTransaction { blockHash, blockHeight, blockTimestamp, err, gasSpent, id, tx { blobHashes, callData { contractId, data, fnName }, gasLimit, gasPrice, id, isDeploy, memo, txType, json } } fragment BlockInfo on Block { header { hash, gasLimit, height, prevBlockHash, seed, stateHash, timestamp, version }, fees, gasSpent, reward, transactions {...TransactionInfo} } query($id: String!) { block(hash: $id) {...BlockInfo} }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-id": ""some-id"",
- },
- "method": "POST",
- }
- `);
- expect(fetchSpy.mock.calls[1][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[1][1]).toMatchInlineSnapshot(`
- {
- "body": "query($height: Float!) { block(height: $height) { header { hash } } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-height": "495869",
- },
- "method": "POST",
- }
- `);
- expect(getByHeightSpy).toHaveBeenCalledTimes(1);
- expect(getByHeightSpy).toHaveBeenCalledWith(
- mockData.gqlBlock.block.header.height + 1
- );
-
- getByHeightSpy.mockRestore();
- });
-
- it("should expose a method to retrieve a block hash by its height", async () => {
- const expectedHash = mockData.gqlBlock.block.header.nextBlockHash;
-
- fetchSpy
- .mockResolvedValueOnce(
- makeOKResponse({
- block: {
- header: {
- hash: expectedHash,
- },
- },
- })
- )
- .mockResolvedValueOnce(
- makeOKResponse({
- block: null,
- })
- );
-
- await expect(duskAPI.getBlockHashByHeight(11)).resolves.toBe(expectedHash);
- await expect(duskAPI.getBlockHashByHeight(11)).resolves.toBe("");
- expect(fetchSpy).toHaveBeenCalledTimes(2);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "query($height: Float!) { block(height: $height) { header { hash } } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-height": "11",
- },
- "method": "POST",
- }
- `);
- // expect(fetchSpy.mock.calls[1][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[1][1]).toMatchInlineSnapshot(`
- {
- "body": "query($height: Float!) { block(height: $height) { header { hash } } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-height": "11",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should expose a method to retrieve the details of a single block", async () => {
- fetchSpy.mockResolvedValueOnce(makeOKResponse(mockData.gqlBlockDetails));
-
- await expect(duskAPI.getBlockDetails(fakeID)).resolves.toBe(
- mockData.gqlBlockDetails.block.header.json
- );
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "query($id: String!) { block(hash: $id) { header { json } } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-id": ""some-id"",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should expose a method to retrieve the list of blocks", async () => {
- fetchSpy.mockResolvedValueOnce(makeOKResponse(mockData.gqlBlocks));
-
- await expect(duskAPI.getBlocks(100)).resolves.toStrictEqual(
- mockData.gqlBlocks.blocks.map(transformBlock)
- );
- expect(fetchSpy).toHaveBeenCalledTimes(1);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "fragment TransactionInfo on SpentTransaction { blockHash, blockHeight, blockTimestamp, err, gasSpent, id, tx { blobHashes, callData { contractId, data, fnName }, gasLimit, gasPrice, id, isDeploy, memo, txType, json } } fragment BlockInfo on Block { header { hash, gasLimit, height, prevBlockHash, seed, stateHash, timestamp, version }, fees, gasSpent, reward, transactions {...TransactionInfo} } query($amount: Int!) { blocks(last: $amount) {...BlockInfo} }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-amount": "100",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should expose a method to retrieve the latest chain info", async () => {
- fetchSpy.mockResolvedValueOnce(makeOKResponse(mockData.gqlLatestChainInfo));
-
- await expect(duskAPI.getLatestChainInfo(15)).resolves.toStrictEqual({
- blocks: mockData.gqlLatestChainInfo.blocks.map(transformBlock),
- transactions:
- mockData.gqlLatestChainInfo.transactions.map(transformTransaction),
- });
- expect(fetchSpy).toHaveBeenCalledTimes(1);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "fragment TransactionInfo on SpentTransaction { blockHash, blockHeight, blockTimestamp, err, gasSpent, id, tx { blobHashes, callData { contractId, data, fnName }, gasLimit, gasPrice, id, isDeploy, memo, txType, json } } fragment BlockInfo on Block { header { hash, gasLimit, height, prevBlockHash, seed, stateHash, timestamp, version }, fees, gasSpent, reward, transactions {...TransactionInfo} } query($amount: Int!) { blocks(last: $amount) {...BlockInfo}, transactions(last: $amount) {...TransactionInfo} }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-amount": "15",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should expose a method to retrieve the market data", async () => {
- const mockSupply = "456000000";
-
- fetchSpy
- .mockResolvedValueOnce(makeOKResponse(mockData.apiMarketData))
- .mockResolvedValueOnce(new Response(mockSupply, { status: 200 }));
-
- /** @type {Record} */
- const expectedMarketCap = {};
- Object.keys(mockData.apiMarketData.market_data.current_price).forEach(
- (currency) => {
- expectedMarketCap[currency] =
- parseFloat(mockSupply) *
- /** @type {Record} */ (
- mockData.apiMarketData.market_data.current_price
- )[currency];
- }
- );
-
- await expect(duskAPI.getMarketData()).resolves.toStrictEqual({
- currentPrice: mockData.apiMarketData.market_data.current_price,
- marketCap: expectedMarketCap,
- });
- expect(fetchSpy).toHaveBeenCalledTimes(2);
- expect(fetchSpy).toHaveBeenNthCalledWith(
- 1,
- new URL(
- "https://api.coingecko.com/api/v3/coins/dusk-network?community_data=false&developer_data=false&localization=false&market_data=true&sparkline=false&tickers=false"
- ),
- apiGetOptions
- );
- expect(fetchSpy).toHaveBeenNthCalledWith(2, "https://supply.dusk.network/");
- });
-
- it("should fallback to CoinGecko market cap when supply endpoint fails", async () => {
- fetchSpy
- .mockResolvedValueOnce(makeOKResponse(mockData.apiMarketData))
- .mockRejectedValueOnce(new Error("Supply endpoint unavailable"));
-
- await expect(duskAPI.getMarketData()).resolves.toStrictEqual({
- currentPrice: mockData.apiMarketData.market_data.current_price,
- marketCap: mockData.apiMarketData.market_data.market_cap,
- });
- expect(fetchSpy).toHaveBeenCalledTimes(2);
- expect(fetchSpy).toHaveBeenNthCalledWith(
- 1,
- new URL(
- "https://api.coingecko.com/api/v3/coins/dusk-network?community_data=false&developer_data=false&localization=false&market_data=true&sparkline=false&tickers=false"
- ),
- apiGetOptions
- );
- expect(fetchSpy).toHaveBeenNthCalledWith(2, "https://supply.dusk.network/");
- });
-
- it("should expose a method to retrieve the node locations", async () => {
- fetchSpy.mockResolvedValueOnce(makeOKResponse(mockData.apiNodeLocations));
-
- await expect(duskAPI.getNodeLocations()).resolves.toStrictEqual(
- addCountAndUnique(mockData.apiNodeLocations)
- );
- expect(fetchSpy).toHaveBeenCalledTimes(1);
- });
-
- it("should expose a method to retrieve the host provisioners", async () => {
- fetchSpy.mockResolvedValueOnce(makeOKResponse(mockData.hostProvisioners));
-
- await expect(duskAPI.getProvisioners()).resolves.toStrictEqual(
- mockData.hostProvisioners
- );
- expect(fetchSpy).toHaveBeenCalledTimes(1);
- });
-
- it("should expose a method to retrieve the node info", async () => {
- fetchSpy.mockResolvedValueOnce(makeOKResponse(mockData.apiNodeInfo));
-
- await expect(duskAPI.getNodeInfo()).resolves.toStrictEqual(
- mockData.apiNodeInfo
- );
- expect(fetchSpy).toHaveBeenCalledTimes(1);
- });
-
- it("should expose a method to retrieve the statistics", async () => {
- const lastBlockHeight = 1498332;
- const txCount = {
- public: 13742,
- shielded: 2621,
- total: 16363,
- };
- const expectedStats = {
- ...calculateStats(mockData.hostProvisioners, lastBlockHeight),
- txCount,
- };
-
- fetchSpy
- .mockResolvedValueOnce(makeOKResponse(mockData.hostProvisioners))
- .mockResolvedValueOnce(
- makeOKResponse({ block: { header: { height: lastBlockHeight } } })
- )
- .mockResolvedValueOnce(makeOKResponse(txCount));
-
- await expect(duskAPI.getStats()).resolves.toStrictEqual(expectedStats);
-
- expect(fetchSpy).toHaveBeenCalledTimes(3);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(
- new URL(
- `${import.meta.env.VITE_RUSK_PATH || ""}/on/node/provisioners`,
- node.origin
- )
- );
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- },
- "method": "POST",
- }
- `);
- expect(fetchSpy.mock.calls[1][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[1][1]).toMatchInlineSnapshot(`
- {
- "body": "query { block(height: -1) { header { height } } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- },
- "method": "POST",
- }
- `);
- expect(fetchSpy.mock.calls[2][0]).toStrictEqual(
- new URL(
- `${import.meta.env.VITE_RUSK_PATH || ""}/on/stats/tx_count`,
- node.origin
- )
- );
- expect(fetchSpy.mock.calls[2][1]).toMatchInlineSnapshot(`
- {
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should expose a method to retrieve a single transaction", async () => {
- fetchSpy.mockResolvedValueOnce(makeOKResponse(mockData.gqlTransaction));
-
- await expect(duskAPI.getTransaction(fakeID)).resolves.toStrictEqual(
- transformTransaction(mockData.gqlTransaction.tx)
- );
- expect(fetchSpy).toHaveBeenCalledTimes(1);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "fragment TransactionInfo on SpentTransaction { blockHash, blockHeight, blockTimestamp, err, gasSpent, id, tx { blobHashes, callData { contractId, data, fnName }, gasLimit, gasPrice, id, isDeploy, memo, txType, json } } query($id: String!) { tx(hash: $id) { ...TransactionInfo tx { json } } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-id": ""some-id"",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should expose a method to retrieve the list of transactions", async () => {
- fetchSpy.mockResolvedValueOnce(makeOKResponse(mockData.gqlTransactions));
-
- await expect(duskAPI.getTransactions(100)).resolves.toStrictEqual(
- mockData.gqlTransactions.transactions.map(transformTransaction)
- );
- expect(fetchSpy).toHaveBeenCalledTimes(1);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "fragment TransactionInfo on SpentTransaction { blockHash, blockHeight, blockTimestamp, err, gasSpent, id, tx { blobHashes, callData { contractId, data, fnName }, gasLimit, gasPrice, id, isDeploy, memo, txType, json } } query($amount: Int!) { transactions(last: $amount) {...TransactionInfo} }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-amount": "100",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should return a rejected promise, with the original Response in the error's `cause` property, for a 4xx error", async () => {
- const apiMethods = Object.keys(duskAPI).filter(
- (k) => typeof k === "function"
- );
-
- for (const apiMethod of apiMethods) {
- const notFoundResponse = new Response("", { status: 404 });
-
- fetchSpy.mockResolvedValueOnce(notFoundResponse);
-
- await expect(() =>
- // @ts-expect-error we don't care of the parameters we pass as the call to fetch is mocked
- duskAPI[apiMethod]("foo/bar", "some-id")
- ).rejects.toThrow(
- expect.objectContaining({
- cause: notFoundResponse,
- })
- );
- }
- });
-
- it("should be able to make the correct request whether the endpoint in env vars ends with a trailing slash or not", () => {
- const expectedURL = new URL(
- "https://nodes.dusk.network/on/network/peers_location"
- );
-
- fetchSpy
- .mockResolvedValueOnce(makeOKResponse(mockData.apiNodeLocations))
- .mockResolvedValueOnce(makeOKResponse(mockData.apiNodeLocations));
-
- duskAPI.getNodeLocations();
- duskAPI.getNodeLocations();
-
- expect(fetchSpy).toHaveBeenCalledTimes(2);
- expect(fetchSpy).toHaveBeenNthCalledWith(1, expectedURL, {
- headers: {
- Accept: "application/json",
- "Accept-Charset": "utf-8",
- Connection: "Keep-Alive",
- },
- method: "POST",
- });
- expect(fetchSpy).toHaveBeenNthCalledWith(2, expectedURL, {
- headers: {
- Accept: "application/json",
- "Accept-Charset": "utf-8",
- Connection: "Keep-Alive",
- },
- method: "POST",
- });
-
- vi.unstubAllEnvs();
- });
-
- it("should expose a method to search for blocks and transactions", async () => {
- const fakeHash1 = Array(64).fill(1).join("");
- const fakeHash2 = Array(64).fill(2).join("");
- const hashResult = {
- block: {
- header: {
- hash: fakeHash1,
- },
- },
- };
- const heightResult = {
- block: {
- header: {
- hash: fakeHash2,
- },
- },
- };
-
- fetchSpy
- .mockResolvedValueOnce(makeOKResponse(hashResult))
- .mockResolvedValueOnce(makeOKResponse(heightResult));
-
- await expect(duskAPI.search(fakeHash1)).resolves.toStrictEqual(
- transformSearchResult(hashResult)
- );
-
- await expect(duskAPI.search(fakeHash2)).resolves.toStrictEqual(
- transformSearchResult(heightResult)
- );
-
- expect(fetchSpy).toHaveBeenCalledTimes(2);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "query($id: String!) { block(hash: $id) { header { hash } }, tx(hash: $id) { id } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-id": ""1111111111111111111111111111111111111111111111111111111111111111"",
- },
- "method": "POST",
- }
- `);
- expect(fetchSpy.mock.calls[1][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[1][1]).toMatchInlineSnapshot(`
- {
- "body": "query($id: String!) { block(hash: $id) { header { hash } }, tx(hash: $id) { id } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-id": ""2222222222222222222222222222222222222222222222222222222222222222"",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should not perform the height search if the query string doesn't contain only numbers", async () => {
- const entryHash =
- "fda46b4e06cc78542db9c780adbaee83a27fdf917de653e8ac34294cf924dd63";
-
- fetchSpy.mockResolvedValueOnce(
- makeOKResponse(mockData.gqlSearchPossibleResults[0])
- );
-
- await expect(duskAPI.search(entryHash)).resolves.toStrictEqual(
- transformSearchResult(mockData.gqlSearchPossibleResults[0])
- );
-
- expect(fetchSpy).toHaveBeenCalledTimes(1);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "query($id: String!) { block(hash: $id) { header { hash } }, tx(hash: $id) { id } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-id": ""fda46b4e06cc78542db9c780adbaee83a27fdf917de653e8ac34294cf924dd63"",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should not perform the hash search if the query string isn't of 64 characters", async () => {
- const entryHeight = "123456";
-
- fetchSpy.mockResolvedValueOnce(
- makeOKResponse(mockData.gqlSearchPossibleResults[0])
- );
-
- await expect(duskAPI.search(entryHeight)).resolves.toStrictEqual(
- transformSearchResult(mockData.gqlSearchPossibleResults[0])
- );
-
- expect(fetchSpy).toHaveBeenCalledTimes(1);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[0][1]).toMatchInlineSnapshot(`
- {
- "body": "query($height: Float!) { block(height: $height) { header { hash } } }",
- "headers": {
- "Accept": "application/json",
- "Accept-Charset": "utf-8",
- "Connection": "Keep-Alive",
- "Content-Type": "application/json",
- "Rusk-gqlvar-height": "123456",
- },
- "method": "POST",
- }
- `);
- });
-
- it("should not perform any search at all if the query string doesn't satisfy criteria for both hash and height", async () => {
- await expect(duskAPI.search("abc")).resolves.toStrictEqual(null);
-
- expect(fetchSpy).not.toHaveBeenCalled();
- });
-
- it("should return a mempool message if the transaction is in the mempool", async () => {
- fetchSpy
- .mockResolvedValueOnce(makeOKResponse({ tx: null }))
- .mockResolvedValueOnce(makeOKResponse({ mempoolTx: true }));
-
- await expect(duskAPI.getTransaction(fakeID)).resolves.toBe(
- "This transaction is currently in the mempool and has not yet been confirmed. The transaction details will be displayed after confirmation."
- );
-
- expect(fetchSpy).toHaveBeenCalledTimes(2);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[1][0]).toStrictEqual(gqlExpectedURL);
- });
-
- it("should throw an error if the transaction is not found", async () => {
- fetchSpy
- .mockResolvedValueOnce(makeOKResponse({ tx: null }))
- .mockResolvedValueOnce(makeOKResponse({ mempoolTx: null }));
-
- await expect(duskAPI.getTransaction(fakeID)).rejects.toThrow(
- "Transaction not found"
- );
-
- expect(fetchSpy).toHaveBeenCalledTimes(2);
- expect(fetchSpy.mock.calls[0][0]).toStrictEqual(gqlExpectedURL);
- expect(fetchSpy.mock.calls[1][0]).toStrictEqual(gqlExpectedURL);
- });
-});
diff --git a/explorer/src/lib/services/duskAPI.js b/explorer/src/lib/services/duskAPI.js
deleted file mode 100644
index 199ec53c83..0000000000
--- a/explorer/src/lib/services/duskAPI.js
+++ /dev/null
@@ -1,401 +0,0 @@
-import {
- fromPairs,
- getKey,
- getPath,
- isUndefined,
- mapWith,
- ownPairs,
- pipe,
- setPathIn,
- unless,
-} from "lamb";
-
-import { failureToRejection } from "$lib/dusk/http";
-import { makeNodeUrl } from "$lib/url";
-
-import {
- addCountAndUnique,
- calculateStats,
- transformBlock,
- transformSearchResult,
- transformTransaction,
-} from "$lib/chain-info";
-
-import {
- getBlockDetailsQueryInfo,
- getBlockHashQueryInfo,
- getBlockQueryInfo,
- getBlocksQueryInfo,
- getFullMoonlightAccountHistoryQuery,
- getLatestChainQueryInfo,
- getMempoolTx,
- getTransactionQueryInfo,
- getTransactionsQueryInfo,
- searchByHashQueryInfo,
- transactionFragment,
-} from "./gql-queries";
-import * as base58 from "../utils/encoders/base58";
-
-/** @type {(blocks: GQLBlock[]) => Block[]} */
-const transformBlocks = mapWith(transformBlock);
-
-/** @type {(transactions: GQLTransaction[]) => Transaction[]} */
-const transformTransactions = mapWith(transformTransaction);
-
-/**
- * Adds the `Rusk-gqlvar-` prefix to all
- * keys of the given object and calls `JSON.stringify`
- * on their values. *
- * Returns `undefined` if the input is `undefined`.
- *
- * The `JSON.stringify` call is because the GraphQL
- * server will parse a variable containing only digits
- * as a number otherwise, when the expected type is a string.
- */
-const toHeadersVariables = unless(
- isUndefined,
- pipe([
- ownPairs,
- mapWith(([k, v]) => [`Rusk-gqlvar-${k}`, JSON.stringify(v)]),
- fromPairs,
- ])
-);
-
-/**
- * @param {{ query: string, variables?: Record }} queryInfo
- */
-const gqlGet = (queryInfo) =>
- fetch(makeNodeUrl("/on/graphql/query"), {
- body: queryInfo.query.replace(/\s+/g, " ").trim(),
- headers: {
- Accept: "application/json",
- "Accept-Charset": "utf-8",
- Connection: "Keep-Alive",
- "Content-Type": "application/json",
- ...toHeadersVariables(queryInfo.variables),
- },
- method: "POST",
- })
- .then(failureToRejection)
- .then((res) => res.json());
-
-/**
- * @param {string} endpoint
- * @returns {Promise}
- */
-const nodePost = (endpoint) =>
- fetch(makeNodeUrl(endpoint), {
- headers: {
- Accept: "application/json",
- "Accept-Charset": "utf-8",
- Connection: "Keep-Alive",
- },
- method: "POST",
- })
- .then(failureToRejection)
- .then((res) => res.json());
-
-/** @type {() => Promise} */
-const getLastHeight = () =>
- gqlGet({
- query: "query { block(height: -1) { header { height } } }",
- }).then(getPath("block.header.height"));
-
-const duskAPI = {
- /**
- * @param {string} address
- * @returns {Promise}
- */
- getAccountStatus(address) {
- return nodePost(`/on/account:${address}/status`);
- },
-
- /**
- * @param {string} id
- * @returns {Promise}
- */
- getBlock(id) {
- return gqlGet(getBlockQueryInfo(id))
- .then(async ({ block }) =>
- setPathIn(
- block,
- "header.nextBlockHash",
- await duskAPI.getBlockHashByHeight(block.header.height + 1)
- )
- )
- .then(transformBlock);
- },
-
- /**
- * @param {string} id
- * @returns {Promise}
- */
- getBlockDetails(id) {
- return gqlGet(getBlockDetailsQueryInfo(id)).then(
- getPath("block.header.json")
- );
- },
-
- /**
- * @param {number} height
- * @returns {Promise}
- */
- getBlockHashByHeight(height) {
- return gqlGet(getBlockHashQueryInfo(height)).then(({ block }) =>
- block ? block.header.hash : ""
- );
- },
-
- /**
- * @param {number} amount
- * @returns {Promise}
- */
- getBlocks(amount) {
- return gqlGet(getBlocksQueryInfo(amount))
- .then(getKey("blocks"))
- .then(transformBlocks);
- },
-
- /**
- * @param {number} amount
- * @returns {Promise}
- */
- getLatestChainInfo(amount) {
- return gqlGet(getLatestChainQueryInfo(amount)).then(
- ({ blocks, transactions }) => ({
- blocks: transformBlocks(blocks),
- transactions: transformTransactions(transactions),
- })
- );
- },
-
- /** @returns {Promise} */
- async getMarketData() {
- const COINGECKO_MARKET_URL = new URL(
- "https://api.coingecko.com/api/v3/coins/dusk-network" +
- "?community_data=false" +
- "&developer_data=false" +
- "&localization=false" +
- "&market_data=true" +
- "&sparkline=false" +
- "&tickers=false"
- );
-
- try {
- // Fetch price data and circulating supply
- const [coinGeckoData, circulatingSupply] = await Promise.all([
- fetch(COINGECKO_MARKET_URL, {
- headers: {
- Accept: "application/json",
- "Accept-Charset": "utf-8",
- Connection: "Keep-Alive",
- },
- method: "GET",
- })
- .then(failureToRejection)
- .then((res) => res.json())
- .then(getKey("market_data")),
- fetch("https://supply.dusk.network/")
- .then(failureToRejection)
- .then((res) => res.text())
- .then((supply) => parseFloat(supply))
- .catch(() => null),
- ]);
-
- const currentPrice = coinGeckoData.current_price;
-
- // Calculate market cap using circulating supply if available, fallback to CoinGecko
- /** @type {Record} */
- let marketCap;
- if (
- circulatingSupply !== null &&
- !isNaN(circulatingSupply) &&
- currentPrice?.usd
- ) {
- marketCap = {
- usd: circulatingSupply * currentPrice.usd,
- };
- // Add other currencies
- Object.keys(currentPrice).forEach((currency) => {
- if (currency !== "usd" && currentPrice[currency]) {
- marketCap[currency] = circulatingSupply * currentPrice[currency];
- }
- });
- } else {
- // Fallback to CoinGecko's market cap
- marketCap = coinGeckoData.market_cap;
- }
-
- return {
- currentPrice,
- marketCap,
- };
- } catch (/** @type {any} */ error) {
- throw new Error(`Failed to fetch market data: ${error.message}`);
- }
- },
-
- /**
- * @param {string} address
- * @returns {Promise} sortedTransactions
- */
- async getMoonlightAccountTransactions(address) {
- // Gets contract interactions for the given address
- const moonlightData = await gqlGet(
- getFullMoonlightAccountHistoryQuery(address)
- );
- if (!moonlightData.fullMoonlightHistory) {
- return [];
- }
- // Extracts the transaction IDs from the contract interactions
- const transactionIds = moonlightData.fullMoonlightHistory.json.map(
- (/** @type {{ origin: any; }} */ block) => block.origin
- );
- if (transactionIds.length === 0) return [];
-
- // Build a single GraphQL query with aliases for all txs
- /**
- * @param {string[]} ids
- * @returns {string}
- */
- const buildBatchTransactionQuery = (ids) => {
- const fragment = transactionFragment;
- const queries = ids.map(
- (id, idx) => `tx${idx}: tx(hash: "${id}") { ...TransactionInfo }`
- );
- return `query {\n${queries.join("\n")}\n}\n${fragment}`;
- };
-
- // Batch fetch all transactions in a single query
- const batchQuery = buildBatchTransactionQuery(transactionIds);
- const response = await gqlGet({ query: batchQuery });
- // response is an object: { tx0: {...}, tx1: {...}, ... }
- const txs = Object.values(response).filter(Boolean);
- const results = txs.map(transformTransaction);
-
- // Sort transactions by date in descending order (newest first)
- const sortedTransactions = results.sort((a, b) => {
- const dateA = a.date instanceof Date ? a.date.getTime() : 0;
- const dateB = b.date instanceof Date ? b.date.getTime() : 0;
- return dateB - dateA;
- });
-
- return sortedTransactions;
- },
-
- /**
- * @returns {Promise}
- */
- getNodeInfo() {
- return nodePost("/on/node/info");
- },
-
- /**
- * @returns {Promise<{ lat: number, lon: number}[]>}
- */
- getNodeLocations() {
- return nodePost("/on/network/peers_location").then((data) =>
- addCountAndUnique(data)
- );
- },
-
- /** @returns {Promise} */
- getProvisioners() {
- return nodePost("/on/node/provisioners");
- },
-
- /**
- * @returns {Promise}
- */
- getStats() {
- return Promise.all([
- duskAPI.getProvisioners(),
- getLastHeight(),
- duskAPI.getTxCount(),
- ]).then(([provisioners, lastHeight, txCount]) => ({
- ...calculateStats(provisioners, lastHeight),
- txCount,
- }));
- },
-
- /**
- * @param {string} id
- * @returns {Promise}
- */
- getTransaction(id) {
- return gqlGet(getTransactionQueryInfo(id))
- .then(getKey("tx"))
- .then((tx) => {
- if (tx === null) {
- return gqlGet(getMempoolTx(id))
- .then(getKey("mempoolTx"))
- .then((mempoolTx) => {
- if (mempoolTx) {
- return "This transaction is currently in the mempool and has not yet been confirmed. The transaction details will be displayed after confirmation.";
- } else {
- throw new Error("Transaction not found");
- }
- });
- } else {
- return transformTransaction(tx);
- }
- });
- },
-
- /**
- * @param {number} amount
- * @returns {Promise}
- */
- getTransactions(amount) {
- return gqlGet(getTransactionsQueryInfo(amount))
- .then(getKey("transactions"))
- .then(transformTransactions);
- },
-
- /**
- * @returns {Promise<{ public: number; shielded: number; total: number }>}
- */
- getTxCount() {
- return nodePost("/on/stats/tx_count");
- },
-
- /**
- * Search function that handles different query formats:
- * 1. 64-character hexadecimal strings (likely transaction or block hashes)
- * 2. Numeric strings (likely block heights)
- * 3. Base58-encoded strings with a decoded length of 96 bytes (likely addresses)
- *
- * @param {string} query - The search query string
- * @returns {Promise} - Promise resolving to transformed search result
- */
- async search(query) {
- let searchPromise;
-
- // Case 1: Handle 64-character hexadecimal strings (likely tx or block hashes)
- if (query.length === 64) {
- searchPromise = gqlGet(searchByHashQueryInfo(query));
- }
-
- // Case 2: Handle numeric strings (likely block heights)
- else if (/^\d+$/.test(query)) {
- searchPromise = gqlGet(getBlockHashQueryInfo(+query));
- }
-
- // Case 3: Handle potential base58-encoded addresses
- else {
- const bytes = base58.decode(query);
- // If decoded length is 96 bytes, it's likely an address
- if (bytes?.length === 96) {
- searchPromise = Promise.resolve({ account: { id: query } });
- } else {
- searchPromise = Promise.resolve(null);
- }
- }
-
- const entry = await searchPromise;
- const result = entry ? transformSearchResult(entry) : null;
- return result;
- },
-};
-
-export default duskAPI;
diff --git a/explorer/src/lib/services/gql-queries.js b/explorer/src/lib/services/gql-queries.js
deleted file mode 100644
index 0f97b1cf95..0000000000
--- a/explorer/src/lib/services/gql-queries.js
+++ /dev/null
@@ -1,143 +0,0 @@
-export const transactionFragment = `
-fragment TransactionInfo on SpentTransaction {
- blockHash,
- blockHeight,
- blockTimestamp,
- err,
- gasSpent,
- id,
- tx {
- ${import.meta.env.VITE_FEATURE_BLOB_HASHES === "true" ? "blobHashes," : ""}
- callData {
- contractId,
- data,
- fnName
- },
- gasLimit,
- gasPrice,
- id,
- isDeploy,
- memo,
- txType,
- json
- }
-}
-`;
-
-const blockFragment = `
-${transactionFragment}
-fragment BlockInfo on Block {
- header {
- hash,
- gasLimit,
- height,
- prevBlockHash,
- seed,
- stateHash,
- timestamp,
- version
- },
- fees,
- gasSpent,
- reward,
- transactions {...TransactionInfo}
-}
-`;
-
-/** @param {string} address */
-export const getFullMoonlightAccountHistoryQuery = (address) => ({
- query: `
- query GetFullMoonlightHistory($address: String!) {
- fullMoonlightHistory(address: $address) {
- json
- }
- }
- `,
- variables: { address },
-});
-
-/** @param {number} height */
-export const getBlockHashQueryInfo = (height) => ({
- query: `
- query($height: Float!) { block(height: $height) { header { hash } } }
- `,
- variables: { height },
-});
-
-/** @param {string} id */
-export const getBlockQueryInfo = (id) => ({
- query: `
- ${blockFragment}
- query($id: String!) { block(hash: $id) {...BlockInfo} }
- `,
- variables: { id },
-});
-
-/** @param {string} id */
-export const getBlockDetailsQueryInfo = (id) => ({
- query: "query($id: String!) { block(hash: $id) { header { json } } }",
- variables: { id },
-});
-
-/** @param {number} amount */
-export const getBlocksQueryInfo = (amount) => ({
- query: `
- ${blockFragment}
- query($amount: Int!) { blocks(last: $amount) {...BlockInfo} }
- `,
- variables: { amount },
-});
-
-/** @param {number} amount */
-export const getLatestChainQueryInfo = (amount) => ({
- query: `
- ${blockFragment}
- query($amount: Int!) {
- blocks(last: $amount) {...BlockInfo},
- transactions(last: $amount) {...TransactionInfo}
- }
- `,
- variables: { amount },
-});
-
-/** @param {string} id */
-export const getMempoolTx = (id) => ({
- query: "query($id: String!) { mempoolTx(hash: $id) { isDeploy } }",
- variables: { id },
-});
-
-/** @param {number} amount */
-export const getTransactionsQueryInfo = (amount) => ({
- query: `
- ${transactionFragment}
- query($amount: Int!) { transactions(last: $amount) {...TransactionInfo} }
- `,
- variables: { amount },
-});
-
-/** @param {string} id */
-export const getTransactionQueryInfo = (id) => ({
- query: `
- ${transactionFragment}
- query($id: String!) {
- tx(hash: $id) {
- ...TransactionInfo
- tx {
- json
- }
- }
- }
- `,
- variables: { id },
-});
-
-/** @param {string} id */
-export const searchByHashQueryInfo = (id) => ({
- query: `
- query($id: String!) {
- block(hash: $id) { header { hash } },
- tx(hash: $id) { id }
- }
- `,
- variables: { id },
-});
diff --git a/explorer/src/lib/services/index.js b/explorer/src/lib/services/index.js
deleted file mode 100644
index cdb00d2b84..0000000000
--- a/explorer/src/lib/services/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as duskAPI } from "./duskAPI";
diff --git a/explorer/src/lib/stats/stats.d.ts b/explorer/src/lib/stats/stats.d.ts
deleted file mode 100644
index d535b04bcf..0000000000
--- a/explorer/src/lib/stats/stats.d.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-type Stats = {
- activeProvisioners: number;
- activeStake: number;
- lastBlock: number;
- waitingProvisioners: number;
- waitingStake: number;
- txCount?: {
- public: number;
- shielded: number;
- total: number;
- };
-};
diff --git a/explorer/src/lib/stores/__tests__/appStore.spec.js b/explorer/src/lib/stores/__tests__/appStore.spec.js
deleted file mode 100644
index 5d85311843..0000000000
--- a/explorer/src/lib/stores/__tests__/appStore.spec.js
+++ /dev/null
@@ -1,158 +0,0 @@
-import { afterAll, beforeEach, describe, expect, it, vi } from "vitest";
-import { get } from "svelte/store";
-import { apiNodeInfo } from "$lib/mock-data";
-
-import { changeMediaQueryMatches } from "$lib/dusk/test-helpers";
-
-describe("appStore", () => {
- const originalTouchStart = window.ontouchstart;
- const originalMaxTouchPoints = navigator.maxTouchPoints;
-
- delete window.ontouchstart;
-
- Object.defineProperty(navigator, "maxTouchPoints", {
- value: 0,
- writable: true,
- });
-
- beforeEach(() => {
- vi.resetModules();
- });
-
- afterAll(() => {
- window.ontouchstart = originalTouchStart;
-
- Object.defineProperty(navigator, "maxTouchPoints", {
- value: originalMaxTouchPoints,
- writable: false,
- });
- });
-
- it("should be a readable store holding the information needed throughout the whole application", async () => {
- const { appStore } = await import("..");
- const { env } = import.meta;
-
- expect(appStore).toHaveProperty("subscribe", expect.any(Function));
- expect(appStore).not.toHaveProperty("set");
- expect(get(appStore)).toStrictEqual({
- blocksListEntries: Number(env.VITE_BLOCKS_LIST_ENTRIES),
- chainInfoEntries: Number(env.VITE_CHAIN_INFO_ENTRIES),
- darkMode: false,
- fetchInterval: Number(env.VITE_REFETCH_INTERVAL),
- hasTouchSupport: false,
- isSmallScreen: false,
- marketDataFetchInterval: Number(env.VITE_MARKET_DATA_REFETCH_INTERVAL),
- nodeInfo: {
- /* eslint-disable camelcase */
- bootstrapping_nodes: [],
- chain_id: undefined,
- kadcast_address: "",
- version: "",
- version_build: "",
- /* eslint-enable camelcase */
- },
- provisionersFetchInterval: Number(env.VITE_PROVISIONERS_REFETCH_INTERVAL),
- statsFetchInterval: Number(env.VITE_STATS_REFETCH_INTERVAL),
- transactionsListEntries: Number(env.VITE_TRANSACTIONS_LIST_ENTRIES),
- });
- });
-
- it("should set the `hasTouchSupport` property to true if the `ontouchstart` property exists on `window`", async () => {
- window.ontouchstart = originalTouchStart;
-
- const { appStore } = await import("..");
-
- expect(get(appStore).hasTouchSupport).toBe(true);
-
- delete window.ontouchstart;
- });
-
- it("should set the `hasTouchSupport` property to true if the `navigator.maxTouchPoints` property is greater than zero", async () => {
- // @ts-ignore
- navigator.maxTouchPoints = 1;
-
- const { appStore } = await import("..");
-
- expect(get(appStore).hasTouchSupport).toBe(true);
-
- // @ts-ignore
- navigator.maxTouchPoints = 0;
- });
-
- it("should use default values for the fetch intervals if the env vars are missing", async () => {
- vi.stubEnv("VITE_REFETCH_INTERVAL", "");
- vi.stubEnv("VITE_MARKET_DATA_REFETCH_INTERVAL", "");
- vi.stubEnv("VITE_PROVISIONERS_REFETCH_INTERVAL", "");
- vi.stubEnv("VITE_STATS_REFETCH_INTERVAL", "");
-
- const { appStore } = await import("..");
- const {
- fetchInterval,
- marketDataFetchInterval,
- provisionersFetchInterval,
- statsFetchInterval,
- } = get(appStore);
-
- expect(fetchInterval).toBe(10000);
- expect(marketDataFetchInterval).toBe(120000);
- expect(provisionersFetchInterval).toBe(30000);
- expect(statsFetchInterval).toBe(10000);
-
- vi.unstubAllEnvs();
- });
-
- it("should expose a service method to set the dark mode theme", async () => {
- const { appStore } = await import("..");
-
- appStore.setTheme(true);
-
- expect(get(appStore).darkMode).toBe(true);
- });
-
- it("should set the `isSmallScreen` property to `false` when the related media query doesn't match", async () => {
- const { appStore } = await import("..");
-
- expect(get(appStore).isSmallScreen).toBe(false);
- });
-
- it("should set the `isSmallScreen` property to `true` when the related media query matches", async () => {
- const mqMatchesSpy = vi
- .spyOn(MediaQueryList.prototype, "matches", "get")
- .mockReturnValue(true);
-
- const { appStore } = await import("..");
-
- expect(get(appStore).isSmallScreen).toBe(true);
-
- mqMatchesSpy.mockRestore();
- });
-
- it("should update the `isSmallScreen` property when the media query match changes", async () => {
- const { appStore } = await import("..");
-
- expect(get(appStore).isSmallScreen).toBe(false);
-
- changeMediaQueryMatches("(max-width: 1024px)", true);
-
- expect(get(appStore).isSmallScreen).toBe(true);
- });
-
- it("should expose a service method to set the node info", async () => {
- const { appStore } = await import("..");
-
- const initialNodeInfo = {
- /* eslint-disable camelcase */
- bootstrapping_nodes: [],
- chain_id: undefined,
- kadcast_address: "",
- version: "",
- version_build: "",
- /* eslint-enable camelcase */
- };
-
- expect(get(appStore).nodeInfo).toStrictEqual(initialNodeInfo);
-
- appStore.setNodeInfo(apiNodeInfo);
- expect(get(appStore).nodeInfo).toStrictEqual(apiNodeInfo);
- });
-});
diff --git a/explorer/src/lib/stores/__tests__/marketDataStore.spec.js b/explorer/src/lib/stores/__tests__/marketDataStore.spec.js
deleted file mode 100644
index 8ae391a580..0000000000
--- a/explorer/src/lib/stores/__tests__/marketDataStore.spec.js
+++ /dev/null
@@ -1,418 +0,0 @@
-import {
- afterAll,
- afterEach,
- beforeEach,
- describe,
- expect,
- it,
- vi,
-} from "vitest";
-import { get } from "svelte/store";
-
-import { rejectAfter, resolveAfter } from "$lib/dusk/promise";
-import { duskAPI } from "$lib/services";
-
-/**
- * We don't import from "..", because we don't want
- * marketDataStore to be imported and start running
- */
-import appStore from "../appStore";
-
-const { fakeMarketDataA, settleTime } = vi.hoisted(() => ({
- fakeMarketDataA: { data: "A" },
- settleTime: 1000,
-}));
-
-vi.mock("svelte/store", async (importOriginal) => {
- /** @type {import("svelte/store")} */
- const original = await importOriginal();
-
- return {
- ...original,
- get: vi.fn((store) => original.get(store)),
- };
-});
-
-vi.mock("$lib/services", async (importOriginal) => ({
- .../** @type {import("$lib/services")} */ (await importOriginal()),
- duskAPI: {
- getMarketData: vi.fn(async () => resolveAfter(settleTime, fakeMarketDataA)),
- },
-}));
-
-describe("marketDataStore", async () => {
- const storeKey = "market-data";
- const { marketDataFetchInterval } = get(appStore);
- const fakeMarketDataB = { data: "B" };
-
- /** @type {MarketDataStore} */
- let marketDataStore;
-
- vi.useFakeTimers();
-
- beforeEach(async () => {
- vi.resetModules();
- vi.clearAllTimers();
- vi.mocked(duskAPI.getMarketData).mockClear();
-
- localStorage.clear();
-
- marketDataStore = (await import("../marketDataStore")).default;
- });
-
- afterAll(() => {
- vi.doUnmock("$lib/services");
- vi.doUnmock("svelte/store");
- vi.useRealTimers();
- });
-
- it("should start polling for market data and update the `lastUpdate` property when data changes", async () => {
- /**
- * This is the result for the second call as the first one
- * starts with the import and isn't resolved yet
- */
- vi.mocked(duskAPI.getMarketData).mockImplementationOnce(() =>
- resolveAfter(settleTime, fakeMarketDataB)
- );
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(1);
- expect(get(marketDataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: true,
- lastUpdate: null,
- });
-
- await vi.advanceTimersByTimeAsync(settleTime);
-
- const storeA = {
- data: fakeMarketDataA,
- error: null,
- isLoading: false,
- lastUpdate: new Date(),
- };
-
- expect(get(marketDataStore)).toStrictEqual(storeA);
-
- await vi.advanceTimersByTimeAsync(marketDataFetchInterval);
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(2);
- expect(get(marketDataStore)).toStrictEqual({
- ...storeA,
- isLoading: true,
- });
-
- await vi.advanceTimersByTimeAsync(settleTime);
-
- expect(get(marketDataStore)).toStrictEqual({
- data: fakeMarketDataB,
- error: null,
- isLoading: false,
- lastUpdate: new Date(),
- });
-
- await vi.advanceTimersByTimeAsync(marketDataFetchInterval + settleTime);
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(3);
- expect(get(marketDataStore)).toStrictEqual({
- ...storeA,
- lastUpdate: new Date(),
- });
- });
-
- it("should not reset its data and stop the polling after an error, without resetting it as well", async () => {
- const error = new Error("Some error message");
-
- /**
- * These are the results for the second and third call
- * as the first one starts with the import and isn't resolved yet
- */
- vi.mocked(duskAPI.getMarketData)
- .mockImplementationOnce(() => rejectAfter(settleTime, error))
- .mockImplementationOnce(() => resolveAfter(settleTime, fakeMarketDataB));
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(1);
-
- await vi.advanceTimersByTimeAsync(settleTime);
-
- const storeA = {
- data: fakeMarketDataA,
- error: null,
- isLoading: false,
- lastUpdate: new Date(),
- };
-
- expect(get(marketDataStore)).toStrictEqual(storeA);
-
- await vi.advanceTimersByTimeAsync(marketDataFetchInterval);
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(2);
- expect(get(marketDataStore)).toStrictEqual({
- ...storeA,
- isLoading: true,
- });
-
- await vi.advanceTimersByTimeAsync(settleTime);
-
- expect(get(marketDataStore)).toStrictEqual({
- ...storeA,
- error,
- isLoading: false,
- });
-
- await vi.advanceTimersByTimeAsync(marketDataFetchInterval * 10);
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(2);
- });
-
- describe("Stale data checks", () => {
- const startingStore = {
- data: null,
- error: null,
- isLoading: false,
- lastUpdate: null,
- };
- const storeWithData = {
- ...startingStore,
- data: fakeMarketDataA,
- lastUpdate: new Date(),
- };
-
- it("should not consider data as stale if there's no data", () => {
- vi.mocked(get).mockReturnValueOnce(startingStore);
-
- expect(marketDataStore.isDataStale()).toBe(false);
- });
-
- it("should not consider data as stale if the store is loading and there is no error, even if the last update exceeds the fetch interval", () => {
- vi.mocked(get)
- .mockReturnValueOnce({ ...startingStore, isLoading: true })
- .mockReturnValueOnce({ ...storeWithData, isLoading: true })
- .mockReturnValueOnce({
- ...storeWithData,
- isLoading: true,
- lastUpdate: new Date(Date.now() - marketDataFetchInterval - 1),
- });
-
- expect(marketDataStore.isDataStale()).toBe(false);
- expect(marketDataStore.isDataStale()).toBe(false);
- expect(marketDataStore.isDataStale()).toBe(false);
- });
-
- it("should consider data as stale if there's an error and data, even if the store is loading", () => {
- const storeWithError = {
- ...storeWithData,
- error: new Error("some error"),
- };
-
- vi.mocked(get)
- .mockReturnValueOnce(storeWithError)
- .mockReturnValueOnce({ ...storeWithError, isLoading: true })
- .mockReturnValueOnce({ ...storeWithError, lastUpdate: null })
- .mockReturnValueOnce({ ...storeWithError, error: null });
-
- expect(marketDataStore.isDataStale()).toBe(true);
- expect(marketDataStore.isDataStale()).toBe(true);
- expect(marketDataStore.isDataStale()).toBe(false);
- expect(marketDataStore.isDataStale()).toBe(false);
- });
-
- it("should consider data as stale if the last update exceeds the fetch interval", () => {
- vi.mocked(get)
- .mockReturnValueOnce({
- ...storeWithData,
- lastUpdate: new Date(Date.now() - marketDataFetchInterval - 1),
- })
- .mockReturnValueOnce({
- ...storeWithData,
- lastUpdate: new Date(Date.now() - marketDataFetchInterval),
- });
-
- expect(marketDataStore.isDataStale()).toBe(true);
- expect(marketDataStore.isDataStale()).toBe(false);
- });
- });
-
- describe("Handling local storage", () => {
- const consoleErrorSpy = vi.spyOn(console, "error");
-
- beforeEach(() => {
- vi.resetModules();
- vi.clearAllTimers();
- vi.mocked(duskAPI.getMarketData).mockClear();
- });
-
- afterEach(() => {
- consoleErrorSpy.mockReset();
- });
-
- afterAll(() => {
- consoleErrorSpy.mockRestore();
- });
-
- it("should use data in local storage to initialize the store if present", async () => {
- const storedData = {
- data: "C",
- lastUpdate: new Date(Date.now()),
- };
-
- localStorage.setItem(storeKey, JSON.stringify(storedData));
-
- marketDataStore = (await import("../marketDataStore")).default;
-
- expect(get(marketDataStore)).toStrictEqual({
- error: null,
- isLoading: false,
- ...storedData,
- });
- });
-
- it("should ignore errors while retrieving local storage data and initialize the store as usual, after logging them in the console", async () => {
- const FakeMarketDataInfo = () => {};
-
- FakeMarketDataInfo.parse = () => {
- throw new Error("some error");
- };
-
- vi.doMock("$lib/market-data", async (importOriginal) => ({
- .../** @type {typeof import("$lib/market-data")} */ (
- await importOriginal()
- ),
- MarketDataInfo: FakeMarketDataInfo,
- }));
- localStorage.setItem(storeKey, "{}");
-
- // we don't want to see our fake error in the console
- consoleErrorSpy.mockImplementationOnce(() => {});
-
- marketDataStore = (await import("../marketDataStore")).default;
-
- expect(consoleErrorSpy).toHaveBeenCalledTimes(1);
- expect(get(marketDataStore)).toStrictEqual({
- data: null,
- error: null,
- isLoading: true,
- lastUpdate: null,
- });
-
- vi.doUnmock("$lib/market-data");
- });
-
- it("should start the polling as usual if there's data stored, but it's stale", async () => {
- localStorage.setItem(
- storeKey,
- JSON.stringify({
- data: "D",
- lastUpdate: new Date(Date.now() - marketDataFetchInterval - 1),
- })
- );
-
- marketDataStore = (await import("../marketDataStore")).default;
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(1);
-
- await vi.advanceTimersByTimeAsync(settleTime + marketDataFetchInterval);
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(2);
- });
-
- it("should delay the polling if there's data stored and it's not stale", async () => {
- const offset = Math.floor(marketDataFetchInterval / 2);
- const expectedDelay = marketDataFetchInterval - offset;
-
- localStorage.setItem(
- storeKey,
- JSON.stringify({
- data: "D",
- lastUpdate: new Date(Date.now() - marketDataFetchInterval + offset),
- })
- );
-
- marketDataStore = (await import("../marketDataStore")).default;
-
- expect(duskAPI.getMarketData).not.toHaveBeenCalled();
-
- await vi.advanceTimersByTimeAsync(expectedDelay - 1);
-
- expect(duskAPI.getMarketData).not.toHaveBeenCalled();
-
- await vi.advanceTimersByTimeAsync(1);
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(1);
-
- await vi.advanceTimersByTimeAsync(marketDataFetchInterval + settleTime);
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(2);
- });
-
- it("should save the received data in local storage if the request has new data", async () => {
- marketDataStore = (await import("../marketDataStore")).default;
-
- await vi.advanceTimersByTimeAsync(settleTime);
-
- const expectedStorage = {
- data: fakeMarketDataA,
- lastUpdate: new Date(),
- };
- const expectedStore = {
- ...expectedStorage,
- error: null,
- isLoading: false,
- };
-
- expect(duskAPI.getMarketData).toHaveBeenCalledTimes(1);
- expect(get(marketDataStore)).toStrictEqual(expectedStore);
- expect(localStorage.getItem(storeKey)).toStrictEqual(
- JSON.stringify(expectedStorage)
- );
- });
-
- it("should leave the local storage as it is if the market data request ends with an error", async () => {
- const error = new Error("some error");
-
- vi.mocked(duskAPI.getMarketData).mockImplementationOnce(() =>
- rejectAfter(settleTime, error)
- );
-
- marketDataStore = (await import("../marketDataStore")).default;
-
- await vi.advanceTimersByTimeAsync(settleTime);
-
- expect(get(marketDataStore)).toStrictEqual({
- data: null,
- error,
- isLoading: false,
- lastUpdate: null,
- });
-
- expect(localStorage.getItem(storeKey)).toBeNull();
- });
-
- it("should ignore errors while writing to the storage and continue polling as usual", async () => {
- const setDataSpy = vi
- .spyOn(Storage.prototype, "setItem")
- .mockImplementation(() => {
- throw new Error("some error");
- });
-
- // we don't want to see our fake error in the console
- consoleErrorSpy.mockImplementationOnce(() => {});
-
- marketDataStore = (await import("../marketDataStore")).default;
-
- await vi.advanceTimersByTimeAsync(settleTime);
-
- expect(setDataSpy).not.toHaveBeenCalled();
- expect(get(marketDataStore)).toStrictEqual({
- data: fakeMarketDataA,
- error: null,
- isLoading: false,
- lastUpdate: new Date(),
- });
-
- expect(consoleErrorSpy).toHaveBeenCalledTimes(1);
-
- setDataSpy.mockRestore();
- });
- });
-});
diff --git a/explorer/src/lib/stores/appStore.js b/explorer/src/lib/stores/appStore.js
deleted file mode 100644
index 8430f2e3dd..0000000000
--- a/explorer/src/lib/stores/appStore.js
+++ /dev/null
@@ -1,80 +0,0 @@
-import { get, writable } from "svelte/store";
-import { browser } from "$app/environment";
-
-const maxWidthMediaQuery = window.matchMedia("(max-width: 1024px)");
-const browserDefaults = browser
- ? {
- darkMode: window.matchMedia("(prefers-color-scheme: dark)").matches,
- }
- : {
- darkMode: false,
- };
-const DEFAULT_FETCH_INTERVAL = 10000;
-const DEFAULT_MARKET_FETCH_INTERVAL = 120000;
-const DEFAULT_PROVISIONERS_FETCH_INTERVAL = 30000;
-const DEFAULT_STATS_FETCH_INTERVAL = DEFAULT_FETCH_INTERVAL;
-
-/** @type {AppStoreContent} */
-const initialState = {
- ...browserDefaults,
- blocksListEntries: Number(import.meta.env.VITE_BLOCKS_LIST_ENTRIES),
- chainInfoEntries: Number(import.meta.env.VITE_CHAIN_INFO_ENTRIES),
- fetchInterval:
- Number(import.meta.env.VITE_REFETCH_INTERVAL) || DEFAULT_FETCH_INTERVAL,
- hasTouchSupport: "ontouchstart" in window || navigator.maxTouchPoints > 0,
- isSmallScreen: maxWidthMediaQuery.matches,
- marketDataFetchInterval:
- Number(import.meta.env.VITE_MARKET_DATA_REFETCH_INTERVAL) ||
- DEFAULT_MARKET_FETCH_INTERVAL,
- nodeInfo: {
- /* eslint-disable camelcase */
- bootstrapping_nodes: [],
- chain_id: undefined,
- kadcast_address: "",
- version: "",
- version_build: "",
- /* eslint-enable camelcase */
- },
- provisionersFetchInterval: Number(
- import.meta.env.PROVISIONERS_REFETCH_INTERVAL ||
- DEFAULT_PROVISIONERS_FETCH_INTERVAL
- ),
- statsFetchInterval:
- Number(import.meta.env.VITE_STATS_REFETCH_INTERVAL) ||
- DEFAULT_STATS_FETCH_INTERVAL,
- transactionsListEntries: Number(
- import.meta.env.VITE_TRANSACTIONS_LIST_ENTRIES
- ),
-};
-const store = writable(initialState);
-const { set, subscribe } = store;
-
-maxWidthMediaQuery.addEventListener("change", (event) => {
- set({
- ...get(store),
- isSmallScreen: event.matches,
- });
-});
-
-/** @param {NodeInfo} nodeInfo */
-const setNodeInfo = (nodeInfo) => {
- set({
- ...get(store),
- nodeInfo,
- });
-};
-
-/** @param {boolean} darkMode */
-const setTheme = (darkMode) => {
- set({
- ...get(store),
- darkMode,
- });
-};
-
-/** @type {AppStore} */
-export default {
- setNodeInfo,
- setTheme,
- subscribe,
-};
diff --git a/explorer/src/lib/stores/index.js b/explorer/src/lib/stores/index.js
deleted file mode 100644
index 1eec2efe2b..0000000000
--- a/explorer/src/lib/stores/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as appStore } from "./appStore";
-export { default as marketDataStore } from "./marketDataStore";
-export { default as nodeLocationStore } from "./nodeLocationStore";
diff --git a/explorer/src/lib/stores/marketDataStore.js b/explorer/src/lib/stores/marketDataStore.js
deleted file mode 100644
index c78e58a020..0000000000
--- a/explorer/src/lib/stores/marketDataStore.js
+++ /dev/null
@@ -1,107 +0,0 @@
-import { derived, get } from "svelte/store";
-
-import { createPollingDataStore } from "$lib/dusk/svelte-stores";
-import { MarketDataInfo } from "$lib/market-data";
-import { duskAPI } from "$lib/services";
-
-import appStore from "./appStore";
-
-const storeKey = "market-data";
-
-/**
- * @param {"reading" | "storing"} action
- * @param {unknown} err
- */
-const logStoreError = (action, err) =>
- /* eslint-disable-next-line no-console */
- console.error(`Error while ${action} market data: %s`, err);
-
-/** @type {() => MarketDataStorage | null} */
-function getStorage() {
- try {
- const storedData = localStorage.getItem(storeKey);
-
- return storedData ? MarketDataInfo.parse(storedData).toStorageData() : null;
- } catch (err) {
- logStoreError("reading", err);
-
- return null;
- }
-}
-
-/** @param {MarketDataInfo} info */
-function setStorage(info) {
- try {
- localStorage.setItem(storeKey, info.toJSON());
- } catch (err) {
- logStoreError("storing", err);
- }
-}
-
-const fetchInterval = get(appStore).marketDataFetchInterval;
-const pollingDataStore = createPollingDataStore(
- duskAPI.getMarketData,
- fetchInterval
-);
-
-/** @type {MarketDataStoreContent} */
-const initialState = {
- ...get(pollingDataStore),
- lastUpdate: null,
- ...getStorage(),
-};
-
-const marketDataStore = derived(
- pollingDataStore,
- ($pollingDataStore, set) => {
- const current = get(marketDataStore);
- const isDataChanged = $pollingDataStore.data !== current.data;
- const hasNewData = $pollingDataStore.data && isDataChanged;
- const newStore = {
- data: $pollingDataStore.data ?? current.data,
- error: hasNewData ? null : ($pollingDataStore.error ?? current.error),
- isLoading: $pollingDataStore.isLoading,
- lastUpdate: hasNewData
- ? new Date()
- : current.data
- ? current.lastUpdate
- : null,
- };
-
- if (hasNewData) {
- setStorage(
- new MarketDataInfo(
- newStore.data,
- /** @type {Date}*/ (newStore.lastUpdate)
- )
- );
- }
-
- set(newStore);
- },
- initialState
-);
-
-function isDataStale() {
- const { error, isLoading, lastUpdate } = get(marketDataStore);
-
- return (
- !!lastUpdate &&
- (error !== null || (!isLoading && Date.now() > +lastUpdate + fetchInterval))
- );
-}
-
-if (!initialState.lastUpdate || isDataStale()) {
- pollingDataStore.start();
-} else {
- setTimeout(
- pollingDataStore.start,
- +initialState.lastUpdate + fetchInterval - Date.now()
- );
-}
-
-/** @type {MarketDataStore} */
-export default {
- isDataStale,
- subscribe: marketDataStore.subscribe,
-};
diff --git a/explorer/src/lib/stores/nodeLocationStore.js b/explorer/src/lib/stores/nodeLocationStore.js
deleted file mode 100644
index e7d25b7a60..0000000000
--- a/explorer/src/lib/stores/nodeLocationStore.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { createDataStore } from "$lib/dusk/svelte-stores";
-import { duskAPI } from "$lib/services";
-
-const locationsDataStore = createDataStore(duskAPI.getNodeLocations);
-locationsDataStore.getData();
-
-/** @type {NodeLocationStore} */
-export default {
- subscribe: locationsDataStore.subscribe,
-};
diff --git a/explorer/src/lib/stores/stores.d.ts b/explorer/src/lib/stores/stores.d.ts
deleted file mode 100644
index 6c9aa2d5ee..0000000000
--- a/explorer/src/lib/stores/stores.d.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-type AppStore = import("svelte/store").Readable & {
- setNodeInfo: (value: NodeInfo) => void;
- setTheme: (value: boolean) => void;
-};
-
-type AppStoreContent = {
- blocksListEntries: number;
- chainInfoEntries: number;
- darkMode: boolean;
- fetchInterval: number;
- isSmallScreen: boolean;
- hasTouchSupport: boolean;
- marketDataFetchInterval: number;
- provisionersFetchInterval: number;
- nodeInfo: NodeInfo;
- statsFetchInterval: number;
- transactionsListEntries: number;
-};
-
-type MarketDataStore =
- import("svelte/store").Readable & {
- isDataStale: () => boolean;
- };
-
-type MarketDataStoreContent = {
- data: MarketData | null;
- error: Error | null;
- isLoading: boolean;
- lastUpdate: Date | null;
-};
-
-type NetworkOption = {
- label: string;
- value: URL;
-};
-
-type NodeLocationStore =
- import("svelte/store").Readable;
-
-type NodeLocationStoreContent = {
- data: NodeLocation[] | null;
- error: Error | null;
- isLoading: boolean;
-};
-
-type NodeInfo = {
- bootstrapping_nodes: Array;
- chain_id: number | null | undefined;
- kadcast_address: string;
- version: string;
- version_build: string;
-};
diff --git a/explorer/src/lib/url/__tests__/makeNodeUrl.spec.js b/explorer/src/lib/url/__tests__/makeNodeUrl.spec.js
deleted file mode 100644
index 2a522eb1fd..0000000000
--- a/explorer/src/lib/url/__tests__/makeNodeUrl.spec.js
+++ /dev/null
@@ -1,84 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-
-import { makeNodeUrl } from "..";
-
-const protocol = "https://";
-
-afterEach(async () => {
- vi.unstubAllGlobals();
- vi.unstubAllEnvs();
-});
-
-describe("makeNodeUrl", () => {
- const localhostString = window.location.hostname;
-
- it("should return a local URL when VITE_NODE_URL is not set", () => {
- vi.stubEnv("VITE_NODE_URL", "");
-
- expect(makeNodeUrl().hostname).toBe(localhostString);
- });
-
- it("should return a local URL with no base path when VITE_NODE_URL is not set and VITE_RUSK_PATH is not set", () => {
- vi.stubEnv("VITE_NODE_URL", "");
- vi.stubEnv("VITE_RUSK_PATH", "");
-
- expect(makeNodeUrl().hostname).toBe(localhostString);
- expect(makeNodeUrl().pathname).toBe("/");
- });
-
- it("should return a local URL with a base path when `VITE_NODE_URL` is not set and `VITE_RUSK_PATH` is set to a valid string", () => {
- vi.stubEnv("VITE_NODE_URL", "");
- vi.stubEnv("VITE_RUSK_PATH", "/testing");
-
- expect(makeNodeUrl().hostname).toBe(localhostString);
- expect(makeNodeUrl().pathname).toBe("/testing");
- });
-
- it("should return the devnet URL when the hostname starts with 'apps.staging.devnet'", () => {
- const hostname = "apps.staging.devnet.dusk.network";
-
- vi.stubGlobal("location", { hostname, protocol });
-
- expect(makeNodeUrl().hostname).toBe("devnet.nodes.dusk.network");
- });
-
- it("should return the devnet URL when the hostname starts with 'apps.devnet'", () => {
- const hostname = "apps.devnet.dusk.network";
-
- vi.stubGlobal("location", { hostname, protocol });
-
- expect(makeNodeUrl().hostname).toBe("devnet.nodes.dusk.network");
- });
-
- it("should return the testnet URL when the hostname starts with 'apps.staging.testnet'", () => {
- const hostname = "apps.staging.testnet.dusk.network";
-
- vi.stubGlobal("location", { hostname, protocol });
-
- expect(makeNodeUrl().hostname).toBe("testnet.nodes.dusk.network");
- });
-
- it("should return the testnet URL when the hostname starts with 'apps.testnet'", () => {
- const hostname = "apps.testnet.dusk.network";
-
- vi.stubGlobal("location", { hostname, protocol });
-
- expect(makeNodeUrl().hostname).toBe("testnet.nodes.dusk.network");
- });
-
- it("should return the mainnet URL when the hostname starts with 'apps.staging'", () => {
- const hostname = "apps.staging.dusk.network";
-
- vi.stubGlobal("location", { hostname, protocol });
-
- expect(makeNodeUrl().hostname).toBe("nodes.dusk.network");
- });
-
- it("should return the mainnet URL when the hostname starts with 'apps'", () => {
- const hostname = "apps.dusk.network";
-
- vi.stubGlobal("location", { hostname, protocol });
-
- expect(makeNodeUrl().hostname).toBe("nodes.dusk.network");
- });
-});
diff --git a/explorer/src/lib/url/index.js b/explorer/src/lib/url/index.js
deleted file mode 100644
index 6490bc3084..0000000000
--- a/explorer/src/lib/url/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as makeNodeUrl } from "./makeNodeUrl";
diff --git a/explorer/src/lib/url/makeNodeUrl.js b/explorer/src/lib/url/makeNodeUrl.js
deleted file mode 100644
index 60fcbaaa68..0000000000
--- a/explorer/src/lib/url/makeNodeUrl.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * Constructs a node URL based on the current subdomain
- *
- * @param {string} path
- * @returns {URL} nodeUrl
- */
-function makeNodeUrl(path = "") {
- if (path !== "" && !path.startsWith("/")) {
- throw new Error("A path must start with a '/'.");
- }
-
- const subDomains = window.location.hostname.split(".");
- const hostedNodeDomain = subDomains.slice(-2).join(".");
- const nodeBaseUrl = import.meta.env.VITE_NODE_URL || "";
- const nodeBasePath = import.meta.env.VITE_RUSK_PATH || "";
-
- /**
- * @param {string} base
- * @returns {URL}
- */
- const buildHostedNodeUrl = (base) =>
- new URL(
- `${window.location.protocol}${base}${hostedNodeDomain}${nodeBasePath}${path}`
- );
-
- let nodeUrl;
-
- switch (`${subDomains[0]}.${subDomains[1]}.${subDomains[2]}`) {
- case "apps.dusk.network": // mainnet
- case "apps.staging.dusk": // mainnet staging
- nodeUrl = buildHostedNodeUrl("nodes.");
- break;
- case "apps.devnet.dusk":
- case "apps.staging.devnet":
- nodeUrl = buildHostedNodeUrl("devnet.nodes.");
- break;
- case "apps.testnet.dusk":
- case "apps.staging.testnet":
- nodeUrl = buildHostedNodeUrl("testnet.nodes.");
- break;
- default:
- nodeUrl = new URL(
- `${nodeBaseUrl}${nodeBasePath}${path}`,
- import.meta.url
- );
- break;
- }
-
- return nodeUrl;
-}
-
-export default makeNodeUrl;
diff --git a/explorer/src/lib/utils/encoders/base58.js b/explorer/src/lib/utils/encoders/base58.js
deleted file mode 100644
index c5b3faf188..0000000000
--- a/explorer/src/lib/utils/encoders/base58.js
+++ /dev/null
@@ -1,68 +0,0 @@
-// @ts-nocheck
-/* eslint-disable */
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this
-// file, You can obtain one at http://mozilla.org/MPL/2.0/.
-//
-// Copyright (c) DUSK NETWORK. All rights reserved.
-
-const A = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
-
-// Uint8Array raw byte input
-export function encode(buffer) {
- var d = [], //the array for storing the stream of base58 digits
- s = "", //the result string variable that will be returned
- i, //the iterator variable for the byte input
- j, //the iterator variable for the base58 digit array (d)
- c, //the carry amount variable that is used to overflow from the current base58 digit to the next base58 digit
- n; //a temporary placeholder variable for the current base58 digit
- for (i in buffer) {
- //loop through each byte in the input stream
- ((j = 0), //reset the base58 digit iterator
- (c = buffer[i])); //set the initial carry amount equal to the current byte amount
- s += c || s.length ^ i ? "" : 1; //prepend the result string with a "1" (0 in base58) if the byte stream is zero and non-zero bytes haven't been seen yet (to ensure correct decode length)
- while (j in d || c) {
- //start looping through the digits until there are no more digits and no carry amount
- n = d[j]; //set the placeholder for the current base58 digit
- n = n ? n * 256 + c : c; //shift the current base58 one byte and add the carry amount (or just add the carry amount if this is a new digit)
- c = (n / 58) | 0; //find the new carry amount (floored integer of current digit divided by 58)
- d[j] = n % 58; //reset the current base58 digit to the remainder (the carry amount will pass on the overflow)
- j++; //iterate to the next base58 digit
- }
- }
- while (j--)
- //since the base58 digits are backwards, loop through them in reverse order
- s += A[d[j]]; //lookup the character associated with each base58 digit
- return s; //return the final base58 string
-}
-
-// Base58 encoded string input
-export function decode(string) {
- var d = [], //the array for storing the stream of decoded bytes
- b = [], //the result byte array that will be returned
- i, //the iterator variable for the base58 string
- j, //the iterator variable for the byte array (d)
- c, //the carry amount variable that is used to overflow from the current byte to the next byte
- n; //a temporary placeholder variable for the current byte
- for (i in string) {
- //loop through each base58 character in the input string
- ((j = 0), //reset the byte iterator
- (c = A.indexOf(string[i]))); //set the initial carry amount equal to the current base58 digit
- if (c < 0)
- //see if the base58 digit lookup is invalid (-1)
- return undefined; //if invalid base58 digit, bail out and return undefined
- c || b.length ^ i ? i : b.push(0); //prepend the result array with a zero if the base58 digit is zero and non-zero characters haven't been seen yet (to ensure correct decode length)
- while (j in d || c) {
- //start looping through the bytes until there are no more bytes and no carry amount
- n = d[j]; //set the placeholder for the current byte
- n = n ? n * 58 + c : c; //shift the current byte 58 units and add the carry amount (or just add the carry amount if this is a new byte)
- c = n >> 8; //find the new carry amount (1-byte shift of current byte value)
- d[j] = n % 256; //reset the current byte to the remainder (the carry amount will pass on the overflow)
- j++; //iterate to the next byte
- }
- }
- while (j--)
- //since the byte array is backwards, loop through it in reverse order
- b.push(d[j]); //append each byte to the result
- return new Uint8Array(b); //return the final byte array in Uint8Array format
-}
diff --git a/explorer/src/routes/+error.svelte b/explorer/src/routes/+error.svelte
deleted file mode 100644
index 81c4db21bd..0000000000
--- a/explorer/src/routes/+error.svelte
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
- Error {status}
- {error?.message ?? ""}
-
-
-
-
-
diff --git a/explorer/src/routes/+layout.js b/explorer/src/routes/+layout.js
deleted file mode 100644
index c1a2b64b8d..0000000000
--- a/explorer/src/routes/+layout.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/* istanbul ignore file */
-export const csr = true;
-export const prerender = true;
-export const ssr = false;
-export const trailingSlash = "always";
diff --git a/explorer/src/routes/+layout.svelte b/explorer/src/routes/+layout.svelte
deleted file mode 100644
index 1621e22c1d..0000000000
--- a/explorer/src/routes/+layout.svelte
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
- toggleScroll(e.detail)} />
-
-
-
-
-
-
-
-
diff --git a/explorer/src/routes/+page.svelte b/explorer/src/routes/+page.svelte
deleted file mode 100644
index 5b77864d63..0000000000
--- a/explorer/src/routes/+page.svelte
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- {#if nodesData}
-
-
-
-
-
- {/if}
-
-
-
diff --git a/explorer/src/routes/__tests__/__snapshots__/error.spec.js.snap b/explorer/src/routes/__tests__/__snapshots__/error.spec.js.snap
deleted file mode 100644
index bcebd20392..0000000000
--- a/explorer/src/routes/__tests__/__snapshots__/error.spec.js.snap
+++ /dev/null
@@ -1,51 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Error page > should be able to render the error page even without an error 1`] = `
-
-
-
-
-
- Error
- 200
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Error page > should render the error page 1`] = `
-
-
-
-
-
- Error
- 500
-
-
- some error message
-
-
-
-
-
-
-`;
diff --git a/explorer/src/routes/__tests__/__snapshots__/layout.spec.js.snap b/explorer/src/routes/__tests__/__snapshots__/layout.spec.js.snap
deleted file mode 100644
index 4c60c62a82..0000000000
--- a/explorer/src/routes/__tests__/__snapshots__/layout.spec.js.snap
+++ /dev/null
@@ -1,241 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Main layout > should render the app's main layout 1`] = `
-
-
-
-
-
- some text
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/routes/__tests__/__snapshots__/page.spec.js.snap b/explorer/src/routes/__tests__/__snapshots__/page.spec.js.snap
deleted file mode 100644
index 63298adbdf..0000000000
--- a/explorer/src/routes/__tests__/__snapshots__/page.spec.js.snap
+++ /dev/null
@@ -1,5398 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`home page > should render the home page, start polling for the latest chain info and stop the polling when the component is destroyed 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
-
- Dusk Price
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
-
- Total Market Cap
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Current Stake
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Pending Stake
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Last Block
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Total Transactions
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Active Provisioners
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Pending Provisioners
-
-
-
-
-
-
-
-
-
-
-
-
-
- 15
-
-
-
-
-
-
-
- Largest Node Cluster
-
-
-
-
-
-
-
-
-
-
- North Bergen, US
-
-
-
-
-
-
-
- Largest Cluster Location
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`home page > should render the home page, start polling for the latest chain info and stop the polling when the component is destroyed 2`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
- 0.368
-
-
-
-
-
-
-
-
- Dusk Price
-
-
-
-
-
-
-
-
-
-
- 168.00M
-
-
-
-
-
-
-
-
- Total Market Cap
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Current Stake
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Pending Stake
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Last Block
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Total Transactions
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Active Provisioners
-
-
-
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
- Pending Provisioners
-
-
-
-
-
-
-
-
-
-
-
-
-
- 15
-
-
-
-
-
-
-
- Largest Node Cluster
-
-
-
-
-
-
-
-
-
-
- North Bergen, US
-
-
-
-
-
-
-
- Largest Cluster Location
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1,378,753
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,752
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,751
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,750
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,749
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,748
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,747
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,746
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,745
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,744
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,743
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,742
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,741
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,740
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,378,739
-
-
-
- 17 hours ago
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220846
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221266
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.000215552
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- 18 hours ago
-
-
-
-
-
-
- 0.000215617
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- 18 hours ago
-
-
-
-
-
-
- 0.000214413
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- 18 hours ago
-
-
-
-
-
-
- 0.000291769
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220926
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221243
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220934
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220989
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221018
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008220865
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- 0.008221367
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/routes/__tests__/error.spec.js b/explorer/src/routes/__tests__/error.spec.js
deleted file mode 100644
index ffa6889c48..0000000000
--- a/explorer/src/routes/__tests__/error.spec.js
+++ /dev/null
@@ -1,43 +0,0 @@
-import { afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { get, readable } from "svelte/store";
-
-import * as appStores from "$app/stores";
-
-import ErrorPage from "../+error.svelte";
-
-describe("Error page", () => {
- const storeWithoutError = {
- ...get(appStores.page),
- error: null,
- status: 200,
- };
- const storeWithError = {
- ...storeWithoutError,
- error: new Error("some error message"),
- status: 500,
- };
- const baseOptions = { props: {}, target: document.body };
-
- afterEach(cleanup);
-
- it("should render the error page", async () => {
- const pageStoreSpy = vi
- .spyOn(appStores, "page", "get")
- .mockReturnValue(readable(storeWithError));
- const { container } = render(ErrorPage, baseOptions);
-
- expect(container).toMatchSnapshot();
- pageStoreSpy.mockRestore();
- });
-
- it("should be able to render the error page even without an error", () => {
- const pageStoreSpy = vi
- .spyOn(appStores, "page", "get")
- .mockReturnValue(readable(storeWithoutError));
- const { container } = render(ErrorPage, baseOptions);
-
- expect(container).toMatchSnapshot();
- pageStoreSpy.mockRestore();
- });
-});
diff --git a/explorer/src/routes/__tests__/layout.spec.js b/explorer/src/routes/__tests__/layout.spec.js
deleted file mode 100644
index 6380788221..0000000000
--- a/explorer/src/routes/__tests__/layout.spec.js
+++ /dev/null
@@ -1,207 +0,0 @@
-import {
- afterAll,
- afterEach,
- beforeEach,
- describe,
- expect,
- it,
- vi,
-} from "vitest";
-import { cleanup, fireEvent } from "@testing-library/svelte";
-import { get } from "svelte/store";
-import { duskAPI } from "$lib/services";
-import { appStore as realAppStore } from "$lib/stores";
-import { apiNodeInfo } from "$lib/mock-data";
-import { renderWithSimpleContent } from "$lib/dusk/test-helpers";
-
-import MainLayout from "../+layout.svelte";
-
-function createTooltippedElement() {
- const tooltippedElement = document.body.appendChild(
- document.createElement("div")
- );
-
- tooltippedElement.setAttribute("data-tooltip-id", "main-tooltip");
- tooltippedElement.setAttribute("data-tooltip-text", "some text");
-
- return tooltippedElement;
-}
-
-vi.mock("$lib/stores", async (importOriginal) => {
- /** @type {typeof import("$lib/stores")} */
- const original = await importOriginal();
- const storeGet = (await import("svelte/store")).get;
- const { mockReadableStore } = await import("$lib/dusk/test-helpers");
- const mockedAppStore = mockReadableStore(storeGet(original.appStore));
-
- return {
- ...original,
- appStore: {
- ...mockedAppStore,
- /** @param {NodeInfo} v w*/
- setNodeInfo: (v) =>
- mockedAppStore.setMockedStoreValue({
- ...mockedAppStore.getMockedStoreValue(),
- nodeInfo: v,
- }),
- /** @param {boolean} v */
- setTheme: (v) =>
- mockedAppStore.setMockedStoreValue({
- ...mockedAppStore.getMockedStoreValue(),
- darkMode: v,
- }),
- },
- };
-});
-
-// just an alias to force the type
-const appStore =
- /** @type { AppStore & ReturnType} */ (
- realAppStore
- );
-
-describe("Main layout", () => {
- beforeEach(() => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2025, 0, 1));
- });
-
- afterEach(() => {
- cleanup();
- vi.useRealTimers();
- });
-
- const getNodeInfoSpy = vi
- .spyOn(duskAPI, "getNodeInfo")
- .mockResolvedValue(apiNodeInfo);
-
- const baseOptions = { props: {}, target: document.body };
-
- afterEach(() => {
- cleanup();
- getNodeInfoSpy.mockClear();
- });
-
- afterAll(() => {
- getNodeInfoSpy.mockRestore();
- });
-
- it("should render the app's main layout", () => {
- const { container } = renderWithSimpleContent(MainLayout, baseOptions);
- expect(container).toMatchSnapshot();
- });
-
- it("should change the overflow of document's body when the navbar toggle menu button is clicked", async () => {
- const { container } = renderWithSimpleContent(MainLayout, baseOptions);
- const navbarToggleButton = /** @type {HTMLButtonElement} */ (
- container.querySelector(".dusk-navbar__toggle")
- );
-
- await fireEvent.click(navbarToggleButton);
-
- expect(document.body.style.overflow).toBe("hidden");
-
- await fireEvent.click(navbarToggleButton);
-
- expect(document.body.style.overflow).toBe("auto");
- });
-
- it('should add and remove the "dark" class name to the `html` element when the `darkMode` value changes in the settings store', async () => {
- const isDarkMode = () => get(appStore).darkMode;
- const hasDarkClass = () =>
- document.documentElement.classList.contains("dark");
-
- expect(isDarkMode()).toBe(false);
- expect(hasDarkClass()).toBe(false);
-
- appStore.setTheme(true);
-
- expect(isDarkMode()).toBe(true);
- expect(hasDarkClass()).toBe(true);
-
- appStore.setTheme(false);
-
- expect(isDarkMode()).toBe(false);
- expect(hasDarkClass()).toBe(false);
- });
-
- it("should not set a delay show on the tooltip if the device has touch support", async () => {
- vi.useFakeTimers();
-
- renderWithSimpleContent(MainLayout, baseOptions);
-
- const tooltip = document.getElementById("main-tooltip");
- const tooltippedElement = createTooltippedElement();
-
- expect(get(appStore).hasTouchSupport).toBe(true);
- expect(tooltip).toHaveAttribute("aria-hidden", "true");
-
- await fireEvent.mouseEnter(tooltippedElement);
- await vi.advanceTimersByTimeAsync(1);
-
- expect(tooltip).toHaveAttribute("aria-hidden", "false");
-
- vi.useRealTimers();
- });
-
- it("should use the default delay for the tooltip if the device has touch support", async () => {
- const defaultDelayShow = 500;
-
- vi.useFakeTimers();
-
- appStore.setMockedStoreValue({
- ...get(appStore),
- hasTouchSupport: false,
- });
-
- renderWithSimpleContent(MainLayout, baseOptions);
-
- const tooltippedElement = createTooltippedElement();
- const tooltip = document.getElementById("main-tooltip");
-
- expect(tooltip).toHaveAttribute("aria-hidden", "true");
-
- await fireEvent.mouseEnter(tooltippedElement);
- await vi.advanceTimersByTimeAsync(defaultDelayShow - 1);
-
- expect(tooltip).toHaveAttribute("aria-hidden", "true");
-
- await vi.advanceTimersByTimeAsync(1);
-
- expect(tooltip).toHaveAttribute("aria-hidden", "false");
-
- vi.useRealTimers();
- });
-
- it("should set the node information when the layout is mounted", async () => {
- vi.useFakeTimers();
-
- const nodeInfoInitialState = {
- /* eslint-disable camelcase */
- bootstrapping_nodes: [],
- chain_id: undefined,
- kadcast_address: "",
- version: "",
- version_build: "",
- /* eslint-enable camelcase */
- };
-
- appStore.setNodeInfo(nodeInfoInitialState);
-
- expect(get(appStore).nodeInfo).toStrictEqual(nodeInfoInitialState);
-
- renderWithSimpleContent(MainLayout, baseOptions);
-
- expect(getNodeInfoSpy).toHaveBeenCalledTimes(1);
-
- await vi.advanceTimersByTimeAsync(1);
-
- expect(get(appStore).nodeInfo).toStrictEqual(apiNodeInfo);
-
- appStore.setNodeInfo(nodeInfoInitialState);
-
- expect(get(appStore).nodeInfo).toStrictEqual(nodeInfoInitialState);
-
- vi.useRealTimers();
- });
-});
diff --git a/explorer/src/routes/__tests__/page.spec.js b/explorer/src/routes/__tests__/page.spec.js
deleted file mode 100644
index f8bcacf2fc..0000000000
--- a/explorer/src/routes/__tests__/page.spec.js
+++ /dev/null
@@ -1,94 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { get } from "svelte/store";
-
-import { resolveAfter } from "$lib/dusk/promise";
-import { duskAPI } from "$lib/services";
-
-import { appStore } from "$lib/stores";
-
-import HomePage from "../+page.svelte";
-
-const marketDataSettleTime = vi.hoisted(() => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 30));
-
- return 100;
-});
-vi.mock("$lib/services", async (importOriginal) => {
- /** @type {import("$lib/services")} */
- const original = await importOriginal();
- const { transformBlock, transformTransaction } =
- await import("$lib/chain-info");
- const { apiMarketData, gqlLatestChainInfo, nodeLocationsCount } =
- await import("$lib/mock-data");
- const { current_price: currentPrice, market_cap: marketCap } =
- apiMarketData.market_data;
-
- return {
- ...original,
- duskAPI: {
- ...original.duskAPI,
- getLatestChainInfo: vi.fn().mockResolvedValue({
- blocks: gqlLatestChainInfo.blocks.map(transformBlock),
- transactions: gqlLatestChainInfo.transactions.map(transformTransaction),
- }),
- getMarketData: () =>
- resolveAfter(marketDataSettleTime, { currentPrice, marketCap }),
- getNodeLocations: vi.fn().mockResolvedValue(nodeLocationsCount),
- },
- };
-});
-
-describe("home page", () => {
- const { chainInfoEntries, fetchInterval } = get(appStore);
-
- afterEach(() => {
- cleanup();
- vi.clearAllMocks();
- });
-
- afterAll(() => {
- vi.useRealTimers();
- vi.doUnmock("$lib/services");
- });
-
- it("should render the home page, start polling for the latest chain info and stop the polling when the component is destroyed", async () => {
- const { container, unmount } = render(HomePage);
-
- // snapshost in loading state
- expect(container.firstChild).toMatchSnapshot();
- expect(duskAPI.getLatestChainInfo).toHaveBeenCalledTimes(1);
- expect(duskAPI.getLatestChainInfo).toHaveBeenNthCalledWith(
- 1,
- chainInfoEntries
- );
-
- await vi.advanceTimersByTimeAsync(marketDataSettleTime);
-
- // snapshot with received data from GraphQL
- expect(container.firstChild).toMatchSnapshot();
-
- await vi.advanceTimersByTimeAsync(fetchInterval - marketDataSettleTime);
-
- expect(duskAPI.getLatestChainInfo).toHaveBeenCalledTimes(2);
- expect(duskAPI.getLatestChainInfo).toHaveBeenNthCalledWith(
- 2,
- chainInfoEntries
- );
-
- await vi.advanceTimersByTimeAsync(fetchInterval);
-
- expect(duskAPI.getLatestChainInfo).toHaveBeenCalledTimes(3);
- expect(duskAPI.getLatestChainInfo).toHaveBeenNthCalledWith(
- 3,
- chainInfoEntries
- );
-
- unmount();
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(duskAPI.getLatestChainInfo).toHaveBeenCalledTimes(3);
- });
-});
diff --git a/explorer/src/routes/accounts/+page.svelte b/explorer/src/routes/accounts/+page.svelte
deleted file mode 100644
index 0e412041af..0000000000
--- a/explorer/src/routes/accounts/+page.svelte
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-{#if key}
-
-{:else}
-
- Account not provided.
-
-{/if}
diff --git a/explorer/src/routes/blocks/+page.svelte b/explorer/src/routes/blocks/+page.svelte
deleted file mode 100644
index 14647ec394..0000000000
--- a/explorer/src/routes/blocks/+page.svelte
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- pollingDataStore.start(blocksListEntries)}
- blocks={data}
- {error}
- loading={isLoading}
- {isSmallScreen}
- />
-
diff --git a/explorer/src/routes/blocks/__tests__/__snapshots__/page.spec.js.snap b/explorer/src/routes/blocks/__tests__/__snapshots__/page.spec.js.snap
deleted file mode 100644
index bbe449cf67..0000000000
--- a/explorer/src/routes/blocks/__tests__/__snapshots__/page.spec.js.snap
+++ /dev/null
@@ -1,2981 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Blocks page > should render the Blocks page with the mobile layout 1`] = `
-
-
-
-
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,454
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,453
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,452
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,451
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,450
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,449
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,448
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,447
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,446
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,445
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,444
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,443
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,442
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,441
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
- block
-
-
-
-
-
- 1,365,440
-
-
-
-
-
-
- relative time
-
-
-
-
-
- yesterday
-
-
-
-
-
-
- average gas price
-
-
-
-
- 0
-
-
-
-
-
- gas used
-
-
-
-
-
-
-
-
-
-
- txn(s)
-
-
-
-
- 0
-
-
-
-
-
- rewards
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Blocks page > should render the Blocks page, start polling for blocks and stop the polling when unmounted 1`] = `
-
-`;
-
-exports[`Blocks page > should render the Blocks page, start polling for blocks and stop the polling when unmounted 2`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1,365,454
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,453
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,452
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,451
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,450
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,449
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,448
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,447
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,446
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,445
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,444
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,443
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,442
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,441
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
- 1,365,440
-
-
-
- yesterday
-
-
-
-
-
-
- AVG PRICE:
-
-
- 0
-
-
-
- USED:
-
-
- 0
-
-
-
-
- 0
-
-
-
-
- 16
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/routes/blocks/__tests__/page.spec.js b/explorer/src/routes/blocks/__tests__/page.spec.js
deleted file mode 100644
index 10bfc30dab..0000000000
--- a/explorer/src/routes/blocks/__tests__/page.spec.js
+++ /dev/null
@@ -1,76 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { get } from "svelte/store";
-
-import { duskAPI } from "$lib/services";
-import { transformBlock } from "$lib/chain-info";
-import { appStore } from "$lib/stores";
-import { gqlBlocks } from "$lib/mock-data";
-import { changeMediaQueryMatches } from "$lib/dusk/test-helpers";
-
-import Blocks from "../+page.svelte";
-
-describe("Blocks page", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 30));
-
- const { blocksListEntries, fetchInterval } = get(appStore);
- const getBlocksSpy = vi
- .spyOn(duskAPI, "getBlocks")
- .mockResolvedValue(gqlBlocks.blocks.map(transformBlock));
-
- afterEach(() => {
- cleanup();
- getBlocksSpy.mockClear();
- });
-
- afterAll(() => {
- vi.useRealTimers();
- getBlocksSpy.mockRestore();
- });
-
- it("should render the Blocks page, start polling for blocks and stop the polling when unmounted", async () => {
- const { container, unmount } = render(Blocks);
-
- // snapshost in loading state
- expect(container.firstChild).toMatchSnapshot();
- expect(getBlocksSpy).toHaveBeenCalledTimes(1);
- expect(getBlocksSpy).toHaveBeenNthCalledWith(1, blocksListEntries);
-
- await vi.advanceTimersByTimeAsync(1);
-
- // snapshot with received data from GraphQL
- expect(container.firstChild).toMatchSnapshot();
-
- await vi.advanceTimersByTimeAsync(fetchInterval - 1);
-
- expect(getBlocksSpy).toHaveBeenCalledTimes(2);
- expect(getBlocksSpy).toHaveBeenNthCalledWith(2, blocksListEntries);
-
- await vi.advanceTimersByTimeAsync(fetchInterval);
-
- expect(getBlocksSpy).toHaveBeenCalledTimes(3);
- expect(getBlocksSpy).toHaveBeenNthCalledWith(3, blocksListEntries);
-
- unmount();
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(getBlocksSpy).toHaveBeenCalledTimes(3);
- });
-
- it("should render the Blocks page with the mobile layout", async () => {
- const { container } = render(Blocks);
-
- changeMediaQueryMatches("(max-width: 1024px)", true);
-
- expect(get(appStore).isSmallScreen).toBe(true);
-
- expect(getBlocksSpy).toHaveBeenCalledTimes(1);
- expect(getBlocksSpy).toHaveBeenNthCalledWith(1, blocksListEntries);
-
- await vi.advanceTimersByTimeAsync(1);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/routes/blocks/block/+page.svelte b/explorer/src/routes/blocks/block/+page.svelte
deleted file mode 100644
index dc0a4123e6..0000000000
--- a/explorer/src/routes/blocks/block/+page.svelte
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
diff --git a/explorer/src/routes/blocks/block/__tests__/__snapshots__/page.spec.js.snap b/explorer/src/routes/blocks/block/__tests__/__snapshots__/page.spec.js.snap
deleted file mode 100644
index 21a39271a9..0000000000
--- a/explorer/src/routes/blocks/block/__tests__/__snapshots__/page.spec.js.snap
+++ /dev/null
@@ -1,2026 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Block Details > should render the Block Details page and query the necessary info 1`] = `
-
-`;
-
-exports[`Block Details > should render the Block Details page and query the necessary info 2`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 495,868
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f
-
-
-
-
-
-
-
-
-
-
-
- Tue, 16 Apr 2024 20:07:02 GMT (last month)
-
-
-
-
-
-
-
-
-
-
- transactions
-
-
-
-
- 2
-
-
-
-
-
-
-
-
- block fees paid
-
-
-
-
- 0.000580718
- DUSK
-
-
-
-
-
-
-
-
- block reward
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
-
- block gas limit
-
-
-
-
- 5,000,000,000
-
-
-
-
-
-
- 580,718
-
-
-
-
-
-
-
-
-
-
-
- average gas price
-
-
-
-
- 1
-
-
-
-
-
-
-
-
- state root hash
-
-
-
-
-
- 20bb0a677b93f084afadfd34bec3ac3feee33a020b81d9549afa2268e8543acb
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- last month
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.000290866
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- last month
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.000289852
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Block Details > should render the Transaction section of the Block Details page with the mobile layout 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 495,868
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- bd5c99bb720b03500e89f103fe66113ba62f2e124ed9651563f38fd15977719f
-
-
-
-
-
-
-
-
-
-
-
- Tue, 16 Apr 2024 20:07:02 GMT (last month)
-
-
-
-
-
-
-
-
-
-
- transactions
-
-
-
-
- 2
-
-
-
-
-
-
-
-
- block fees paid
-
-
-
-
- 0.000580718
- DUSK
-
-
-
-
-
-
-
-
- block reward
-
-
-
-
- 16
- DUSK
-
-
-
-
-
-
-
-
- block gas limit
-
-
-
-
- 5,000,000,000
-
-
-
-
-
-
- 580,718
-
-
-
-
-
-
-
-
-
-
-
- average gas price
-
-
-
-
- 1
-
-
-
-
-
-
-
-
- state root hash
-
-
-
-
-
- 20bb0a677b93f084afadfd34bec3ac3feee33a020b81d9549afa2268e8543acb
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3a3f6f90a1012ae751b4448bc...8170239bd69fcf8e2e37f0602
-
-
-
-
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- last month
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
- 500,000,000
-
-
-
-
-
-
-
- 0.000290866
- DUSK
-
-
-
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 07bfabea1d94c16f2dc3697fa...bf76b9644efbb6e2723b76d00
-
-
-
-
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- last month
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
- 500,000,000
-
-
-
-
-
-
-
- 0.000289852
- DUSK
-
-
-
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/routes/blocks/block/__tests__/page.spec.js b/explorer/src/routes/blocks/block/__tests__/page.spec.js
deleted file mode 100644
index 0fc1d87844..0000000000
--- a/explorer/src/routes/blocks/block/__tests__/page.spec.js
+++ /dev/null
@@ -1,65 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { get } from "svelte/store";
-
-import { duskAPI } from "$lib/services";
-import { transformBlock } from "$lib/chain-info";
-import { gqlBlock, gqlBlockDetails } from "$lib/mock-data";
-import { changeMediaQueryMatches } from "$lib/dusk/test-helpers";
-
-import BlockDetails from "../+page.svelte";
-
-describe("Block Details", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 20));
-
- const getBlockSpy = vi
- .spyOn(duskAPI, "getBlock")
- .mockResolvedValue(transformBlock(gqlBlock.block));
-
- const getBlockDetailsSpy = vi
- .spyOn(duskAPI, "getBlockDetails")
- .mockResolvedValue(gqlBlockDetails.block.header.json);
-
- afterEach(() => {
- cleanup();
- getBlockSpy.mockClear();
- getBlockDetailsSpy.mockClear();
- });
-
- afterAll(() => {
- vi.useRealTimers();
- getBlockSpy.mockRestore();
- getBlockDetailsSpy.mockRestore();
- });
-
- it("should render the Block Details page and query the necessary info", async () => {
- const { container } = render(BlockDetails);
-
- expect(container.firstChild).toMatchSnapshot();
-
- expect(getBlockSpy).toHaveBeenCalledTimes(1);
- expect(getBlockDetailsSpy).toHaveBeenCalledTimes(1);
-
- await vi.advanceTimersByTimeAsync(1);
-
- // snapshot with received data from APIs
- expect(container.firstChild).toMatchSnapshot();
- });
-
- it("should render the Transaction section of the Block Details page with the mobile layout", async () => {
- const { appStore } = await import("$lib/stores");
- const { container } = render(BlockDetails);
-
- changeMediaQueryMatches("(max-width: 1024px)", true);
-
- expect(get(appStore).isSmallScreen).toBe(true);
-
- expect(getBlockSpy).toHaveBeenCalledTimes(1);
- expect(getBlockDetailsSpy).toHaveBeenCalledTimes(1);
-
- await vi.advanceTimersByTimeAsync(1);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/routes/provisioners/+page.svelte b/explorer/src/routes/provisioners/+page.svelte
deleted file mode 100644
index fac044abf4..0000000000
--- a/explorer/src/routes/provisioners/+page.svelte
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
- pollingDataStore.start()}
- provisioners={data}
- {error}
- loading={isLoading}
- {isSmallScreen}
- />
-
-
-
-
diff --git a/explorer/src/routes/provisioners/__tests__/__snapshots__/page.spec.js.snap b/explorer/src/routes/provisioners/__tests__/__snapshots__/page.spec.js.snap
deleted file mode 100644
index 74a7e4fcd1..0000000000
--- a/explorer/src/routes/provisioners/__tests__/__snapshots__/page.spec.js.snap
+++ /dev/null
@@ -1,7210 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Provisioners page > should render the Provisioners page with the mobile layout 1`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
- #
- 1
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- n3qToJrMkYCnUkJkFG2a7fEVn...AmwiScS256TCMZZjmEq6aNuj6
-
-
-
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 1,000,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 12,178.759788262
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 2
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- s9mQHPDuKiUwomr7k6S3mmeqd...HMfX2f3uis4hi33XxiM4ksRbH
-
-
-
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 510,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 6,480
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 780.152437445
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 3
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- sX4JooVNAFov3Xx9cfZHtRemi...dTyEvw5Cb3UqGEqfCFZMqQhtz
-
-
-
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 505,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 38,880
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 2,063.426446466
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 4
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- scRkV9xaMCNTsjEx2mwDABavD...MJoGx6H9faXfyA2XwXrJMpbfo
-
-
-
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 504,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 15,120
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 5,190.546947071
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 5
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- m6dy2gz3jC3ifLpZmdTaZbgcp...uSCne1ti5kgYeNHtW82FWtnpf
-
-
-
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 7,121.257296087
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 6
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- m9dVuRgr3CQX5P5Fxh2t68QRh...mZ9qF734nJJhb2f94r33pFQyz
-
-
-
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 6,923.840604194
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 7
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- mTgXDqkyVacn7zCgoJfk7rKMV...nRE4uXaAhpCPPSjgAseybAsfU
-
-
-
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 7,518.756679536
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 8
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- mUUpjnXow2LHwm8a65cJsckTe...xrsre7jNbLdDocqSfzQcywzaW
-
-
-
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 7,653.541671166
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 9
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- mXKJ97xTtrSPzxWHBKPurUpeh...eUPuXjqaC9dp6H7JgkCK2o7x4
-
-
-
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 7,512.060104659
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 10
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- mdXsA3Ee1YDt1aTcvUg7AKpzT...epuR9FPWCcJQfDwK8VZPimZ2J
-
-
-
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 7,973.118109253
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 11
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- mdca2ea2KpRZaW6s6NkYAY29w...BPg8MmRfxyBCUVRji7SxM2zBD
-
-
-
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 7,091.398997002
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 12
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- mgmcqkk1VFfsa1ko7ydBjhVuM...EWDB1wsvV5avoC2xddxLvEDVP
-
-
-
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 7,373.189839389
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 13
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- n2DPucZgNznPCfhRfAS8aHQUk...bDNKwS6GhaRRR9f95PUxRwtD1
-
-
-
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 7,127.318018509
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 14
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- nV71a9Hec6jeXVFkUN6JvgiLD...6cHcvb326rbXNgYA4pNWv4roh
-
-
-
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 6,731.43057271
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- #
- 15
-
-
-
-
-
-
-
-
-
- Staking address
-
-
-
-
-
- nXqyaSYaTas47KNqNwVtpNyfC...z6tpqYcyaGWjURkQpLqoCPDeD
-
-
-
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
-
-
-
-
- Active Stake
-
-
-
-
- 500,000
- DUSK
-
-
-
-
-
-
-
-
-
- Inactive Stake
-
-
-
-
- 0
- DUSK
-
-
-
-
-
-
-
-
-
- Maturity At
-
-
-
-
- #
- 0
-
-
-
-
-
-
-
-
-
- accumulated reward
-
-
-
-
- 7,428.022676833
- DUSK
-
-
-
-
-
-
-
-
-
- Soft Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
- Hard Slashes
-
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Provisioners page > should render the Provisioners page, start polling for provisioners and stop the polling when unmounted 1`] = `
-
-`;
-
-exports[`Provisioners page > should render the Provisioners page, start polling for provisioners and stop the polling when unmounted 2`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
- n3qToJrMkY...jmEq6aNuj6
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 1,000,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 12,178
- .
-
- 76
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 2
-
-
-
-
-
- s9mQHPDuKi...XxiM4ksRbH
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 510,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 6,480
-
-
-
-
-
- 780
- .
-
- 15
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 3
-
-
-
-
-
- sX4JooVNAF...fCFZMqQhtz
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 505,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 38,880
-
-
-
-
-
- 2,063
- .
-
- 43
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 4
-
-
-
-
-
- scRkV9xaMC...XwXrJMpbfo
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 504,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 15,120
-
-
-
-
-
- 5,190
- .
-
- 55
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 5
-
-
-
-
-
- m6dy2gz3jC...tW82FWtnpf
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,121
- .
-
- 26
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 6
-
-
-
-
-
- m9dVuRgr3C...94r33pFQyz
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 6,923
- .
-
- 84
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 7
-
-
-
-
-
- mTgXDqkyVa...gAseybAsfU
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,518
- .
-
- 76
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 8
-
-
-
-
-
- mUUpjnXow2...SfzQcywzaW
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,653
- .
-
- 54
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 9
-
-
-
-
-
- mXKJ97xTtr...JgkCK2o7x4
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,512
- .
-
- 06
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 10
-
-
-
-
-
- mdXsA3Ee1Y...K8VZPimZ2J
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,973
- .
-
- 12
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 11
-
-
-
-
-
- mdca2ea2Kp...ji7SxM2zBD
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,091
- .
-
- 40
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 12
-
-
-
-
-
- mgmcqkk1VF...xddxLvEDVP
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,373
- .
-
- 19
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 13
-
-
-
-
-
- n2DPucZgNz...95PUxRwtD1
-
-
-
-
-
-
-
-
- No
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,127
- .
-
- 32
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 14
-
-
-
-
-
- nV71a9Hec6...A4pNWv4roh
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 6,731
- .
-
- 43
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
- 15
-
-
-
-
-
- nXqyaSYaTa...QpLqoCPDeD
-
-
-
-
-
-
-
-
- Yes
-
-
-
-
-
-
- Active:
-
-
- 500,000
-
-
-
-
- Inactive:
-
-
- 0
-
-
-
-
- Maturity At:
-
-
- #
- 0
-
-
-
-
-
- 7,428
- .
-
- 02
-
-
-
-
-
-
-
- Soft:
-
-
- 0
-
-
-
-
- Hard:
-
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/routes/provisioners/__tests__/page.spec.js b/explorer/src/routes/provisioners/__tests__/page.spec.js
deleted file mode 100644
index c1c8451b95..0000000000
--- a/explorer/src/routes/provisioners/__tests__/page.spec.js
+++ /dev/null
@@ -1,72 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { get } from "svelte/store";
-
-import { duskAPI } from "$lib/services";
-import { appStore } from "$lib/stores";
-import { hostProvisioners } from "$lib/mock-data";
-import { changeMediaQueryMatches } from "$lib/dusk/test-helpers";
-
-import Provisioners from "../+page.svelte";
-
-describe("Provisioners page", () => {
- vi.useFakeTimers();
-
- const { provisionersFetchInterval } = get(appStore);
- const getProvisionersSpy = vi
- .spyOn(duskAPI, "getProvisioners")
- .mockResolvedValue(hostProvisioners);
-
- afterEach(async () => {
- await vi.runOnlyPendingTimersAsync();
-
- cleanup();
- getProvisionersSpy.mockClear();
- });
-
- afterAll(() => {
- vi.useRealTimers();
- getProvisionersSpy.mockRestore();
- });
-
- it("should render the Provisioners page, start polling for provisioners and stop the polling when unmounted", async () => {
- const { container, unmount } = render(Provisioners);
-
- // snapshost in loading state
- expect(container.firstChild).toMatchSnapshot();
- expect(getProvisionersSpy).toHaveBeenCalledTimes(1);
-
- await vi.advanceTimersByTimeAsync(1);
-
- // snapshot with received data from GraphQL
- expect(container.firstChild).toMatchSnapshot();
-
- await vi.advanceTimersByTimeAsync(provisionersFetchInterval - 1);
-
- expect(getProvisionersSpy).toHaveBeenCalledTimes(2);
-
- await vi.advanceTimersByTimeAsync(provisionersFetchInterval);
-
- expect(getProvisionersSpy).toHaveBeenCalledTimes(3);
-
- unmount();
-
- await vi.advanceTimersByTimeAsync(provisionersFetchInterval * 10);
-
- expect(getProvisionersSpy).toHaveBeenCalledTimes(3);
- });
-
- it("should render the Provisioners page with the mobile layout", async () => {
- const { container } = render(Provisioners);
-
- changeMediaQueryMatches("(max-width: 1024px)", true);
-
- expect(get(appStore).isSmallScreen).toBe(true);
-
- expect(getProvisionersSpy).toHaveBeenCalledTimes(1);
-
- await vi.advanceTimersByTimeAsync(1);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/routes/tokens/+layout.js b/explorer/src/routes/tokens/+layout.js
deleted file mode 100644
index 51520ef65d..0000000000
--- a/explorer/src/routes/tokens/+layout.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import { redirect } from "@sveltejs/kit";
-
-export const load = () => {
- const featureTokensEnabled = import.meta.env.VITE_FEATURE_TOKENS === "true";
-
- if (!featureTokensEnabled) {
- throw redirect(302, "/");
- }
-};
diff --git a/explorer/src/routes/tokens/+page.svelte b/explorer/src/routes/tokens/+page.svelte
deleted file mode 100644
index a9037e5dbc..0000000000
--- a/explorer/src/routes/tokens/+page.svelte
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
- loadMoreItems(),
- disabled: isLoadMoreDisabled,
- label: "Show More",
- }}
- >
- {#if isSmallScreen}
-
- {#each displayedTokens as token (token)}
-
- {/each}
-
- {:else}
-
- {/if}
-
-
diff --git a/explorer/src/routes/tokens/token/+page.svelte b/explorer/src/routes/tokens/token/+page.svelte
deleted file mode 100644
index b8a221284d..0000000000
--- a/explorer/src/routes/tokens/token/+page.svelte
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
- {#if tokenData}
-
-
-
- loadMoreItems(),
- disabled: isLoadMoreDisabled,
- label: "Show More",
- }}
- >
- {#if isSmallScreen}
-
- {#each displayedTxns as txn (txn)}
-
- {/each}
-
- {:else}
-
- {/if}
-
- {:else}
- Token not found
- {/if}
-
diff --git a/explorer/src/routes/transactions/+page.svelte b/explorer/src/routes/transactions/+page.svelte
deleted file mode 100644
index a710286d05..0000000000
--- a/explorer/src/routes/transactions/+page.svelte
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- pollingDataStore.start(transactionsListEntries)}
- txns={data}
- {error}
- loading={isLoading}
- {isSmallScreen}
- />
-
diff --git a/explorer/src/routes/transactions/__tests__/__snapshots__/page.spec.js.snap b/explorer/src/routes/transactions/__tests__/__snapshots__/page.spec.js.snap
deleted file mode 100644
index b0e05363fa..0000000000
--- a/explorer/src/routes/transactions/__tests__/__snapshots__/page.spec.js.snap
+++ /dev/null
@@ -1,4908 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Transactions page > should render the Transactions page with the mobile layout 1`] = `
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 4a4593a447ae768a20a28c534...a7442eff71e62833047514552
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 50,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008221117
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 47ae464b9cf13bbf6e7307ecd...71bc6698c9bc5fe3e5facba66
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 50,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008221117
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 225dae3745d75fa7bbae7e029...de697c0be31a3fc176b36ea41
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 50,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008220846
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 03bae6e2e96709ebf41da7ca7...355332f467c0f32b3849de702
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008221266
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- ed17ab505ab991e83194183b4...6c773767153414603a2b96964
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008220422
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- cbac233a76cde9fdd129277e7...90c2472e7f316151f4b53666c
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008220926
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- a9abf02f549d21a89390eb18f...4c6740dc30e113f2314152b5d
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008221243
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- a7171542640d6b918928927ee...5f7990fe82796520084798b6f
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008220934
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- a171e5d05bd1e6478a4bcc7db...c3f94d49ffb71934776765465
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008220989
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 8fff9d4eb4818bfd66cfaf41b...50605e40fa8b1b1393ee0ac57
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008221018
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 88c5c5ebedb181bed0927f41b...774efca243ae084caa9175e04
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008220865
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 65d9ef520afbe16722f3de439...d81ef8e3ebd0fe1f805833c2b
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008221367
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 5d043c4a9c829891dd40c2c48...0ab7b2e240e47ab231d8fe112
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008220508
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 5c5aab71b215e835841aaf173...018ee753d3ffd9eaa88158660
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008220823
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
-
-
-
- 53085322f4c84b6a9d17c3699...752c733dd454e23f6ee0ca62c
-
-
-
-
-
-
-
-
- relative time
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- Gas Price
-
-
-
-
- 1
-
-
-
-
-
- Gas Limit
-
-
-
-
- 500,000,000
-
-
-
-
-
- Fee
-
-
-
-
- 0.008220485
- DUSK
-
-
-
-
-
- Status
-
-
-
-
-
- success
-
-
-
-
-
-
- Type
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
-
-exports[`Transactions page > should render the Transactions page, start polling for blocks and stop the polling when unmounted 1`] = `
-
-`;
-
-exports[`Transactions page > should render the Transactions page, start polling for blocks and stop the polling when unmounted 2`] = `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008221117
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 50,000,000
-
-
-
-
- 0.008220846
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221266
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220422
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220926
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221243
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220934
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220989
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221018
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220865
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008221367
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220508
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220823
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
- in 3 months
-
-
-
-
-
-
- PRICE:
-
-
- 1
-
-
-
- LIMIT:
-
-
- 500,000,000
-
-
-
-
- 0.008220485
-
-
-
-
-
- success
-
-
-
-
-
-
-
-
-
-
-
-
- transfer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-`;
diff --git a/explorer/src/routes/transactions/__tests__/page.spec.js b/explorer/src/routes/transactions/__tests__/page.spec.js
deleted file mode 100644
index a33ff2c307..0000000000
--- a/explorer/src/routes/transactions/__tests__/page.spec.js
+++ /dev/null
@@ -1,88 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-import { get } from "svelte/store";
-
-import { duskAPI } from "$lib/services";
-import { transformTransaction } from "$lib/chain-info";
-import { appStore } from "$lib/stores";
-import { gqlTransactions } from "$lib/mock-data";
-import { changeMediaQueryMatches } from "$lib/dusk/test-helpers";
-
-import Transactions from "../+page.svelte";
-
-describe("Transactions page", () => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 30));
-
- const { fetchInterval, transactionsListEntries } = get(appStore);
- const getTransactionSpy = vi
- .spyOn(duskAPI, "getTransactions")
- .mockResolvedValue(gqlTransactions.transactions.map(transformTransaction));
-
- afterEach(() => {
- cleanup();
- getTransactionSpy.mockClear();
- });
-
- afterAll(() => {
- vi.useRealTimers();
- getTransactionSpy.mockRestore();
- });
-
- it("should render the Transactions page, start polling for blocks and stop the polling when unmounted", async () => {
- const { container, unmount } = render(Transactions);
-
- // snapshost in loading state
- expect(container.firstChild).toMatchSnapshot();
- expect(getTransactionSpy).toHaveBeenCalledTimes(1);
- expect(getTransactionSpy).toHaveBeenNthCalledWith(
- 1,
- transactionsListEntries
- );
-
- await vi.advanceTimersByTimeAsync(1);
-
- // snapshot with received data from GraphQL
- expect(container.firstChild).toMatchSnapshot();
-
- await vi.advanceTimersByTimeAsync(fetchInterval - 1);
-
- expect(getTransactionSpy).toHaveBeenCalledTimes(2);
- expect(getTransactionSpy).toHaveBeenNthCalledWith(
- 2,
- transactionsListEntries
- );
-
- await vi.advanceTimersByTimeAsync(fetchInterval);
-
- expect(getTransactionSpy).toHaveBeenCalledTimes(3);
- expect(getTransactionSpy).toHaveBeenNthCalledWith(
- 3,
- transactionsListEntries
- );
-
- unmount();
-
- await vi.advanceTimersByTimeAsync(fetchInterval * 10);
-
- expect(getTransactionSpy).toHaveBeenCalledTimes(3);
- });
-
- it("should render the Transactions page with the mobile layout", async () => {
- const { container } = render(Transactions);
-
- changeMediaQueryMatches("(max-width: 1024px)", true);
-
- expect(get(appStore).isSmallScreen).toBe(true);
-
- expect(getTransactionSpy).toHaveBeenCalledTimes(1);
- expect(getTransactionSpy).toHaveBeenNthCalledWith(
- 1,
- transactionsListEntries
- );
-
- await vi.advanceTimersByTimeAsync(1);
-
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/routes/transactions/transaction/+page.svelte b/explorer/src/routes/transactions/transaction/+page.svelte
deleted file mode 100644
index 76fc3a7f4a..0000000000
--- a/explorer/src/routes/transactions/transaction/+page.svelte
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
- {#if typeof data === "string"}
-
- {data}
-
- {:else}
-
- {/if}
-
diff --git a/explorer/src/routes/transactions/transaction/__tests__/__snapshots__/page.spec.js.snap b/explorer/src/routes/transactions/transaction/__tests__/__snapshots__/page.spec.js.snap
deleted file mode 100644
index bcef25774a..0000000000
--- a/explorer/src/routes/transactions/transaction/__tests__/__snapshots__/page.spec.js.snap
+++ /dev/null
@@ -1,698 +0,0 @@
-// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-
-exports[`Transaction Details > should render the Transaction details page 1`] = `
-
-`;
-
-exports[`Transaction Details > should render the Transaction details page 2`] = `
-
-`;
diff --git a/explorer/src/routes/transactions/transaction/__tests__/page.spec.js b/explorer/src/routes/transactions/transaction/__tests__/page.spec.js
deleted file mode 100644
index d55a07261d..0000000000
--- a/explorer/src/routes/transactions/transaction/__tests__/page.spec.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import { afterAll, afterEach, describe, expect, it, vi } from "vitest";
-import { cleanup, render } from "@testing-library/svelte";
-
-import { resolveAfter } from "$lib/dusk/promise";
-import { duskAPI } from "$lib/services";
-
-import TransactionDetails from "../+page.svelte";
-
-const marketDataSettleTime = vi.hoisted(() => {
- vi.useFakeTimers();
- vi.setSystemTime(new Date(2024, 4, 20));
-
- return 100;
-});
-
-vi.mock("$lib/services", async (importOriginal) => {
- /** @type {import("$lib/services")} */
- const original = await importOriginal();
- const { transformTransaction } = await import("$lib/chain-info");
- const { apiMarketData, gqlTransaction } = await import("$lib/mock-data");
- const { current_price: currentPrice, market_cap: marketCap } =
- apiMarketData.market_data;
-
- return {
- ...original,
- duskAPI: {
- ...original.duskAPI,
- getMarketData: () =>
- resolveAfter(marketDataSettleTime, { currentPrice, marketCap }),
- getTransaction: vi
- .fn()
- .mockResolvedValue(transformTransaction(gqlTransaction.tx)),
- },
- };
-});
-
-describe("Transaction Details", () => {
- afterEach(() => {
- cleanup();
- vi.clearAllMocks();
- });
-
- afterAll(() => {
- vi.useRealTimers();
- vi.doUnmock("$lib/services");
- });
-
- it("should render the Transaction details page", async () => {
- const { container } = render(TransactionDetails);
-
- expect(container.firstChild).toMatchSnapshot();
-
- expect(duskAPI.getTransaction).toHaveBeenCalledTimes(1);
-
- await vi.advanceTimersByTimeAsync(marketDataSettleTime);
-
- // snapshot with received data from APIs
- expect(container.firstChild).toMatchSnapshot();
- });
-});
diff --git a/explorer/src/style/dusk/colors.css b/explorer/src/style/dusk/colors.css
deleted file mode 100644
index 0bd5a03ee2..0000000000
--- a/explorer/src/style/dusk/colors.css
+++ /dev/null
@@ -1,39 +0,0 @@
-:root {
- /* Dark Greys */
-
- --granite-grey: #636167;
- --jet: #2e2d30;
- --smokey-black: #101010;
-
- /* Greys */
-
- --light-grey: #e2dfe9;
- --magnolia: #edeaf3;
- --silver-metallic: #a8a5af;
- --taupe-grey: #908e94;
-
- /* Blues */
-
- --cornflower: #71b1ff;
- --cornflower-dark: #0b79ff;
- --cornflower-light: #a4cdff;
-
- --accent-light-900: #04336b;
- --accent-dark-900: #abd1ff;
-
- /* Status */
-
- --success: #16db93;
- --warning: #ffcf23;
- --error: #ed254e;
- --info: #71b1ff;
-
- --success-500: #16db93;
- --success-700: #0f9363;
- --warning-500: #ffcf23;
- --warning-700: #d1a300;
- --error-500: #ed254e;
- --error-700: #8e112c;
- --info-500: #71b1ff;
- --info-700: #0863d1;
-}
diff --git a/explorer/src/style/dusk/language.css b/explorer/src/style/dusk/language.css
deleted file mode 100644
index d7a8edd410..0000000000
--- a/explorer/src/style/dusk/language.css
+++ /dev/null
@@ -1,153 +0,0 @@
-:root {
- /* Theme colours */
-
- --page-background-color: var(--smokey-black);
- --background-color: var(--light-grey);
- --background-color-alt: #fff;
- --primary-color: var(--smokey-black);
- --secondary-color: var(--cornflower);
- --secondary-color-variant-dark: var(--cornflower-dark);
- --secondary-color-variant-light: var(--cornflower-light);
- --surface-color: var(--magnolia);
- --danger-color: var(--error);
- --error-color: var(--error-500);
- --error-color-variant-dark: var(--error-700);
- --info-color: var(--info-500);
- --info-color-variant-dark: var(--info-700);
- --success-color: var(--success-500);
- --success-color-variant-dark: var(--success-700);
- --warning-color: var(--warning-500);
- --warning-color-variant-dark: var(--warning-700);
-
- --on-background-color: var(--smokey-black);
- --on-primary-color: var(--light-grey);
- --on-secondary-color: var(--smokey-black);
- --on-surface-color: var(--smokey-black);
- --on-danger-color: #fff;
- --on-error-color: #fff;
- --on-info-color: var(--smokey-black);
- --on-success-color: var(--smokey-black);
- --on-warning-color: var(--smokey-black);
-
- /* Typography */
-
- --main-font-family: "Soehne", "Helvetica Neue", Helvetica, Arial, sans-serif;
- --main-font-size: 16px;
- --mono-font-family: "Soehne Mono", monospace;
-
- /* Layout */
-
- --small-gap: 0.5em;
- --default-gap: 1em;
- --large-gap: 2em;
-
- /* Grid */
-
- --mobile-grid-template-columns: 1fr;
- --tablet-grid-template-columns: 1fr 1fr;
- --desktop-grid-template-columns: 1fr 1fr 1fr;
-
- /* Controls */
-
- --control-border-radius-size: 1.5em;
- --control-border-size: 0.0625em;
- --control-font-size: 1em;
- --control-icon-size: 2em;
- --control-padding: 0.625em 0.875em;
- --control-small-font-size: 0.875em;
- --control-small-padding: 0.625em 0.875em;
-
- --non-button-control-bg-color: #fff;
- --non-button-control-text-color: var(--smokey-black);
-
- --control-bg-color: var(--smokey-black);
- --control-bg-color-hover: var(--cornflower);
- --control-border-color: transparent;
- --control-border-color-hover: transparent;
- --control-text-color: #fff;
- --control-text-color-hover: var(--smokey-black);
-
- --control-secondary-bg-color: #fff;
- --control-secondary-bg-color-hover: var(--silver-metallic);
- --control-secondary-border-color: transparent;
- --control-secondary-border-color-hover: transparent;
- --control-secondary-text-color: var(--smokey-black);
-
- --control-tertiary-bg-color: transparent;
- --control-tertiary-bg-color-hover: var(--cornflower);
- --control-tertiary-border-color: var(--smokey-black);
- --control-tertiary-border-color-hover: var(--cornflower);
- --control-tertiary-text-color: var(--smokey-black);
-
- /* Anchors */
-
- --anchor-color-on-surface: var(--accent-light-900);
- --anchor-color: var(--secondary-color);
- --anchor-color-visited: var(--secondary-color);
- --anchor-color-hover: var(--secondary-color-variant-light);
- --anchor-color-active: var(--secondary-color-variant-light);
-
- /* Progress-related components (Stepper, Progress Bar, etc */
-
- --progress-bar-height: 0.3125em;
- --progress-bg-color: var(--primary-color);
- --progress-filler-color: var(--success-color);
-
- /* Checkbox control */
-
- --checkbox-control-size: 1.2em;
- --checkbox-control-border-radius: 20%;
- --checkbox-control-border-width: 0.2em;
- --checkbox-control-border-color: var(--smokey-black);
- --checkbox-control-checked-bg-color: var(--smokey-black);
-
- /* Dividers */
-
- --divider-color-primary: var(--taupe-grey);
-
- /* Banner */
-
- --banner-info-color: var(--info-color-variant-dark);
- --banner-warning-color: var(--warning-color-variant-dark);
- --banner-error-color: var(--error-color-variant-dark);
-}
-
-:root.dark {
- /* Theme colours */
-
- --page-background-color: var(--jet);
- --background-color: var(--smokey-black);
- --background-color-alt: var(--granite-grey);
- --primary-color: var(--light-grey);
- --surface-color: var(--jet);
-
- --on-background-color: var(--light-grey);
- --on-primary-color: var(--smokey-black);
- --on-surface-color: var(--light-grey);
-
- /* Anchors */
- --anchor-color-on-surface: var(--accent-dark-900);
-
- /* Controls */
-
- --non-button-control-bg-color: var(--smokey-black);
- --non-button-control-text-color: var(--light-grey);
-
- --control-bg-color: var(--light-grey);
- --control-text-color: var(--smokey-black);
- --control-secondary-bg-color: var(--smokey-black);
- --control-secondary-text-color: var(--light-grey);
- --control-tertiary-border-color: var(--light-grey);
- --control-tertiary-text-color: var(--light-grey);
-
- /* Checkbox control */
-
- --checkbox-control-border-color: var(--light-grey);
- --checkbox-control-checked-bg-color: var(--light-grey);
-
- /* Banner */
-
- --banner-info-color: var(--info-color);
- --banner-warning-color: var(--warning-color);
- --banner-error-color: var(--error-color);
-}
diff --git a/explorer/src/style/main.css b/explorer/src/style/main.css
deleted file mode 100644
index dc39aee32f..0000000000
--- a/explorer/src/style/main.css
+++ /dev/null
@@ -1,90 +0,0 @@
-@import url("./dusk/colors.css");
-@import url("./dusk/language.css");
-
-@font-face {
- font-family: "Soehne";
- font-style: normal;
- font-display: swap;
- font-weight: 400;
- src: url("/fonts/soehne-buch.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Soehne";
- font-style: normal;
- font-display: swap;
- font-weight: 500;
- src: url("/fonts/soehne-kraftig.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Soehne Mono";
- font-style: normal;
- font-display: swap;
- font-weight: 400;
- src: url("/fonts/soehne-mono-buch.woff2") format("woff2");
-}
-
-@font-face {
- font-family: "Soehne Mono";
- font-style: normal;
- font-display: swap;
- font-weight: 500;
- src: url("/fonts/soehne-mono-kraftig.woff2") format("woff2");
-}
-
-* {
- padding: 0;
- margin: 0;
- box-sizing: border-box;
-}
-
-body {
- padding: 0 3rem;
-}
-
-html,
-body {
- width: 100%;
- height: 100%;
- max-width: 1920px;
- margin: 0 auto;
-}
-
-html {
- background-color: var(--background-color);
- color: var(--on-background-color);
- font-family: var(--main-font-family);
- font-size: var(--main-font-size);
- letter-spacing: 0.06125rem;
-}
-
-#app-container {
- display: flex;
- flex-direction: column;
- min-height: 100%;
-}
-
-#app-container > main {
- flex: 1;
- padding: 1.25rem 0;
- overflow: hidden;
-}
-
-svg {
- fill: currentColor;
-}
-
-.explorer-badge {
- min-width: 100px;
-}
-
-@media (max-width: 768px) {
- body {
- padding: 0 1.25rem;
- }
-}
-
-.decimal-shadow {
- opacity: 0.5;
-}
diff --git a/explorer/static/dusk_logo.svg b/explorer/static/dusk_logo.svg
deleted file mode 100644
index 08cc7aac30..0000000000
--- a/explorer/static/dusk_logo.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/explorer/static/dusk_logo_icon.svg b/explorer/static/dusk_logo_icon.svg
deleted file mode 100644
index d75a29dcef..0000000000
--- a/explorer/static/dusk_logo_icon.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/explorer/static/dusk_logo_light.svg b/explorer/static/dusk_logo_light.svg
deleted file mode 100644
index 2edd976d7d..0000000000
--- a/explorer/static/dusk_logo_light.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/explorer/static/favicon.png b/explorer/static/favicon.png
deleted file mode 100644
index 14c61451d5..0000000000
Binary files a/explorer/static/favicon.png and /dev/null differ
diff --git a/explorer/static/favicon.svg b/explorer/static/favicon.svg
deleted file mode 100644
index e4b1743128..0000000000
--- a/explorer/static/favicon.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/explorer/static/fonts/soehne-buch.woff2 b/explorer/static/fonts/soehne-buch.woff2
deleted file mode 100644
index c26f566686..0000000000
Binary files a/explorer/static/fonts/soehne-buch.woff2 and /dev/null differ
diff --git a/explorer/static/fonts/soehne-kraftig.woff2 b/explorer/static/fonts/soehne-kraftig.woff2
deleted file mode 100644
index c71afd6954..0000000000
Binary files a/explorer/static/fonts/soehne-kraftig.woff2 and /dev/null differ
diff --git a/explorer/static/fonts/soehne-mono-buch.woff2 b/explorer/static/fonts/soehne-mono-buch.woff2
deleted file mode 100644
index 4fc6eb90b5..0000000000
Binary files a/explorer/static/fonts/soehne-mono-buch.woff2 and /dev/null differ
diff --git a/explorer/static/fonts/soehne-mono-kraftig.woff2 b/explorer/static/fonts/soehne-mono-kraftig.woff2
deleted file mode 100644
index f17feb5289..0000000000
Binary files a/explorer/static/fonts/soehne-mono-kraftig.woff2 and /dev/null differ
diff --git a/explorer/static/world-vertical.svg b/explorer/static/world-vertical.svg
deleted file mode 100644
index 5c5ad395cf..0000000000
--- a/explorer/static/world-vertical.svg
+++ /dev/null
@@ -1,384 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/explorer/svelte.config.js b/explorer/svelte.config.js
deleted file mode 100644
index 3953510e09..0000000000
--- a/explorer/svelte.config.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import adapter from "@sveltejs/adapter-static";
-import autoprefixer from "autoprefixer";
-import postCSSNested from "postcss-nested";
-import { sveltePreprocess } from "svelte-preprocess";
-import { loadEnv } from "vite";
-
-const env = loadEnv("", process.cwd());
-const fallBackBase = env.VITE_BASE_PATH ? `${env.VITE_BASE_PATH}/` : "";
-
-/** @type {import("@sveltejs/kit").Config} */
-const config = {
- kit: {
- adapter: adapter({ fallback: `${fallBackBase}index.html` }),
-
- paths: {
- base: /** @type {"" | `/${string}` | undefined} */ (env.VITE_BASE_PATH),
- },
- },
- preprocess: [
- sveltePreprocess({
- postcss: {
- plugins: [autoprefixer, postCSSNested],
- },
- }),
- ],
-};
-
-export default config;
diff --git a/explorer/vite-global-setup.js b/explorer/vite-global-setup.js
deleted file mode 100644
index 949c62b898..0000000000
--- a/explorer/vite-global-setup.js
+++ /dev/null
@@ -1,4 +0,0 @@
-export const setup = () => {
- // setting a fixed timezone for testing dates reliably
- process.env.TZ = "UTC";
-};
diff --git a/explorer/vite-setup.js b/explorer/vite-setup.js
deleted file mode 100644
index 9baada8813..0000000000
--- a/explorer/vite-setup.js
+++ /dev/null
@@ -1,131 +0,0 @@
-/**
- * @see https://github.com/davipon/svelte-component-test-recipes
- */
-
-import * as matchers from "@testing-library/jest-dom/matchers";
-import { expect, vi } from "vitest";
-import { readable } from "svelte/store";
-import { ResizeObserver } from "@juggle/resize-observer";
-import "jsdom-worker";
-
-import {
- IntersectionObserver,
- MediaQueryList,
- MediaQueryListEvent,
-} from "./src/lib/dusk/mocks";
-
-/*
- * Mocking deprecated `atob` and `btoa` functions in Node.
- * Vitest get stuck otherwise.
- */
-vi.spyOn(global, "atob").mockImplementation((data) =>
- Buffer.from(data, "base64").toString("binary")
-);
-vi.spyOn(global, "btoa").mockImplementation((data) =>
- Buffer.from(data, "binary").toString("base64")
-);
-
-// Adding missing bits in JSDOM
-
-vi.mock("./src/lib/dusk/mocks/IntersectionObserver");
-
-global.IntersectionObserver = IntersectionObserver;
-global.ResizeObserver = ResizeObserver;
-global.MediaQueryListEvent = MediaQueryListEvent;
-global.MediaQueryList = MediaQueryList;
-
-const elementMethods = ["scrollBy", "scrollTo", "scrollIntoView"];
-
-elementMethods.forEach((method) => {
- if (!Element.prototype[method]) {
- Object.defineProperty(Element.prototype, method, {
- value: () => {},
- writable: true,
- });
- }
-});
-
-// Add custom jest matchers
-expect.extend(matchers);
-
-// Mock SvelteKit runtime module $app/environment
-vi.mock("$app/environment", () => ({
- browser: false,
- building: false,
- dev: true,
- version: "any",
-}));
-
-// Mock app paths
-vi.mock("$app/paths", async (importOriginal) => ({
- ...(await importOriginal()),
- get base() {
- return "/some-base-path";
- },
-}));
-
-// Mock SvelteKit runtime module $app/navigation
-vi.mock("$app/navigation", () => ({
- afterNavigate: () => {},
- beforeNavigate: () => {},
- disableScrollHandling: () => {},
- goto: () => Promise.resolve(),
- invalidate: () => Promise.resolve(),
- invalidateAll: () => Promise.resolve(),
- preloadCode: () => Promise.resolve(),
- preloadData: () => Promise.resolve(),
-}));
-
-// Mock SvelteKit runtime module $app/stores
-vi.mock("$app/stores", () => {
- const getStores = () => {
- const navigating = readable(null);
- const page = readable({
- data: {},
- error: null,
- form: undefined,
- params: {},
- route: {
- id: null,
- },
- status: 200,
- url: new URL("http://localhost"),
- });
- const updated = {
- check: async () => false,
- subscribe: readable(false).subscribe,
- };
-
- return { navigating, page, updated };
- };
-
- const page = {
- subscribe(fn) {
- return getStores().page.subscribe(fn);
- },
- };
- const navigating = {
- subscribe(fn) {
- return getStores().navigating.subscribe(fn);
- },
- };
- const updated = {
- check: async () => false,
- subscribe(fn) {
- return getStores().updated.subscribe(fn);
- },
- };
-
- return {
- getStores,
- navigating,
- page,
- updated,
- };
-});
-
-// Define matchMedia property
-Object.defineProperty(window, "matchMedia", {
- value: (query) => new MediaQueryList(query, false),
- writable: true,
-});
diff --git a/explorer/vite.config.js b/explorer/vite.config.js
deleted file mode 100644
index 89232d6565..0000000000
--- a/explorer/vite.config.js
+++ /dev/null
@@ -1,77 +0,0 @@
-import { sveltekit } from "@sveltejs/kit/vite";
-import { defineConfig, loadEnv } from "vite";
-import { execSync } from "child_process";
-
-export default defineConfig(({ mode }) => {
- const env = loadEnv(mode, process.cwd());
- const buildDate = new Date().toISOString().substring(0, 10);
- const buildHash = execSync(
- "git log -1 --grep='explorer:' --format=format:'%h'"
- );
- const APP_VERSION = process.env.npm_package_version ?? "unknown";
- const APP_BUILD_INFO = `${buildHash.toString() || "unknown"} ${buildDate}`;
- const commonPlugins = [sveltekit()];
-
- // needed to use %sveltekit.env.PUBLIC_APP_VERSION% in app.html
- process.env.PUBLIC_APP_VERSION = APP_VERSION;
-
- return {
- define: {
- CONFIG: {
- LOCAL_STORAGE_APP_KEY: process.env.npm_package_name,
- },
- "import.meta.env.APP_BUILD_INFO": JSON.stringify(APP_BUILD_INFO),
- "import.meta.env.APP_VERSION": JSON.stringify(APP_VERSION),
- "process.env": {
- VITE_BLOCKS_LIST_ENTRIES: env.VITE_BLOCKS_LIST_ENTRIES,
- VITE_CHAIN_INFO_ENTRIES: env.VITE_CHAIN_INFO_ENTRIES,
- VITE_FEATURE_BLOB_HASHES: env.VITE_FEATURE_BLOB_HASHES,
- VITE_FEATURE_TOKENS: env.VITE_FEATURE_TOKENS,
- VITE_MARKET_DATA_REFETCH_INTERVAL:
- env.VITE_MARKET_DATA_REFETCH_INTERVAL,
- VITE_NODE_URL: env.VITE_NODE_URL,
- VITE_REFETCH_INTERVAL: env.VITE_REFETCH_INTERVAL,
- VITE_RUSK_PATH: env.VITE_RUSK_PATH,
- VITE_STATS_REFETCH_INTERVAL: env.VITE_STATS_REFETCH_INTERVAL,
- VITE_TRANSACTIONS_LIST_ENTRIES: env.VITE_TRANSACTIONS_LIST_ENTRIES,
- },
- },
- plugins: commonPlugins,
- server: {
- proxy: {
- "/rusk": {
- rewrite: (path) => path.replace(/^\/rusk/, ""),
- target: "http://localhost:8080/",
- },
- },
- },
- test: {
- /** @see https://github.com/vitest-dev/vitest/issues/2834 */
- alias: [{ find: /^svelte$/, replacement: "svelte/internal" }],
- coverage: {
- all: true,
- include: ["src/**/*.{js,ts,svelte}"],
- provider: "istanbul",
- },
- env: {
- APP_BUILD_INFO: "hash1234 2024-01-12",
- APP_VERSION: "0.0.0",
- VITE_BLOCKS_LIST_ENTRIES: "100",
- VITE_CHAIN_INFO_ENTRIES: "15",
- VITE_FEATURE_BLOB_HASHES: "true",
- VITE_FEATURE_TOKENS: "true",
- VITE_MARKET_DATA_REFETCH_INTERVAL: "120000",
- VITE_NODE_URL: "https://nodes.dusk.network",
- VITE_PROVISIONERS_REFETCH_INTERVAL: "30000",
- VITE_REFETCH_INTERVAL: "10000",
- VITE_RUSK_PATH: "",
- VITE_STATS_REFETCH_INTERVAL: "1000",
- VITE_TRANSACTIONS_LIST_ENTRIES: "100",
- },
- environment: "jsdom",
- globalSetup: ["./vite-global-setup.js"],
- include: ["src/**/*.{test,spec}.{js,ts}"],
- setupFiles: ["./vite-setup.js"],
- },
- };
-});