Skip to content

Commit

Permalink
Resolves Dialyzer Warning and test failures
Browse files Browse the repository at this point in the history
- improve aliasing of archethic modules
- Dialyzer warning was due to a missing archethic alias
- Oracle/Reward Scheduler test failures were due to a persistent term not being nil
or cleared after tests
- Graphql schema test crashes : add message reply for get Beacon aggreagte
  • Loading branch information
apoorv-2204 authored and Neylix committed Mar 8, 2023
1 parent bb37251 commit 4408b34
Show file tree
Hide file tree
Showing 10 changed files with 31 additions and 93 deletions.
18 changes: 4 additions & 14 deletions lib/archethic/crypto.ex
Original file line number Diff line number Diff line change
Expand Up @@ -30,21 +30,11 @@ defmodule Archethic.Crypto do
According to the implementation, keys can be stored and regenerated on the fly
"""

alias __MODULE__.ECDSA
alias __MODULE__.Ed25519
alias __MODULE__.ID
alias __MODULE__.NodeKeystore
alias __MODULE__.SharedSecretsKeystore
alias __MODULE__.{ECDSA, Ed25519, ID, NodeKeystore, SharedSecretsKeystore}

alias Archethic.SharedSecrets

alias Archethic.TransactionChain
alias Archethic.TransactionChain.Transaction
alias Archethic.TransactionChain.Transaction.ValidationStamp
alias Archethic.TransactionChain.TransactionData
alias Archethic.TransactionChain.TransactionData.Ownership

alias Archethic.Utils
alias Archethic.{SharedSecrets, Utils, TransactionChain}
alias Archethic.TransactionChain.{Transaction, Transaction.ValidationStamp}
alias Archethic.TransactionChain.{TransactionData, TransactionData.Ownership}

require Logger

Expand Down
25 changes: 5 additions & 20 deletions lib/archethic/oracle_chain/scheduler.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,11 @@ defmodule Archethic.OracleChain.Scheduler do
@moduledoc """
Manage the scheduling of the oracle transactions
"""

alias Archethic.Crypto

alias Archethic.Election

alias Archethic.P2P
alias Archethic.P2P.Node

alias Archethic.PubSub

alias Archethic.OracleChain
alias Archethic.OracleChain.Services
alias Archethic.OracleChain.Summary

alias Archethic.TransactionChain
alias Archethic.TransactionChain.Transaction
alias Archethic.TransactionChain.TransactionData

alias Archethic.Utils
alias Archethic.Utils.DetectNodeResponsiveness
alias Archethic
alias Archethic.{Crypto, Election, P2P, P2P.Node, PubSub, Utils}
alias Archethic.{OracleChain, TransactionChain, Utils.DetectNodeResponsiveness}
alias OracleChain.{Services, Summary}
alias TransactionChain.{Transaction, TransactionData}

alias Crontab.CronExpression.Parser, as: CronParser

Expand Down
17 changes: 3 additions & 14 deletions lib/archethic/p2p.ex
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,11 @@ defmodule Archethic.P2P do
@moduledoc """
Handle P2P node discovery and messaging
"""
alias Archethic.Crypto
alias Archethic.{Crypto, TaskSupervisor, TransactionChain}

alias __MODULE__.BootstrappingSeeds
alias __MODULE__.Client
alias __MODULE__.GeoPatch
alias __MODULE__.MemTable
alias __MODULE__.MemTableLoader
alias __MODULE__.Message
alias __MODULE__.Node
alias Archethic.{TransactionChain.Transaction, Utils}

alias Archethic.TaskSupervisor

alias Archethic.TransactionChain
alias Archethic.TransactionChain.Transaction

alias Archethic.Utils
alias __MODULE__.{BootstrappingSeeds, Client, GeoPatch, MemTable, MemTableLoader, Message, Node}

require Logger

Expand Down
15 changes: 4 additions & 11 deletions lib/archethic/reward/scheduler.ex
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,10 @@ defmodule Archethic.Reward.Scheduler do
use GenStateMachine, callback_mode: [:handle_event_function]
@vsn Mix.Project.config()[:version]

alias Archethic.{
Crypto,
PubSub,
DB,
P2P,
P2P.Node,
Reward,
Election,
Utils,
Utils.DetectNodeResponsiveness
}
alias Archethic

alias Archethic.{Crypto, PubSub, DB, P2P, P2P.Node}
alias Archethic.{Reward, Election, Utils, Utils.DetectNodeResponsiveness}

require Logger

Expand Down
12 changes: 2 additions & 10 deletions lib/archethic/self_repair/scheduler.ex
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,8 @@ defmodule Archethic.SelfRepair.Scheduler do
"""
use GenServer
@vsn Mix.Project.config()[:version]

alias Archethic.P2P

alias Archethic.SelfRepair.Sync

alias Archethic.TaskSupervisor

alias Archethic.Utils

alias Archethic.PubSub
alias Archethic
alias Archethic.{P2P, SelfRepair.Sync, TaskSupervisor, Utils, PubSub}

alias Archethic.Bootstrap.Sync, as: BootstrapSync

Expand Down
29 changes: 5 additions & 24 deletions lib/archethic/self_repair/sync.ex
Original file line number Diff line number Diff line change
@@ -1,34 +1,15 @@
defmodule Archethic.SelfRepair.Sync do
@moduledoc false
alias Archethic

alias Archethic.BeaconChain
alias Archethic.BeaconChain.Subset.P2PSampling
alias Archethic.BeaconChain.Summary
alias Archethic.BeaconChain.SummaryAggregate
alias Archethic.{BeaconChain, Crypto, DB, Election, P2P, P2P.Node, P2P.Message}
alias Archethic.{SelfRepair, TaskSupervisor, TransactionChain, Utils, PubSub}
alias Archethic.{TaskSupervisor, TransactionChain.TransactionSummary}

alias Archethic.Crypto

alias Archethic.DB

alias Archethic.Election

alias Archethic.PubSub

alias Archethic.P2P
alias Archethic.P2P.Node
alias Archethic.P2P.Message
alias BeaconChain.{Subset.P2PSampling, Summary, SummaryAggregate}

alias __MODULE__.TransactionHandler

alias Archethic.TaskSupervisor
alias Archethic.TransactionChain

alias Archethic.TransactionChain.TransactionSummary

alias Archethic.SelfRepair

alias Archethic.Utils

require Logger

@bootstrap_info_last_sync_date_key "last_sync_time"
Expand Down
1 change: 1 addition & 0 deletions lib/archethic_web/channels/user_socket.ex
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ defmodule ArchethicWeb.UserSocket do

require Logger

alias Archethic
## Channels
# channel "room:*", ArchethicWeb.RoomChannel

Expand Down
2 changes: 2 additions & 0 deletions test/archethic/oracle_chain/scheduler_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,8 @@ defmodule Archethic.OracleChain.SchedulerTest do
end

test "should wait for node up message to start the scheduler and node_down to stop the scheduler, node: authorized and available" do
:persistent_term.put(:archethic_up, nil)

P2P.add_and_connect_node(%Node{
ip: {127, 0, 0, 1},
port: 3002,
Expand Down
2 changes: 2 additions & 0 deletions test/archethic/reward/scheduler_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ defmodule Archethic.Reward.SchedulerTest do
end

test "should wait for :node_up message to start the scheduler, when node is authorized and available" do
:persistent_term.put(:archethic_up, nil)

P2P.add_and_connect_node(%Node{
ip: {127, 0, 0, 1},
port: 3002,
Expand Down
3 changes: 3 additions & 0 deletions test/archethic_web/graphql_schema_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -865,6 +865,9 @@ defmodule ArchethicWeb.GraphQLSchemaTest do
|> stub(:send_message, fn
_, %GetCurrentSummaries{}, _ ->
{:ok, []}

_, %GetBeaconSummariesAggregate{}, _ ->
{:ok, %SummaryAggregate{version: version}}
end)

conn =
Expand Down

0 comments on commit 4408b34

Please sign in to comment.