Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync main with production #818

Merged
merged 151 commits into from
Aug 20, 2024
Merged

Sync main with production #818

merged 151 commits into from
Aug 20, 2024

Conversation

marc-aurele-besner
Copy link
Collaborator

@marc-aurele-besner marc-aurele-besner commented Aug 20, 2024

User description

Sync main with production

Including PR's:


PR Type

enhancement


Description

  • Added comprehensive type definitions for various blockchain-related structures in indexers/leaderboard-squid/src/types/v0.ts.
  • Introduced new types and interfaces for staking operations, execution receipts, and fraud proof in indexers/staking-squid/src/types/v6.ts.
  • Updated query state interfaces to use new staking query types and removed old types in explorer/src/states/query.ts.
  • Changed the type definition for chain parameter to use NetworkId in explorer/src/types/app.ts.

Changes walkthrough 📝

Relevant files
Enhancement
4 files
v0.ts
Add comprehensive type definitions for blockchain structures

indexers/leaderboard-squid/src/types/v0.ts

  • Added comprehensive type definitions for various blockchain-related
    structures.
  • Defined interfaces and types for events, transactions, and domain
    operations.
  • Implemented enums and structs for handling blockchain data.
  • +3282/-1
    v6.ts
    Introduce types for staking operations and fraud proof     

    indexers/staking-squid/src/types/v6.ts

  • Introduced new types and interfaces for staking operations.
  • Defined structures for handling execution receipts and transfers.
  • Added support for fraud proof and bundle validation.
  • +890/-0 
    query.ts
    Update query state interfaces with new staking types         

    explorer/src/states/query.ts

  • Updated query state interfaces to use new staking query types.
  • Removed old GraphQL query types for the staking route.
  • +5/-69   
    app.ts
    Update chain parameter type to use NetworkId                         

    explorer/src/types/app.ts

  • Changed type definition for chain parameter to use NetworkId.
  • Updated import statements to reflect new utility usage.
  • +2/-2     
    Additional files (token-limit)
    264 files
    leaderboard.ts
    ...                                                                                                           

    explorer/gql/types/leaderboard.ts

    ...

    +6578/-1
    staking.ts
    ...                                                                                                           

    explorer/gql/types/staking.ts

    ...

    +6403/-1
    storage.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/domains/storage.ts

    ...

    +1226/-0
    v5.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/v5.ts

    ...

    +2724/-0
    v1.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/v1.ts

    ...

    +2706/-0
    OperatorsList.tsx
    ...                                                                                                           

    explorer/src/components/Staking/OperatorsList.tsx

    ...

    +116/-217
    leaderboard.query.ts
    ...                                                                                                           

    explorer/src/components/Leaderboard/leaderboard.query.ts

    ...

    +643/-0 
    storage.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/system/storage.ts

    ...

    +405/-0 
    storage.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/subspace/storage.ts

    ...

    +390/-0 
    storage.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/balances/storage.ts

    ...

    +253/-0 
    epoch.ts
    ...                                                                                                           

    indexers/staking-squid/src/events/epoch.ts

    ...

    +289/-56
    index.tsx
    ...                                                                                                           

    explorer/src/components/Leaderboard/index.tsx

    ...

    +311/-20
    cache.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/utils/cache.ts

    ...

    +340/-0 
    sort.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/utils/sort.ts

    ...

    +289/-0 
    OperatorNominatorTable.tsx
    ...                                                                                                           

    explorer/src/components/Staking/OperatorNominatorTable.tsx

    ...

    +72/-84 
    storage.ts
    ...                                                                                                           

    indexers/staking-squid/src/types/domains/storage.ts

    ...

    +136/-0 
    LeaderboardList.tsx
    ...                                                                                                           

    explorer/src/components/Leaderboard/LeaderboardList.tsx

    ...

    +269/-0 
    account.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/storage/account.ts

    ...

    +283/-0 
    operator.ts
    ...                                                                                                           

    indexers/staking-squid/src/extrinsics/operator.ts

    ...

    +139/-57
    events.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/balances/events.ts

    ...

    +312/-0 
    LogListFilter.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Log/LogListFilter.tsx

    ...

    +209/-1 
    operator.ts
    ...                                                                                                           

    indexers/staking-squid/src/events/operator.ts

    ...

    +83/-56 
    calls.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/domains/calls.ts

    ...

    +278/-0 
    staking.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/events/staking.ts

    ...

    +236/-0 
    bundle.ts
    ...                                                                                                           

    indexers/staking-squid/src/events/bundle.ts

    ...

    +162/-13
    unlock.ts
    ...                                                                                                           

    indexers/staking-squid/src/events/unlock.ts

    ...

    +202/-0 
    cache.ts
    ...                                                                                                           

    indexers/staking-squid/src/utils/cache.ts

    ...

    +122/-25
    events.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/domains/events.ts

    ...

    +250/-0 
    MyWithdrawals.tsx
    ...                                                                                                           

    explorer/src/components/Staking/MyWithdrawals.tsx

    ...

    +42/-19 
    operator.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/storage/operator.ts

    ...

    +191/-0 
    farmer.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/storage/farmer.ts

    ...

    +187/-0 
    AccountList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountList.tsx

    ...

    +16/-29 
    v3.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/v3.ts

    ...

    +205/-0 
    BlockList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Block/BlockList.tsx

    ...

    +17/-34 
    stats.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/stats.ts

    ...

    +90/-11 
    constants.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/domains/constants.ts

    ...

    +213/-0 
    EventList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Event/EventList.tsx

    ...

    +15/-30 
    AccountRewardList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountRewardList.tsx

    ...

    +21/-28 
    RegisterOperators.tsx
    ...                                                                                                           

    explorer/src/components/Staking/RegisterOperators.tsx

    ...

    +24/-20 
    index.tsx
    ...                                                                                                           

    explorer/src/components/WalletSideKick/index.tsx

    ...

    +20/-48 
    AccountLatestRewards.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountLatestRewards.tsx

    ...

    +15/-24 
    ExtrinsicList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Extrinsic/ExtrinsicList.tsx

    ...

    +11/-25 
    farmer.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/events/farmer.ts

    ...

    +151/-0 
    LogList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Log/LogList.tsx

    ...

    +14/-25 
    constants.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/subspace/constants.ts

    ...

    +154/-0 
    BlockDetailsExtrinsicList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Block/BlockDetailsExtrinsicList.tsx

    ...

    +12/-37 
    AccountExtrinsicFilterDropdown.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountExtrinsicFilterDropdown.tsx

    ...

    +122/-1 
    useSearch.ts
    ...                                                                                                           

    explorer/src/hooks/useSearch.ts

    ...

    +21/-31 
    support.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/support.ts

    ...

    +142/-0 
    BlockDetailsEventList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Block/BlockDetailsEventList.tsx

    ...

    +14/-36 
    Account.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/Account.tsx

    ...

    +16/-35 
    OperatorDetailsCard.tsx
    ...                                                                                                           

    explorer/src/components/Staking/OperatorDetailsCard.tsx

    ...

    +21/-27 
    WalletProvider.tsx
    ...                                                                                                           

    explorer/src/providers/WalletProvider.tsx

    ...

    +37/-11 
    storage.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/transaction-fees/storage.ts

    ...

    +86/-0   
    ChainProvider.tsx
    ...                                                                                                           

    explorer/src/providers/ChainProvider.tsx

    ...

    +29/-28 
    StakingSummary.tsx
    ...                                                                                                           

    explorer/src/components/WalletSideKick/StakingSummary.tsx

    ...

    +9/-13   
    AccountSummary.tsx
    ...                                                                                                           

    explorer/src/components/WalletSideKick/AccountSummary.tsx

    ...

    +9/-15   
    calls.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/system/calls.ts

    ...

    +146/-0 
    index.tsx
    ...                                                                                                           

    explorer/src/components/AutoId/index.tsx

    ...

    +51/-5   
    Operator.tsx
    ...                                                                                                           

    explorer/src/components/Staking/Operator.tsx

    ...

    +11/-28 
    index.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Home/index.tsx

    ...

    +10/-35 
    AccountExtrinsicList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountExtrinsicList.tsx

    ...

    +10/-21 
    Block.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Block/Block.tsx

    ...

    +10/-25 
    SectionHeader.tsx
    ...                                                                                                           

    explorer/src/components/layout/SectionHeader.tsx

    ...

    +20/-19 
    OperatorsList.tsx
    ...                                                                                                           

    explorer/src/components/StakeWars/OperatorsList.tsx

    ...

    +8/-12   
    nominator.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/storage/nominator.ts

    ...

    +98/-0   
    staking.query.ts
    ...                                                                                                           

    explorer/src/components/Staking/staking.query.ts

    ...

    +134/-0 
    calls.ts
    ...                                                                                                           

    indexers/staking-squid/src/types/domains/calls.ts

    ...

    +94/-0   
    account.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/events/account.ts

    ...

    +108/-0 
    calls.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/balances/calls.ts

    ...

    +119/-0 
    AccountPreviousRewards.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountPreviousRewards.tsx

    ...

    +8/-16   
    extrinsic.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/events/extrinsic.ts

    ...

    +96/-0   
    Extrinsic.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Extrinsic/Extrinsic.tsx

    ...

    +9/-18   
    index.ts
    ...                                                                                                           

    indexers/staking-squid/src/utils/index.ts

    ...

    +54/-5   
    ConsensusHeader.tsx
    ...                                                                                                           

    explorer/src/components/layout/ConsensusHeader.tsx

    ...

    +11/-11 
    withdraw.ts
    ...                                                                                                           

    indexers/staking-squid/src/events/withdraw.ts

    ...

    +48/-15 
    HeaderChainDropdown.tsx
    ...                                                                                                           

    explorer/src/components/layout/HeaderChainDropdown.tsx

    ...

    +17/-32 
    HomeChainInfoSkeleton.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Home/HomeChainInfoSkeleton.tsx

    ...

    +43/-1   
    LeaderboardHeader.tsx
    ...                                                                                                           

    explorer/src/components/layout/LeaderboardHeader.tsx

    ...

    +15/-12 
    Leaderboard.tsx
    ...                                                                                                           

    explorer/src/components/WalletSideKick/Leaderboard.tsx

    ...

    +6/-6     
    index.tsx
    ...                                                                                                           

    explorer/src/components/Nova/index.tsx

    ...

    +58/-0   
    storage.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/rewards/storage.ts

    ...

    +82/-0   
    processor.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/processor.ts

    ...

    +91/-0   
    operator.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/operator.ts

    ...

    +44/-7   
    index.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/events/index.ts

    ...

    +76/-0   
    route.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/accounts/[accountId]/image/route.tsx

    ...

    +9/-9     
    nominator.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/nominator.ts

    ...

    +34/-7   
    AccountBalancePieChart.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountBalancePieChart.tsx

    ...

    +77/-1   
    events.ts
    ...                                                                                                           

    indexers/staking-squid/src/types/domains/events.ts

    ...

    +75/-0   
    GetDiscordRoles.tsx
    ...                                                                                                           

    explorer/src/components/WalletSideKick/GetDiscordRoles.tsx

    ...

    +5/-5     
    EventTabDescription.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Event/EventTabDescription.tsx

    ...

    +63/-1   
    PendingTransactions.tsx
    ...                                                                                                           

    explorer/src/components/WalletSideKick/PendingTransactions.tsx

    ...

    +6/-14   
    route.ts
    ...                                                                                                           

    explorer/src/app/api/claim/[...params]/route.ts

    ...

    +7/-7     
    LastExtrinsics.tsx
    ...                                                                                                           

    explorer/src/components/WalletSideKick/LastExtrinsics.tsx

    ...

    +6/-6     
    ActionsModal.tsx
    ...                                                                                                           

    explorer/src/components/WalletSideKick/ActionsModal.tsx

    ...

    +6/-10   
    Event.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Event/Event.tsx

    ...

    +6/-15   
    Log.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Log/Log.tsx

    ...

    +6/-15   
    index.ts
    ...                                                                                                           

    indexers/staking-squid/src/events/index.ts

    ...

    +28/-6   
    query.ts
    ...                                                                                                           

    explorer/src/components/Consensus/Account/query.ts

    ...

    +8/-41   
    HomeExtrinsicList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Home/HomeExtrinsicList.tsx

    ...

    +6/-18   
    AccountRewardGraph.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountRewardGraph.tsx

    ...

    +4/-8     
    index.tsx
    ...                                                                                                           

    explorer/src/components/layout/ExtrinsicAndEventResult/index.tsx

    ...

    +6/-18   
    FarmingHeader.tsx
    ...                                                                                                           

    explorer/src/components/layout/FarmingHeader.tsx

    ...

    +6/-7     
    calls.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/subspace/calls.ts

    ...

    +79/-0   
    events.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/system/events.ts

    ...

    +94/-0   
    StakingHeader.tsx
    ...                                                                                                           

    explorer/src/components/layout/StakingHeader.tsx

    ...

    +7/-8     
    BlockDetailsTabs.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Block/BlockDetailsTabs.tsx

    ...

    +73/-1   
    DomainHeader.tsx
    ...                                                                                                           

    explorer/src/components/layout/DomainHeader.tsx

    ...

    +7/-8     
    HomeBlockList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Home/HomeBlockList.tsx

    ...

    +7/-14   
    index.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/utils/index.ts

    ...

    +48/-0   
    AccountRewardsTabs.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountRewardsTabs.tsx

    ...

    +54/-1   
    AccountBalanceStats.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountBalanceStats.tsx

    ...

    +4/-5     
    LogDetailsCard.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Log/LogDetailsCard.tsx

    ...

    +47/-1   
    query.ts
    ...                                                                                                           

    explorer/src/components/Consensus/Extrinsic/query.ts

    ...

    +95/-1   
    useDomainsData.ts
    ...                                                                                                           

    explorer/src/hooks/useDomainsData.ts

    ...

    +16/-28 
    ActionsModal.tsx
    ...                                                                                                           

    explorer/src/components/Staking/ActionsModal.tsx

    ...

    +3/-5     
    constants.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/balances/constants.ts

    ...

    +59/-0   
    index.tsx
    ...                                                                                                           

    explorer/src/providers/index.tsx

    ...

    +10/-10 
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/nova/page.tsx

    ...

    +8/-22   
    HomeCards.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Home/HomeCards.tsx

    ...

    +6/-6     
    constants.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/system/constants.ts

    ...

    +66/-0   
    query.ts
    ...                                                                                                           

    explorer/src/components/Consensus/Event/query.ts

    ...

    +87/-1   
    domain.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/domain.ts

    ...

    +24/-1   
    LogDetailsEventList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Log/LogDetailsEventList.tsx

    ...

    +4/-8     
    OutOfSyncBanner.tsx
    ...                                                                                                           

    explorer/src/components/common/OutOfSyncBanner.tsx

    ...

    +5/-6     
    route.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/image/route.tsx

    ...

    +5/-5     
    domains.ts
    ...                                                                                                           

    explorer/src/states/domains.ts

    ...

    +10/-10 
    bundle.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/bundle.ts

    ...

    +52/-0   
    ExtrinsicDetailsEventList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Extrinsic/ExtrinsicDetailsEventList.tsx

    ...

    +4/-8     
    ExtrinsicTable.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Extrinsic/ExtrinsicTable.tsx

    ...

    +4/-8     
    constants.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/rewards/constants.ts

    ...

    +61/-0   
    BlockDetailsLogList.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Block/BlockDetailsLogList.tsx

    ...

    +4/-8     
    withdrawal.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/withdrawal.ts

    ...

    +22/-8   
    constants.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/transaction-payment/constants.ts

    ...

    +31/-0   
    downloadFullData.ts
    ...                                                                                                           

    explorer/src/utils/downloadFullData.ts

    ...

    +15/-7   
    EventDetailsCard.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Event/EventDetailsCard.tsx

    ...

    +5/-9     
    EvmExplorerBanner.tsx
    ...                                                                                                           

    explorer/src/components/common/EvmExplorerBanner.tsx

    ...

    +2/-14   
    AccountDetailsCard.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountDetailsCard.tsx

    ...

    +6/-5     
    events.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/transaction-fees/events.ts

    ...

    +54/-0   
    SearchInput.tsx
    ...                                                                                                           

    explorer/src/components/common/SearchInput.tsx

    ...

    +7/-7     
    MobileHeader.tsx
    ...                                                                                                           

    explorer/src/components/layout/MobileHeader.tsx

    ...

    +3/-3     
    layout.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/layout.tsx

    ...

    +3/-3     
    StakeHeader.tsx
    ...                                                                                                           

    explorer/src/components/layout/StakeHeader.tsx

    ...

    +3/-3     
    fauna.ts
    ...                                                                                                           

    explorer/src/utils/fauna.ts

    ...

    +5/-5     
    deposit.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/deposit.ts

    ...

    +16/-7   
    useTxHelper.ts
    ...                                                                                                           

    explorer/src/hooks/useTxHelper.ts

    ...

    +4/-4     
    query.ts
    ...                                                                                                           

    explorer/src/components/Consensus/Log/query.ts

    ...

    +59/-1   
    AccountRewardsHistory.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountRewardsHistory.tsx

    ...

    +35/-1   
    HomeInfoCard.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Home/HomeInfoCard.tsx

    ...

    +36/-1   
    indexers.ts
    ...                                                                                                           

    explorer/src/constants/indexers.ts

    ...

    +36/-0   
    constants.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/transaction-fees/constants.ts

    ...

    +43/-0   
    HomeBlockCard.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Home/HomeBlockCard.tsx

    ...

    +3/-9     
    ExtrinsicAndEventResultCard.tsx
    ...                                                                                                           

    explorer/src/components/layout/ExtrinsicAndEventResult/ExtrinsicAndEventResultCard.tsx

    ...

    +4/-4     
    ExtrinsicDetailsCard.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Extrinsic/ExtrinsicDetailsCard.tsx

    ...

    +3/-7     
    index.tsx
    ...                                                                                                           

    explorer/src/components/Domain/index.tsx

    ...

    +5/-5     
    AccountGraphTabs.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountGraphTabs.tsx

    ...

    +2/-3     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/extrinsics/[extrinsicId]/page.tsx

    ...

    +3/-3     
    EventListFilter.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Event/EventListFilter.tsx

    ...

    +33/-1   
    LogDetailsTab.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Log/LogDetailsTab.tsx

    ...

    +36/-1   
    ExtrinsicListFilter.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Extrinsic/ExtrinsicListFilter.tsx

    ...

    +33/-1   
    BlockDetailsCard.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Block/BlockDetailsCard.tsx

    ...

    +4/-4     
    fee.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/events/fee.ts

    ...

    +31/-0   
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/accounts/[accountId]/rewards/page.tsx

    ...

    +3/-3     
    codegen.ts
    ...                                                                                                           

    explorer/codegen.ts

    ...

    +10/-5   
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/accounts/[accountId]/page.tsx

    ...

    +3/-3     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/leaderboard/nominators/page.tsx

    ...

    +4/-4     
    middleware.ts
    ...                                                                                                           

    explorer/src/middleware.ts

    ...

    +7/-4     
    TableNavigation.tsx
    ...                                                                                                           

    explorer/src/components/common/TableNavigation.tsx

    ...

    +2/-2     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/extrinsics/page.tsx

    ...

    +3/-3     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/leaderboard/operators/page.tsx

    ...

    +4/-4     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/blocks/[blockId]/page.tsx

    ...

    +3/-3     
    AccountGraphs.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Account/AccountGraphs.tsx

    ...

    +31/-1   
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/logs/[logId]/page.tsx

    ...

    +3/-3     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/blocks/page.tsx

    ...

    +3/-3     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/accounts/page.tsx

    ...

    +3/-3     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/events/page.tsx

    ...

    +3/-3     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/logs/page.tsx

    ...

    +3/-3     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/leaderboard/farmers/page.tsx

    ...

    +4/-4     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/events/[eventId]/page.tsx

    ...

    +3/-3     
    queryGraphqlServer.ts
    ...                                                                                                           

    explorer/src/utils/queryGraphqlServer.ts

    ...

    +5/-5     
    NotResultsFound.tsx
    ...                                                                                                           

    explorer/src/components/layout/NotResultsFound.tsx

    ...

    +3/-3     
    storage.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/transaction-payment/storage.ts

    ...

    +22/-0   
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/page.tsx

    ...

    +3/-3     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/staking/[operatorId]/page.tsx

    ...

    +2/-2     
    index.ts
    ...                                                                                                           

    indexers/staking-squid/src/blocks/index.ts

    ...

    +4/-6     
    account.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/account.ts

    ...

    +11/-7   
    events.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/subspace/events.ts

    ...

    +31/-0   
    index.tsx
    ...                                                                                                           

    explorer/src/components/layout/NotFound/index.tsx

    ...

    +3/-3     
    index.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/blocks/index.ts

    ...

    +20/-0   
    events.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/rewards/events.ts

    ...

    +30/-0   
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/leaderboard/accounts/page.tsx

    ...

    +26/-0   
    MyPositionSwitch.tsx
    ...                                                                                                           

    explorer/src/components/common/MyPositionSwitch.tsx

    ...

    +8/-2     
    processor.ts
    ...                                                                                                           

    indexers/staking-squid/src/processor.ts

    ...

    +7/-3     
    SearchBar.test.tsx
    ...                                                                                                           

    explorer/src/components/common/tests/SearchBar.test.tsx

    ...

    +3/-3     
    index.ts
    ...                                                                                                           

    indexers/staking-squid/src/model/generated/index.ts

    ...

    +7/-2     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/farming/page.tsx

    ...

    +2/-2     
    domainBlock.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/domainBlock.ts

    ...

    +24/-0   
    ExtrinsicDetailsTab.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Extrinsic/ExtrinsicDetailsTab.tsx

    ...

    +21/-1   
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/autoid/page.tsx

    ...

    +2/-2     
    BlockAuthor.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Block/BlockAuthor.tsx

    ...

    +22/-1   
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/staking/page.tsx

    ...

    +2/-2     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/domains/page.tsx

    ...

    +2/-2     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/staking/register/page.tsx

    ...

    +2/-2     
    calls.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/rewards/calls.ts

    ...

    +16/-0   
    events.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/transaction-payment/events.ts

    ...

    +18/-0   
    ActionsDropdown.tsx
    ...                                                                                                           

    explorer/src/components/Staking/ActionsDropdown.tsx

    ...

    +4/-2     
    number.ts
    ...                                                                                                           

    explorer/src/utils/number.ts

    ...

    +2/-2     
    slack.ts
    ...                                                                                                           

    explorer/src/utils/slack.ts

    ...

    +2/-2     
    main.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/main.ts

    ...

    +15/-0   
    domain.ts
    ...                                                                                                           

    indexers/staking-squid/src/events/domain.ts

    ...

    +6/-2     
    Home.test.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Home/test/Home.test.tsx

    ...

    +2/-2     
    main.ts
    ...                                                                                                           

    indexers/staking-squid/src/main.ts

    ...

    +1/-3     
    layout.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/consensus/layout.tsx

    ...

    +2/-2     
    layout.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/nova/layout.tsx

    ...

    +2/-2     
    HomeChainInfo.tsx
    ...                                                                                                           

    explorer/src/components/Consensus/Home/HomeChainInfo.tsx

    ...

    +2/-2     
    consensus.ts
    ...                                                                                                           

    explorer/src/types/consensus.ts

    ...

    +4/-1     
    transaction.ts
    ...                                                                                                           

    explorer/src/types/transaction.ts

    ...

    +2/-2     
    useChains.ts
    ...                                                                                                           

    explorer/src/hooks/useChains.ts

    ...

    +2/-2     
    SortedTable.tsx
    ...                                                                                                           

    explorer/src/components/common/SortedTable.tsx

    ...

    +1/-1     
    page.tsx
    ...                                                                                                           

    explorer/src/app/[chain]/leaderboard/page.tsx

    ...

    +2/-2     
    index.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/index.ts

    ...

    +8/-0     
    constants.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/constants.ts

    ...

    +7/-0     
    events.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/events.ts

    ...

    +7/-0     
    storage.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/storage.ts

    ...

    +7/-0     
    SearchResult.tsx
    ...                                                                                                           

    explorer/src/components/layout/SearchResult.tsx

    ...

    +1/-1     
    transactions.ts
    ...                                                                                                           

    explorer/src/states/transactions.ts

    ...

    +1/-1     
    routes.ts
    ...                                                                                                           

    explorer/src/constants/routes.ts

    ...

    +1/-0     
    calls.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/types/calls.ts

    ...

    +5/-0     
    index.ts
    ...                                                                                                           

    indexers/staking-squid/src/types/index.ts

    ...

    +1/-0     
    general.ts
    ...                                                                                                           

    explorer/src/constants/general.ts

    ...

    +5/-0     
    mocks.ts
    ...                                                                                                           

    explorer/src/components/Consensus/Home/test/mocks.ts

    ...

    +1/-1     
    SearchQueryMocks.ts
    ...                                                                                                           

    explorer/src/components/common/tests/mocks/SearchQueryMocks.ts

    ...

    +1/-1     
    index.ts
    ...                                                                                                           

    explorer/src/constants/index.ts

    ...

    +1/-2     
    index.ts
    ...                                                                                                           

    indexers/staking-squid/src/storage/index.ts

    ...

    +1/-0     
    index.ts
    ...                                                                                                           

    indexers/leaderboard-squid/src/model/index.ts

    ...

    +1/-0     
    1723832727324-Data.js
    ...                                                                                                           

    indexers/staking-squid/db/migrations/1723832727324-Data.js

    ...

    +211/-0 
    1723206699043-Data.js
    ...                                                                                                           

    indexers/leaderboard-squid/db/migrations/1723206699043-Data.js

    ...

    +105/-0 
    docker-run.sh
    ...                                                                                                           

    indexers/leaderboard-squid/scripts/docker-run.sh

    ...

    +5/-0     
    gemini3h.jsonl
    ...                                                                                                           

    indexers/leaderboard-squid/gemini3h.jsonl

    ...

    +6/-1     
    gemini3h.jsonl
    ...                                                                                                           

    indexers/staking-squid/gemini3h.jsonl

    ...

    +1/-6     
    package-lock.json
    ...                                                                                                           

    indexers/leaderboard-squid/package-lock.json

    ...

    +5168/-1
    hasura_metadata.json
    ...                                                                                                           

    indexers/staking-squid/hasura/hasura_metadata.json

    ...

    +1025/-0
    schema.graphql
    ...                                                                                                           

    indexers/staking-squid/schema.graphql

    ...

    +180/-34
    README.md
    ...                                                                                                           

    indexers/leaderboard-squid/README.md

    ...

    +194/-0 
    schema.graphql
    ...                                                                                                           

    indexers/leaderboard-squid/schema.graphql

    ...

    +219/-0 
    commands.json
    ...                                                                                                           

    indexers/leaderboard-squid/commands.json

    ...

    +97/-0   
    gh-deploy-monolith-squid.yml
    ...                                                                                                           

    .github/workflows/gh-deploy-monolith-squid.yml

    ...

    +77/-0   
    .cursorrules
    ...                                                                                                           

    explorer/.cursorrules

    ...

    +46/-0   
    gh-deploy-micro-squids.yml
    ...                                                                                                           

    .github/workflows/gh-deploy-micro-squids.yml

    ...

    +15/-1   
    package.json
    ...                                                                                                           

    indexers/leaderboard-squid/package.json

    ...

    +38/-0   
    docker-compose.yml
    ...                                                                                                           

    indexers/squid-blockexplorer/docker-compose.yml

    ...

    +25/-0   
    typegen.json
    ...                                                                                                           

    indexers/leaderboard-squid/typegen.json

    ...

    +48/-0   
    LICENSE
    ...                                                                                                           

    indexers/leaderboard-squid/LICENSE

    ...

    +21/-0   
    squid.yaml
    ...                                                                                                           

    indexers/leaderboard-squid/squid.yaml

    ...

    +33/-0   
    package.json
    ...                                                                                                           

    explorer/package.json

    ...

    +2/-2     
    tsconfig.json
    ...                                                                                                           

    indexers/leaderboard-squid/tsconfig.json

    ...

    +19/-0   
    astral.code-workspace
    ...                                                                                                           

    .vscode/astral.code-workspace

    ...

    +4/-0     
    .env
    ...                                                                                                           

    indexers/leaderboard-squid/.env

    ...

    +8/-0     
    docker-compose.yml
    ...                                                                                                           

    indexers/leaderboard-squid/docker-compose.yml

    ...

    +15/-0   
    squid.yaml
    ...                                                                                                           

    indexers/staking-squid/squid.yaml

    ...

    +2/-2     
    .env.sample
    ...                                                                                                           

    indexers/squid-blockexplorer/.env.sample

    ...

    +3/-0     
    .squidignore
    ...                                                                                                           

    indexers/leaderboard-squid/.squidignore

    ...

    +7/-0     
    .dockerignore
    ...                                                                                                           

    indexers/leaderboard-squid/.dockerignore

    ...

    +4/-0     
    .npmrc
    ...                                                                                                           

    indexers/leaderboard-squid/.npmrc

    ...

    +1/-0     

    💡 PR-Agent usage:
    Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

    Copy link

    netlify bot commented Aug 20, 2024

    Deploy Preview for astral-prod ready!

    Name Link
    🔨 Latest commit 429cec5
    🔍 Latest deploy log https://app.netlify.com/sites/astral-prod/deploys/66c471f88d76a70008ea4a9f
    😎 Deploy Preview https://deploy-preview-818--astral-prod.netlify.app
    📱 Preview on mobile
    Toggle QR Code...

    QR Code

    Use your smartphone camera to open QR code link.

    To edit notification comments on pull requests, go to your Netlify site configuration.

    Copy link

    netlify bot commented Aug 20, 2024

    Deploy Preview for dev-astral canceled.

    Name Link
    🔨 Latest commit 429cec5
    🔍 Latest deploy log https://app.netlify.com/sites/dev-astral/deploys/66c471f8277d58000838009e

    Copy link

    Report too large to display inline

    View full report↗︎

    Copy link

    🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎

    To accept the risk, merge this PR and you will not be notified again.

    Alert Package NoteSourceCI
    Install scripts npm/faunadb@4.8.0
    • Install script: postinstall
    • Source: node ./tools/printReleaseNotes
    🚫
    Telemetry npm/next@14.1.3
    • Note: Can be disabled by setting the environment variable NEXT_TELEMETRY_DISABLED=1 . See https://nextjs.org/telemetry for more information
    🚫

    View full report↗︎

    Next steps

    What is an install script?

    Install scripts are run when the package is installed. The majority of malware in npm is hidden in install scripts.

    Packages should not be running non-essential scripts during install and there are often solutions to problems people solve with install scripts that can be run at publish time instead.

    What is telemetry?

    This package contains telemetry which tracks how it is used.

    Most telemetry comes with settings to disable it. Consider disabling telemetry if you do not want to be tracked.

    Take a deeper look at the dependency

    Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev.

    Remove the package

    If you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency.

    Mark a package as acceptable risk

    To ignore an alert, reply with a comment starting with @SocketSecurity ignore followed by a space separated list of ecosystem/package-name@version specifiers. e.g. @SocketSecurity ignore npm/foo@1.0.0 or ignore all packages with @SocketSecurity ignore-all

    • @SocketSecurity ignore npm/faunadb@4.8.0
    • @SocketSecurity ignore npm/next@14.1.3

    Copy link

    PR Reviewer Guide 🔍

    ⏱️ Estimated effort to review: 5 🔵🔵🔵🔵🔵
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Key issues to review

    Complexity
    The file contains a very large number of type definitions and interfaces (over 3000 lines), which can be challenging to maintain and understand. Consider breaking down the file into smaller, more manageable modules or files based on functionality or domain context.

    Code Duplication
    There is a repetitive pattern in functions like createOperatorTotalRewardsCollected, createOperatorTotalTaxCollected, etc., where similar logic is repeated with slight variations. Consider refactoring these into a more generic function that can handle different cases through parameters.

    Copy link

    github-actions bot commented Aug 20, 2024

    PR Code Suggestions ✨

    CategorySuggestion                                                                                                                                    Score
    Enhancement
    Add error handling for dotenv configuration to enhance robustness

    Consider adding error handling for the dotenv configuration to manage environmental
    variables more safely, especially in production environments.

    explorer/codegen.ts [5]

    -dotenv.config()
    +const dotenvResult = dotenv.config();
    +if (dotenvResult.error) {
    +  throw dotenvResult.error;
    +}
     
    Suggestion importance[1-10]: 9

    Why: Adding error handling for dotenv configuration is a significant enhancement for robustness, especially in production environments, making it a highly valuable suggestion.

    9
    Improve the default message for unknown chain titles

    Use a more descriptive default value than 'Unknown chain' to enhance user experience
    and debugging.

    explorer/src/app/[chain]/consensus/accounts/[accountId]/page.tsx [12]

    -const chainTitle = indexers.find((c) => c.network === chain)?.title || 'Unknown chain'
    +const chainTitle = indexers.find((c) => c.network === chain)?.title || 'Chain information unavailable'
     
    Suggestion importance[1-10]: 5

    Why: While improving the default message can enhance user experience, it is a minor enhancement and does not address a critical issue. The existing default message is already functional.

    5
    Reliability
    Add error handling for the fetch request to improve reliability

    Add error handling for the fetch request to handle cases where the request fails or
    returns an unexpected response.

    explorer/src/app/[chain]/consensus/accounts/[accountId]/image/route.tsx [31-34]

    -const {
    -  data: { accountById },
    -}: {
    -  data: AccountByIdQuery
    -} = await fetch(chainMatch.squids.old, {
    -  method: 'POST',
    -  headers: {
    -    'Content-Type': 'application/json',
    -  },
    -});
    +let accountById;
    +try {
    +  const response = await fetch(chainMatch.squids.old, {
    +    method: 'POST',
    +    headers: {
    +      'Content-Type': 'application/json',
    +    },
    +  });
    +  if (!response.ok) {
    +    throw new Error('Failed to fetch account details');
    +  }
    +  const data = await response.json() as AccountByIdQuery;
    +  accountById = data.accountById;
    +} catch (error) {
    +  console.error('Error fetching account details:', error);
    +  notFound();
    +}
     
    Suggestion importance[1-10]: 9

    Why: Adding error handling for the fetch request is crucial for improving the reliability of the application, ensuring that unexpected responses are managed properly.

    9
    Security
    Sanitize or validate the chain variable before usage

    Ensure that the chain variable is properly sanitized or validated before using it in
    the find method to avoid potential security risks.

    explorer/src/app/[chain]/consensus/accounts/[accountId]/page.tsx [12]

    -const chainTitle = indexers.find((c) => c.network === chain)?.title || 'Unknown chain'
    +const sanitizedChain = sanitizeChain(chain);
    +const chainTitle = indexers.find((c) => c.network === sanitizedChain)?.title || 'Unknown chain'
    +...
    +function sanitizeChain(chain) {
    +  // Implement necessary sanitization or validation
    +  return chain;
    +}
     
    Suggestion importance[1-10]: 9

    Why: Sanitizing or validating the chain variable before usage is crucial for preventing security vulnerabilities, making this suggestion highly important for the application's security.

    9
    Possible bug
    Verify and correct GraphQL schema paths to prevent runtime errors

    Ensure that the schema paths in the code generation configuration are correctly
    pointing to valid GraphQL schema files or servers. This is crucial for avoiding
    runtime errors related to schema fetching.

    explorer/codegen.ts [10]

    -schema: defaultIndexer.squids.leaderboard
    +schema: 'http://path_to_your_leaderboard_schema'
     
    Suggestion importance[1-10]: 8

    Why: Ensuring that schema paths are correctly pointing to valid GraphQL schema files or servers is important to prevent runtime errors, making this a valuable suggestion.

    8
    Check chainMatch for undefined to prevent runtime errors

    Ensure that chainMatch is checked for undefined before using its properties to
    prevent runtime errors.

    explorer/src/app/[chain]/consensus/accounts/[accountId]/image/route.tsx [23]

    -const chainMatch = indexers.find((c) => c.network === chain)
    +const chainMatch = indexers.find((c) => c.network === chain);
    +if (!chainMatch) {
    +  notFound();
    +  return;
    +}
     
    Suggestion importance[1-10]: 8

    Why: This suggestion addresses a potential bug by ensuring chainMatch is checked for undefined, preventing runtime errors that could disrupt the application's functionality.

    8
    Add a null check for indexers before using the find method

    Consider checking if indexers is not undefined before using the find method to
    prevent runtime errors.

    explorer/src/app/[chain]/consensus/accounts/[accountId]/page.tsx [12]

    -const chainTitle = indexers.find((c) => c.network === chain)?.title || 'Unknown chain'
    +const chainTitle = indexers?.find((c) => c.network === chain)?.title || 'Unknown chain'
     
    Suggestion importance[1-10]: 8

    Why: Adding a null check for indexers is a good practice to prevent potential runtime errors if indexers is undefined. This suggestion addresses a possible bug and enhances code robustness.

    8
    Maintainability
    Improve import specificity to enhance maintainability and avoid potential conflicts

    Consider using a more specific import statement for the defaultIndexer to avoid
    potential future conflicts and improve code maintainability. For example, instead of
    importing the entire indexers object, import only the necessary parts.

    explorer/codegen.ts [3]

    -import { defaultIndexer } from './src/constants/indexers'
    +import { squids as squidIndexer } from './src/constants/indexers'
     
    Suggestion importance[1-10]: 7

    Why: The suggestion to import only the necessary parts of indexers can improve code maintainability and reduce potential conflicts, but it is not crucial for functionality.

    7
    Refactor repeated code into a function to enhance readability and maintainability

    Replace the repeated use of numberWithCommas(bigNumberToNumber(...)) with a function
    call to reduce redundancy and improve code readability.

    explorer/src/app/[chain]/consensus/accounts/[accountId]/image/route.tsx [129-145]

    -Total {numberWithCommas(bigNumberToNumber(account.total))} ({TOKEN.symbol})
    -Reserved {numberWithCommas(bigNumberToNumber(account.reserved))} ({TOKEN.symbol})
    -Free {numberWithCommas(bigNumberToNumber(account.free))} ({TOKEN.symbol})
    +const formatAccountValue = (value) => numberWithCommas(bigNumberToNumber(value));
    +Total {formatAccountValue(account.total)} ({TOKEN.symbol})
    +Reserved {formatAccountValue(account.reserved)} ({TOKEN.symbol})
    +Free {formatAccountValue(account.free)} ({TOKEN.symbol})
     
    Suggestion importance[1-10]: 7

    Why: Refactoring repeated code into a function improves readability and maintainability, making the codebase cleaner and easier to manage.

    7
    Refactor chain title retrieval into a separate function

    Extract the logic for finding the chain title into a separate function to improve
    code reusability and maintainability.

    explorer/src/app/[chain]/consensus/accounts/[accountId]/page.tsx [12]

    -const chainTitle = indexers.find((c) => c.network === chain)?.title || 'Unknown chain'
    +const chainTitle = getChainTitle(chain, indexers)
    +...
    +function getChainTitle(chain, indexers) {
    +  return indexers.find((c) => c.network === chain)?.title || 'Unknown chain';
    +}
     
    Suggestion importance[1-10]: 7

    Why: Refactoring the logic into a separate function improves code maintainability and reusability, which is beneficial for larger codebases. However, it is not a critical change.

    7
    Use a constant for the default chain title to enhance maintainability

    Replace the hard-coded string 'Unknown chain' with a constant to ensure consistency
    and ease of maintenance.

    explorer/src/app/[chain]/autoid/page.tsx [9]

    -const chainTitle = indexers.find((c) => c.network === chain)?.title || 'Unknown chain'
    +const UNKNOWN_CHAIN = 'Unknown chain';
    +const chainTitle = indexers.find((c) => c.network === chain)?.title || UNKNOWN_CHAIN;
     
    Suggestion importance[1-10]: 6

    Why: This suggestion improves maintainability by using a constant for the default chain title, reducing the risk of inconsistencies and making future updates easier.

    6
    Best practice
    Use descriptive variable names to improve code readability and maintainability

    Use a more descriptive variable name than config for the GraphQL code generation
    configuration to enhance code readability and maintainability.

    explorer/codegen.ts [7]

    -const config: CodegenConfig = {
    +const graphqlCodegenConfig: CodegenConfig = {
     
    Suggestion importance[1-10]: 6

    Why: Using a more descriptive variable name than config can enhance code readability and maintainability, but it is a minor improvement.

    6

    @marc-aurele-besner marc-aurele-besner merged commit 31d5baa into production Aug 20, 2024
    28 of 30 checks passed
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    2 participants