From 568b0127564e1badc5aa0d906ba1d66be5fdd348 Mon Sep 17 00:00:00 2001 From: bchamagne Date: Tue, 26 Dec 2023 17:38:39 +0100 Subject: [PATCH 1/8] default appup --- rel/appups/archethic/1.4.2_to_1.4.3.appup | 898 ++++++++++++++++++++++ 1 file changed, 898 insertions(+) create mode 100644 rel/appups/archethic/1.4.2_to_1.4.3.appup diff --git a/rel/appups/archethic/1.4.2_to_1.4.3.appup b/rel/appups/archethic/1.4.2_to_1.4.3.appup new file mode 100644 index 000000000..7dd7d025c --- /dev/null +++ b/rel/appups/archethic/1.4.2_to_1.4.3.appup @@ -0,0 +1,898 @@ +{"1.4.3", + [{"1.4.2", + [{add_module,'Elixir.Archethic.Contracts.Conditions.Subjects'}, + {add_module,'Elixir.Archethic.Contracts.Conditions'}, + {add_module,'Elixir.Archethic.Contracts.Constants'}, + {add_module,'Elixir.Archethic.Contracts.Contract.ConditionRejected'}, + {add_module,'Elixir.Archethic.P2P.Message.DashboardData'}, + {add_module,'Elixir.Archethic.P2P.Message.GetDashboardData'}, + {add_module,'Elixir.ArchethicWeb.DashboardMetrics'}, + {add_module,'Elixir.ArchethicWeb.DashboardMetricsAggregator'}, + {update,'Elixir.Archethic.Account.MemTables.StateLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Account.MemTables.TokenLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Account.MemTables.UCOLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.BeaconChain.SubsetSupervisor',supervisor}, + {update,'Elixir.Archethic.BeaconChain.Update', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {load_module,'Elixir.Archethic.Cldr.Currency',brutal_purge,soft_purge,[]}, + {load_module,'Elixir.Archethic.Cldr.Number.Transliterate',brutal_purge, + soft_purge,[]}, + {load_module,'Elixir.Archethic.Contracts.Contract.Failure',brutal_purge, + soft_purge,[]}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.ConditionInterpreter', + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Contracts.TransactionLookup', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.BootstrapInfo', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.StatsInfo', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Election.Constraints', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Metrics.ETSFlush', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Metrics.MetricSupervisor',supervisor}, + {update,'Elixir.Archethic.OracleChain.MemTable', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.P2P.GeoPatch.GeoIP.MaxMindDB', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {load_module,'Elixir.Archethic.P2P.MessageId',brutal_purge,soft_purge,[]}, + {load_module,'Elixir.Archethic.PubSub',brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Replication.TransactionPool', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Reward.MemTables.RewardTokens', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.SharedSecrets.MemTables.NetworkLookup', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.SharedSecrets.MemTables.OriginKeyLookup', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.TransactionChain.MemTables.KOLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.TransactionChain.MemTables.PendingLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Utils.JobCache', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Utils.JobConductor', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Utils.PortHandler', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Utils.Regression.Benchmark.SeedHolder', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {load_module,'Elixir.ArchethicWeb.API.JsonRPC.Error',brutal_purge, + soft_purge,[]}, + {load_module,'Elixir.ArchethicWeb.Explorer.DashboardView',brutal_purge, + soft_purge,[]}, + {update,'Elixir.ArchethicWeb.Explorer.ExplorerLive.TopTransactionsCache', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.ArchethicWeb.Explorer.FaucetRateLimiter', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.ArchethicWeb.Explorer.TransactionCache', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {load_module,'Elixir.ArchethicWeb.ExplorerRouter',brutal_purge,soft_purge, + []}, + {update,'Elixir.ArchethicWeb.Supervisor',supervisor}, + {load_module,'Elixir.Archethic.Contracts.Contract',brutal_purge, + soft_purge, + ['Elixir.Archethic.Contracts.Interpreter']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.ConditionValidator', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts.Interpreter']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.Legacy.ConditionInterpreter', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts.Interpreter']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.Library.Common.ChainImpl', + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.Library.Common.ContractImpl', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts']}, + {update,'Elixir.Archethic.Crypto.Ed25519.LibSodiumPort', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils.PortHandler']}, + {update,'Elixir.Archethic.Crypto.NodeKeystore.Origin.SoftwareImpl', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Crypto.NodeKeystore.Origin.TPMImpl', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils.PortHandler']}, + {update,'Elixir.Archethic.Crypto.NodeKeystore.SoftwareImpl', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Crypto.SharedSecretsKeystore.SoftwareImpl', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.ChainIndex', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.DB.EmbeddedImpl.ChainWriter']}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.InputsWriter', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.P2PView', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Election.HypergeometricDistribution', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub']}, + {update,'Elixir.Archethic.Governance.Pools.MemTableLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.Mining.ProofOfWork',brutal_purge, + soft_purge, + ['Elixir.Archethic.Contracts']}, + {update,'Elixir.Archethic.OracleChain.Services.HydratingCache', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.P2P.BootstrappingSeeds', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub']}, + {update,'Elixir.Archethic.P2P.Listener', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub']}, + {update,'Elixir.Archethic.P2P.MemTable', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub']}, + {load_module,'Elixir.Archethic.P2P.Message.GetNetworkStats',brutal_purge, + soft_purge, + ['Elixir.Archethic.BeaconChain.Subset.StatsCollector']}, + {load_module,'Elixir.Archethic.P2P.Message.GetUnspentOutputs', + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.SelfRepair.RepairWorker', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.SelfRepair']}, + {load_module,'Elixir.Archethic.Utils',brutal_purge,soft_purge, + ['Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.TransactionChain.Transaction.ValidationStamp.LedgerOperations.TransactionMovement', + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {load_module,'Elixir.ArchethicWeb.API.JsonRPC.Method.CallContractFunction', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts']}, + {load_module,'Elixir.ArchethicWeb.Explorer.DashboardLive',brutal_purge, + soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.BeaconChain.SummaryTimer', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.ChainWriter', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.DB.EmbeddedImpl.ChainIndex', + 'Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.Election',brutal_purge,soft_purge, + ['Elixir.Archethic.Election.Constraints', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.TransactionChain.MemTablesLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.TransactionChain.MemTables.PendingLedger']}, + {update,'Elixir.ArchethicWeb.TransactionSubscriber', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.PubSub']}, + {load_module,'Elixir.Archethic.Application',brutal_purge,soft_purge, + ['Elixir.Archethic.OracleChain', + 'Elixir.Archethic.SelfRepair','Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.BeaconChain.NetworkCoordinates', + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.Subset.SummaryCache', + 'Elixir.Archethic.Election','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.BeaconChain.SlotTimer', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.SummaryTimer', + 'Elixir.Archethic.PubSub','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.BeaconChain.Subset.SummaryCache', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.SummaryTimer', + 'Elixir.Archethic.PubSub','Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.TransactionChain',brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.P2P.Message', + 'Elixir.Archethic.TransactionChain.MemTables.KOLedger', + 'Elixir.Archethic.TransactionChain.MemTables.PendingLedger', + 'Elixir.Archethic.TransactionChain.MemTablesLoader']}, + {update,'Elixir.Archethic.Utils.DetectNodeResponsiveness', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.P2P.Client.Connection', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.P2P.Message','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Reward.MemTablesLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Reward.MemTables.RewardTokens', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.SelfRepair.Scheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Networking.Scheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub','Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.OracleChain.MemTableLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.OracleChain', + 'Elixir.Archethic.OracleChain.MemTable', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.P2P.MemTableLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.P2P.MemTable','Elixir.Archethic.SelfRepair', + 'Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.P2P.Message.ReplicateTransaction', + brutal_purge,soft_purge, + ['Elixir.Archethic.Election', + 'Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Account.MemTablesLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Account.MemTables.StateLedger', + 'Elixir.Archethic.Account.MemTables.TokenLedger', + 'Elixir.Archethic.Account.MemTables.UCOLedger', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.BeaconChain.Subset.StatsCollector', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.NetworkCoordinates', + 'Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.Utils.JobCache']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter',brutal_purge, + soft_purge, + ['Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Contracts.Interpreter.ConditionInterpreter', + 'Elixir.Archethic.Contracts.Interpreter.ConditionValidator', + 'Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.Contracts',brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Contracts.Interpreter', + 'Elixir.Archethic.Contracts.Loader', + 'Elixir.Archethic.Contracts.TransactionLookup']}, + {load_module,'Elixir.Archethic.Mining.SmartContractValidation', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Election', + 'Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.OracleChain',brutal_purge,soft_purge, + ['Elixir.Archethic.OracleChain.MemTable', + 'Elixir.Archethic.OracleChain.MemTableLoader', + 'Elixir.Archethic.OracleChain.Scheduler', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.SelfRepair.NetworkView', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.OracleChain','Elixir.Archethic.PubSub', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.SelfRepair.Notifier', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils']}, + {load_module,'Elixir.ArchethicWeb.API.JsonRPC.Method.EstimateTransactionFee', + brutal_purge,soft_purge, + ['Elixir.Archethic.Mining.SmartContractValidation', + 'Elixir.Archethic.OracleChain', + 'Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.ArchethicWeb.API.JsonRPC.Method.SimulateContractExecution', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.ArchethicWeb.API.JsonRPC.Error']}, + {load_module,'Elixir.ArchethicWeb.API.REST.TransactionController', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts','Elixir.Archethic.OracleChain', + 'Elixir.ArchethicWeb.TransactionSubscriber']}, + {load_module,'Elixir.Archethic.P2P.Message.ValidateSmartContractCall', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.OracleChain', + 'Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.P2P.Message',brutal_purge,soft_purge, + ['Elixir.Archethic.P2P.Message.GetNetworkStats', + 'Elixir.Archethic.P2P.Message.GetUnspentOutputs', + 'Elixir.Archethic.P2P.Message.ReplicateTransaction', + 'Elixir.Archethic.P2P.Message.ValidateSmartContractCall']}, + {update,'Elixir.Archethic.Reward.Scheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.Utils', + 'Elixir.Archethic.Utils.DetectNodeResponsiveness']}, + {update,'Elixir.Archethic.SharedSecrets.NodeRenewalScheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.Utils', + 'Elixir.Archethic.Utils.DetectNodeResponsiveness']}, + {update,'Elixir.Archethic.SharedSecrets.MemTablesLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.SharedSecrets.MemTables.NetworkLookup', + 'Elixir.Archethic.SharedSecrets.MemTables.OriginKeyLookup', + 'Elixir.Archethic.SharedSecrets.NodeRenewalScheduler', + 'Elixir.Archethic.TransactionChain','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Contracts.Worker', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.TransactionChain','Elixir.Archethic.Utils', + 'Elixir.Archethic.Utils.DetectNodeResponsiveness']}, + {update,'Elixir.Archethic.Contracts.Loader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Contracts.TransactionLookup', + 'Elixir.Archethic.Contracts.Worker', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.OracleChain.Scheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.OracleChain', + 'Elixir.Archethic.PubSub','Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils', + 'Elixir.Archethic.Utils.DetectNodeResponsiveness']}, + {load_module,'Elixir.Archethic.Replication.TransactionValidator', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Election', + 'Elixir.Archethic.Mining.SmartContractValidation', + 'Elixir.Archethic.OracleChain', + 'Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.TransactionChain.Transaction.ValidationStamp.LedgerOperations.TransactionMovement']}, + {load_module,'Elixir.Archethic.SelfRepair',brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts','Elixir.Archethic.Election', + 'Elixir.Archethic.P2P.Message', + 'Elixir.Archethic.SelfRepair.RepairWorker', + 'Elixir.Archethic.SelfRepair.Scheduler', + 'Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.Mining.ValidationContext',brutal_purge, + soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Election', + 'Elixir.Archethic.Mining.ProofOfWork', + 'Elixir.Archethic.Mining.SmartContractValidation', + 'Elixir.Archethic.OracleChain', + 'Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.TransactionChain.Transaction.ValidationStamp.LedgerOperations.TransactionMovement', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Mining.StandaloneWorkflow', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election', + 'Elixir.Archethic.Mining.ValidationContext', + 'Elixir.Archethic.P2P.Message','Elixir.Archethic.PubSub', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.Mining.DistributedWorkflow', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election', + 'Elixir.Archethic.Mining.ValidationContext', + 'Elixir.Archethic.P2P.Message','Elixir.Archethic.PubSub', + 'Elixir.Archethic.TransactionChain','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.BeaconChain.Subset', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.NetworkCoordinates', + 'Elixir.Archethic.BeaconChain.SlotTimer', + 'Elixir.Archethic.BeaconChain.Subset.StatsCollector', + 'Elixir.Archethic.BeaconChain.Subset.SummaryCache', + 'Elixir.Archethic.BeaconChain.SummaryTimer', + 'Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.SelfRepair','Elixir.Archethic.Utils']}, + {delete_module,'Elixir.Archethic.Contracts.ContractConditions.Subjects'}, + {delete_module,'Elixir.Archethic.Contracts.ContractConditions'}, + {delete_module,'Elixir.Archethic.Contracts.ContractConstants'}, + {delete_module,'Elixir.Archethic.Metrics.Collector.MetricsEndpoint'}, + {delete_module,'Elixir.Archethic.Metrics.Collector'}, + {delete_module,'Elixir.Archethic.Metrics.Parser'}, + {delete_module,'Elixir.Archethic.Metrics.Poller'}, + {delete_module,'Elixir.Archethic.OracleChain.Services.UCOPrice.Providers.CoinMarketCapUniris'}, + {apply,{supervisor,terminate_child, + ['Elixir.Archethic.Telemetry',prometheus_metrics]}}, + {apply,{supervisor,restart_child, + ['Elixir.Archethic.Telemetry',prometheus_metrics]}}, + {apply,{'Elixir.Mix.Tasks.Archethic.Migrate',run,["1.4.3",true]}}]}], + [{"1.4.2", + [{delete_module,'Elixir.Archethic.Contracts.Conditions.Subjects'}, + {delete_module,'Elixir.Archethic.Contracts.Conditions'}, + {delete_module,'Elixir.Archethic.Contracts.Constants'}, + {delete_module,'Elixir.Archethic.Contracts.Contract.ConditionRejected'}, + {delete_module,'Elixir.Archethic.P2P.Message.DashboardData'}, + {delete_module,'Elixir.Archethic.P2P.Message.GetDashboardData'}, + {delete_module,'Elixir.ArchethicWeb.DashboardMetrics'}, + {delete_module,'Elixir.ArchethicWeb.DashboardMetricsAggregator'}, + {update,'Elixir.Archethic.Account.MemTables.StateLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Account.MemTables.TokenLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Account.MemTables.UCOLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.BeaconChain.SubsetSupervisor',supervisor}, + {update,'Elixir.Archethic.BeaconChain.Update', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {load_module,'Elixir.Archethic.Cldr.Currency',brutal_purge,soft_purge,[]}, + {load_module,'Elixir.Archethic.Cldr.Number.Transliterate',brutal_purge, + soft_purge,[]}, + {load_module,'Elixir.Archethic.Contracts.Contract.Failure',brutal_purge, + soft_purge,[]}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.ConditionInterpreter', + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Contracts.TransactionLookup', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.BootstrapInfo', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.StatsInfo', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Election.Constraints', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Metrics.ETSFlush', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Metrics.MetricSupervisor',supervisor}, + {update,'Elixir.Archethic.OracleChain.MemTable', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.P2P.GeoPatch.GeoIP.MaxMindDB', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {load_module,'Elixir.Archethic.P2P.MessageId',brutal_purge,soft_purge,[]}, + {load_module,'Elixir.Archethic.PubSub',brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Replication.TransactionPool', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Reward.MemTables.RewardTokens', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.SharedSecrets.MemTables.NetworkLookup', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.SharedSecrets.MemTables.OriginKeyLookup', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.TransactionChain.MemTables.KOLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.TransactionChain.MemTables.PendingLedger', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Utils.JobCache', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Utils.JobConductor', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Utils.PortHandler', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.Archethic.Utils.Regression.Benchmark.SeedHolder', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {load_module,'Elixir.ArchethicWeb.API.JsonRPC.Error',brutal_purge, + soft_purge,[]}, + {load_module,'Elixir.ArchethicWeb.Explorer.DashboardView',brutal_purge, + soft_purge,[]}, + {update,'Elixir.ArchethicWeb.Explorer.ExplorerLive.TopTransactionsCache', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.ArchethicWeb.Explorer.FaucetRateLimiter', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {update,'Elixir.ArchethicWeb.Explorer.TransactionCache', + {advanced,[]}, + brutal_purge,soft_purge,[]}, + {load_module,'Elixir.ArchethicWeb.ExplorerRouter',brutal_purge,soft_purge, + []}, + {update,'Elixir.ArchethicWeb.Supervisor',supervisor}, + {load_module,'Elixir.Archethic.Contracts.Contract',brutal_purge, + soft_purge, + ['Elixir.Archethic.Contracts.Interpreter']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.ConditionValidator', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts.Interpreter']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.Legacy.ConditionInterpreter', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts.Interpreter']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.Library.Common.ChainImpl', + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter.Library.Common.ContractImpl', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts']}, + {update,'Elixir.Archethic.Crypto.Ed25519.LibSodiumPort', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils.PortHandler']}, + {update,'Elixir.Archethic.Crypto.NodeKeystore.Origin.SoftwareImpl', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Crypto.NodeKeystore.Origin.TPMImpl', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils.PortHandler']}, + {update,'Elixir.Archethic.Crypto.NodeKeystore.SoftwareImpl', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Crypto.SharedSecretsKeystore.SoftwareImpl', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.ChainIndex', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.DB.EmbeddedImpl.ChainWriter']}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.InputsWriter', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.P2PView', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Election.HypergeometricDistribution', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub']}, + {update,'Elixir.Archethic.Governance.Pools.MemTableLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.Mining.ProofOfWork',brutal_purge, + soft_purge, + ['Elixir.Archethic.Contracts']}, + {update,'Elixir.Archethic.OracleChain.Services.HydratingCache', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.P2P.BootstrappingSeeds', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub']}, + {update,'Elixir.Archethic.P2P.Listener', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub']}, + {update,'Elixir.Archethic.P2P.MemTable', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub']}, + {load_module,'Elixir.Archethic.P2P.Message.GetNetworkStats',brutal_purge, + soft_purge, + ['Elixir.Archethic.BeaconChain.Subset.StatsCollector']}, + {load_module,'Elixir.Archethic.P2P.Message.GetUnspentOutputs', + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.SelfRepair.RepairWorker', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.SelfRepair']}, + {load_module,'Elixir.Archethic.Utils',brutal_purge,soft_purge, + ['Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.TransactionChain.Transaction.ValidationStamp.LedgerOperations.TransactionMovement', + brutal_purge,soft_purge, + ['Elixir.Archethic.Utils']}, + {load_module,'Elixir.ArchethicWeb.API.JsonRPC.Method.CallContractFunction', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts']}, + {load_module,'Elixir.ArchethicWeb.Explorer.DashboardLive',brutal_purge, + soft_purge, + ['Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.BeaconChain.SummaryTimer', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.DB.EmbeddedImpl.ChainWriter', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.DB.EmbeddedImpl.ChainIndex', + 'Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.Election',brutal_purge,soft_purge, + ['Elixir.Archethic.Election.Constraints', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.TransactionChain.MemTablesLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.TransactionChain.MemTables.PendingLedger']}, + {update,'Elixir.ArchethicWeb.TransactionSubscriber', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.PubSub']}, + {load_module,'Elixir.Archethic.Application',brutal_purge,soft_purge, + ['Elixir.Archethic.OracleChain', + 'Elixir.Archethic.SelfRepair','Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.BeaconChain.NetworkCoordinates', + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.Subset.SummaryCache', + 'Elixir.Archethic.Election','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.BeaconChain.SlotTimer', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.SummaryTimer', + 'Elixir.Archethic.PubSub','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.BeaconChain.Subset.SummaryCache', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.SummaryTimer', + 'Elixir.Archethic.PubSub','Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.TransactionChain',brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.P2P.Message', + 'Elixir.Archethic.TransactionChain.MemTables.KOLedger', + 'Elixir.Archethic.TransactionChain.MemTables.PendingLedger', + 'Elixir.Archethic.TransactionChain.MemTablesLoader']}, + {update,'Elixir.Archethic.Utils.DetectNodeResponsiveness', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.P2P.Client.Connection', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.P2P.Message','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Reward.MemTablesLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Reward.MemTables.RewardTokens', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.SelfRepair.Scheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Networking.Scheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.PubSub','Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.OracleChain.MemTableLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.OracleChain', + 'Elixir.Archethic.OracleChain.MemTable', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.P2P.MemTableLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.P2P.MemTable','Elixir.Archethic.SelfRepair', + 'Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.P2P.Message.ReplicateTransaction', + brutal_purge,soft_purge, + ['Elixir.Archethic.Election', + 'Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Account.MemTablesLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Account.MemTables.StateLedger', + 'Elixir.Archethic.Account.MemTables.TokenLedger', + 'Elixir.Archethic.Account.MemTables.UCOLedger', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.BeaconChain.Subset.StatsCollector', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.NetworkCoordinates', + 'Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.Utils.JobCache']}, + {load_module,'Elixir.Archethic.Contracts.Interpreter',brutal_purge, + soft_purge, + ['Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Contracts.Interpreter.ConditionInterpreter', + 'Elixir.Archethic.Contracts.Interpreter.ConditionValidator', + 'Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.Contracts',brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Contracts.Interpreter', + 'Elixir.Archethic.Contracts.Loader', + 'Elixir.Archethic.Contracts.TransactionLookup']}, + {load_module,'Elixir.Archethic.Mining.SmartContractValidation', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Election', + 'Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.OracleChain',brutal_purge,soft_purge, + ['Elixir.Archethic.OracleChain.MemTable', + 'Elixir.Archethic.OracleChain.MemTableLoader', + 'Elixir.Archethic.OracleChain.Scheduler', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.SelfRepair.NetworkView', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.OracleChain','Elixir.Archethic.PubSub', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.SelfRepair.Notifier', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils']}, + {load_module,'Elixir.ArchethicWeb.API.JsonRPC.Method.EstimateTransactionFee', + brutal_purge,soft_purge, + ['Elixir.Archethic.Mining.SmartContractValidation', + 'Elixir.Archethic.OracleChain', + 'Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.ArchethicWeb.API.JsonRPC.Method.SimulateContractExecution', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.ArchethicWeb.API.JsonRPC.Error']}, + {load_module,'Elixir.ArchethicWeb.API.REST.TransactionController', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts','Elixir.Archethic.OracleChain', + 'Elixir.ArchethicWeb.TransactionSubscriber']}, + {load_module,'Elixir.Archethic.P2P.Message.ValidateSmartContractCall', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.OracleChain', + 'Elixir.Archethic.TransactionChain']}, + {load_module,'Elixir.Archethic.P2P.Message',brutal_purge,soft_purge, + ['Elixir.Archethic.P2P.Message.GetNetworkStats', + 'Elixir.Archethic.P2P.Message.GetUnspentOutputs', + 'Elixir.Archethic.P2P.Message.ReplicateTransaction', + 'Elixir.Archethic.P2P.Message.ValidateSmartContractCall']}, + {update,'Elixir.Archethic.Reward.Scheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.Utils', + 'Elixir.Archethic.Utils.DetectNodeResponsiveness']}, + {update,'Elixir.Archethic.SharedSecrets.NodeRenewalScheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.Utils', + 'Elixir.Archethic.Utils.DetectNodeResponsiveness']}, + {update,'Elixir.Archethic.SharedSecrets.MemTablesLoader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.SharedSecrets.MemTables.NetworkLookup', + 'Elixir.Archethic.SharedSecrets.MemTables.OriginKeyLookup', + 'Elixir.Archethic.SharedSecrets.NodeRenewalScheduler', + 'Elixir.Archethic.TransactionChain','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Contracts.Worker', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.TransactionChain','Elixir.Archethic.Utils', + 'Elixir.Archethic.Utils.DetectNodeResponsiveness']}, + {update,'Elixir.Archethic.Contracts.Loader', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Contracts.TransactionLookup', + 'Elixir.Archethic.Contracts.Worker', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.OracleChain.Scheduler', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election','Elixir.Archethic.OracleChain', + 'Elixir.Archethic.PubSub','Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils', + 'Elixir.Archethic.Utils.DetectNodeResponsiveness']}, + {load_module,'Elixir.Archethic.Replication.TransactionValidator', + brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Election', + 'Elixir.Archethic.Mining.SmartContractValidation', + 'Elixir.Archethic.OracleChain', + 'Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.TransactionChain.Transaction.ValidationStamp.LedgerOperations.TransactionMovement']}, + {load_module,'Elixir.Archethic.SelfRepair',brutal_purge,soft_purge, + ['Elixir.Archethic.Contracts','Elixir.Archethic.Election', + 'Elixir.Archethic.P2P.Message', + 'Elixir.Archethic.SelfRepair.RepairWorker', + 'Elixir.Archethic.SelfRepair.Scheduler', + 'Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.Utils']}, + {load_module,'Elixir.Archethic.Mining.ValidationContext',brutal_purge, + soft_purge, + ['Elixir.Archethic.Contracts', + 'Elixir.Archethic.Contracts.Contract', + 'Elixir.Archethic.Election', + 'Elixir.Archethic.Mining.ProofOfWork', + 'Elixir.Archethic.Mining.SmartContractValidation', + 'Elixir.Archethic.OracleChain', + 'Elixir.Archethic.TransactionChain', + 'Elixir.Archethic.TransactionChain.Transaction.ValidationStamp.LedgerOperations.TransactionMovement', + 'Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.Mining.StandaloneWorkflow', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election', + 'Elixir.Archethic.Mining.ValidationContext', + 'Elixir.Archethic.P2P.Message','Elixir.Archethic.PubSub', + 'Elixir.Archethic.TransactionChain']}, + {update,'Elixir.Archethic.Mining.DistributedWorkflow', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.Election', + 'Elixir.Archethic.Mining.ValidationContext', + 'Elixir.Archethic.P2P.Message','Elixir.Archethic.PubSub', + 'Elixir.Archethic.TransactionChain','Elixir.Archethic.Utils']}, + {update,'Elixir.Archethic.BeaconChain.Subset', + {advanced,[]}, + brutal_purge,soft_purge, + ['Elixir.Archethic.BeaconChain.NetworkCoordinates', + 'Elixir.Archethic.BeaconChain.SlotTimer', + 'Elixir.Archethic.BeaconChain.Subset.StatsCollector', + 'Elixir.Archethic.BeaconChain.Subset.SummaryCache', + 'Elixir.Archethic.BeaconChain.SummaryTimer', + 'Elixir.Archethic.Election','Elixir.Archethic.PubSub', + 'Elixir.Archethic.SelfRepair','Elixir.Archethic.Utils']}, + {add_module,'Elixir.Archethic.Contracts.ContractConditions.Subjects'}, + {add_module,'Elixir.Archethic.Contracts.ContractConditions'}, + {add_module,'Elixir.Archethic.Contracts.ContractConstants'}, + {add_module,'Elixir.Archethic.Metrics.Collector.MetricsEndpoint'}, + {add_module,'Elixir.Archethic.Metrics.Collector'}, + {add_module,'Elixir.Archethic.Metrics.Parser'}, + {add_module,'Elixir.Archethic.Metrics.Poller'}, + {add_module,'Elixir.Archethic.OracleChain.Services.UCOPrice.Providers.CoinMarketCapUniris'}]}]}. From e91225933773f39d565bfc456da605decae3f046 Mon Sep 17 00:00:00 2001 From: bchamagne Date: Tue, 26 Dec 2023 17:39:08 +0100 Subject: [PATCH 2/8] restart servicecachesupervisor --- rel/appups/archethic/1.4.2_to_1.4.3.appup | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rel/appups/archethic/1.4.2_to_1.4.3.appup b/rel/appups/archethic/1.4.2_to_1.4.3.appup index 7dd7d025c..9424d1c01 100644 --- a/rel/appups/archethic/1.4.2_to_1.4.3.appup +++ b/rel/appups/archethic/1.4.2_to_1.4.3.appup @@ -445,6 +445,8 @@ {delete_module,'Elixir.Archethic.Metrics.Parser'}, {delete_module,'Elixir.Archethic.Metrics.Poller'}, {delete_module,'Elixir.Archethic.OracleChain.Services.UCOPrice.Providers.CoinMarketCapUniris'}, + {apply,{supervisor, terminate_child, ['Elixir.Archethic.OracleChain.Supervisor', 'Elixir.Archethic.OracleChain.ServiceCacheSupervisor']}}, + {apply,{supervisor, restart_child, ['Elixir.Archethic.OracleChain.Supervisor', 'Elixir.Archethic.OracleChain.ServiceCacheSupervisor']}}, {apply,{supervisor,terminate_child, ['Elixir.Archethic.Telemetry',prometheus_metrics]}}, {apply,{supervisor,restart_child, From 8b74a630b7c63a4191838e376b4994c5a031d001 Mon Sep 17 00:00:00 2001 From: bchamagne Date: Tue, 26 Dec 2023 17:43:22 +0100 Subject: [PATCH 3/8] start dashboard new processes --- rel/appups/archethic/1.4.2_to_1.4.3.appup | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rel/appups/archethic/1.4.2_to_1.4.3.appup b/rel/appups/archethic/1.4.2_to_1.4.3.appup index 9424d1c01..6e329937b 100644 --- a/rel/appups/archethic/1.4.2_to_1.4.3.appup +++ b/rel/appups/archethic/1.4.2_to_1.4.3.appup @@ -447,6 +447,8 @@ {delete_module,'Elixir.Archethic.OracleChain.Services.UCOPrice.Providers.CoinMarketCapUniris'}, {apply,{supervisor, terminate_child, ['Elixir.Archethic.OracleChain.Supervisor', 'Elixir.Archethic.OracleChain.ServiceCacheSupervisor']}}, {apply,{supervisor, restart_child, ['Elixir.Archethic.OracleChain.Supervisor', 'Elixir.Archethic.OracleChain.ServiceCacheSupervisor']}}, + {apply,{supervisor, restart_child, ['Elixir.ArchethicWeb.Supervisor', 'Elixir.ArchethicWeb.DashboardMetrics']}}, + {apply,{supervisor, restart_child, ['Elixir.ArchethicWeb.Supervisor', 'Elixir.ArchethicWeb.DashboardMetricsAggregator']}}, {apply,{supervisor,terminate_child, ['Elixir.Archethic.Telemetry',prometheus_metrics]}}, {apply,{supervisor,restart_child, From d9719be2472a304a9cbfb81238f5902a1b58881a Mon Sep 17 00:00:00 2001 From: bchamagne Date: Wed, 27 Dec 2023 09:43:31 +0100 Subject: [PATCH 4/8] delete poller from supervisor --- rel/appups/archethic/1.4.2_to_1.4.3.appup | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rel/appups/archethic/1.4.2_to_1.4.3.appup b/rel/appups/archethic/1.4.2_to_1.4.3.appup index 6e329937b..cc10ebc44 100644 --- a/rel/appups/archethic/1.4.2_to_1.4.3.appup +++ b/rel/appups/archethic/1.4.2_to_1.4.3.appup @@ -449,6 +449,8 @@ {apply,{supervisor, restart_child, ['Elixir.Archethic.OracleChain.Supervisor', 'Elixir.Archethic.OracleChain.ServiceCacheSupervisor']}}, {apply,{supervisor, restart_child, ['Elixir.ArchethicWeb.Supervisor', 'Elixir.ArchethicWeb.DashboardMetrics']}}, {apply,{supervisor, restart_child, ['Elixir.ArchethicWeb.Supervisor', 'Elixir.ArchethicWeb.DashboardMetricsAggregator']}}, + {apply, {supervisor, terminate_child, ['Elixir.Archethic.Metrics.MetricSupervisor', 'Elixir.Archethic.Metrics.Poller']}}, + {apply, {supervisor, delete_child, ['Elixir.Archethic.Metrics.MetricSupervisor', 'Elixir.Archethic.Metrics.Poller']}}, {apply,{supervisor,terminate_child, ['Elixir.Archethic.Telemetry',prometheus_metrics]}}, {apply,{supervisor,restart_child, From fcc91edb354769e9004482e0b6f22efe15dd7eb1 Mon Sep 17 00:00:00 2001 From: bchamagne Date: Wed, 27 Dec 2023 09:46:59 +0100 Subject: [PATCH 5/8] add summary cache code_change to register to new event --- lib/archethic/beacon_chain/subset/summary_cache.ex | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/archethic/beacon_chain/subset/summary_cache.ex b/lib/archethic/beacon_chain/subset/summary_cache.ex index 1ae1d5dc5..40d594b89 100644 --- a/lib/archethic/beacon_chain/subset/summary_cache.ex +++ b/lib/archethic/beacon_chain/subset/summary_cache.ex @@ -39,6 +39,11 @@ defmodule Archethic.BeaconChain.Subset.SummaryCache do {:ok, %{}} end + def code_change("1.4.2", state, _extra) do + PubSub.register_to_self_repair() + {:ok, state} + end + def code_change(_version, state, _extra), do: {:ok, state} def handle_info(:self_repair_sync, state) do From daf99229ebaf5bc40d63d87bf7c493cc39525665 Mon Sep 17 00:00:00 2001 From: bchamagne Date: Wed, 27 Dec 2023 09:56:48 +0100 Subject: [PATCH 6/8] restart the statscollector --- rel/appups/archethic/1.4.2_to_1.4.3.appup | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rel/appups/archethic/1.4.2_to_1.4.3.appup b/rel/appups/archethic/1.4.2_to_1.4.3.appup index cc10ebc44..1295b4e4b 100644 --- a/rel/appups/archethic/1.4.2_to_1.4.3.appup +++ b/rel/appups/archethic/1.4.2_to_1.4.3.appup @@ -451,6 +451,8 @@ {apply,{supervisor, restart_child, ['Elixir.ArchethicWeb.Supervisor', 'Elixir.ArchethicWeb.DashboardMetricsAggregator']}}, {apply, {supervisor, terminate_child, ['Elixir.Archethic.Metrics.MetricSupervisor', 'Elixir.Archethic.Metrics.Poller']}}, {apply, {supervisor, delete_child, ['Elixir.Archethic.Metrics.MetricSupervisor', 'Elixir.Archethic.Metrics.Poller']}}, + {apply,{supervisor, terminate_child, ['Elixir.Archethic.BeaconChain.SubsetSupervisor', 'Elixir.Archethic.BeaconChain.Subset.StatsCollector']}}, + {apply,{supervisor, restart_child, ['Elixir.Archethic.BeaconChain.SubsetSupervisor', 'Elixir.Archethic.BeaconChain.Subset.StatsCollector']}}, {apply,{supervisor,terminate_child, ['Elixir.Archethic.Telemetry',prometheus_metrics]}}, {apply,{supervisor,restart_child, From 77bc6df24c4ca4113c4feb48656cc43e10e5e304 Mon Sep 17 00:00:00 2001 From: bchamagne Date: Wed, 27 Dec 2023 10:09:17 +0100 Subject: [PATCH 7/8] add migration to start the jobcacheregistry --- .../prod/1.4.3@jobcacheregistry_start.exs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 priv/migration_tasks/prod/1.4.3@jobcacheregistry_start.exs diff --git a/priv/migration_tasks/prod/1.4.3@jobcacheregistry_start.exs b/priv/migration_tasks/prod/1.4.3@jobcacheregistry_start.exs new file mode 100644 index 000000000..ab7977c1e --- /dev/null +++ b/priv/migration_tasks/prod/1.4.3@jobcacheregistry_start.exs @@ -0,0 +1,15 @@ +defmodule Migration_1_4_3 do + @moduledoc """ + Start the JobCacheRegistry which is a child of Application + """ + + def run() do + {:ok, _} = + Supervisor.start_child( + Archethic.Supervisor, + {Registry, keys: :unique, name: Archethic.Utils.JobCacheRegistry} + ) + + :ok + end +end From 69709176e4711b92ef2afe785b6d11415df04b5a Mon Sep 17 00:00:00 2001 From: bchamagne Date: Tue, 26 Dec 2023 17:38:06 +0100 Subject: [PATCH 8/8] bump version 1.4.3 --- mix.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index a657abc63..e232b7393 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Archethic.MixProject do def project do [ app: :archethic, - version: "1.4.2", + version: "1.4.3", build_path: "_build", config_path: "config/config.exs", deps_path: "deps",