diff --git a/plugins/tangle/approvers.go b/plugins/tangle/approvers.go index fd4461aa1e3cac8e3619652f1731df050f206b68..38d44aa9081d62e6f47710cf31c8c2c10110d042 100644 --- a/plugins/tangle/approvers.go +++ b/plugins/tangle/approvers.go @@ -5,7 +5,6 @@ import ( "github.com/iotaledger/goshimmer/packages/datastructure" "github.com/iotaledger/goshimmer/packages/errors" "github.com/iotaledger/goshimmer/packages/model/approvers" - "github.com/iotaledger/hive.go/node" "github.com/iotaledger/hive.go/typeutils" "github.com/iotaledger/iota.go/trinary" ) @@ -75,7 +74,7 @@ const ( var approversDatabase database.Database -func configureApproversDatabase(plugin *node.Plugin) { +func configureApproversDatabase() { if db, err := database.Get("approvers"); err != nil { panic(err) } else { diff --git a/plugins/tangle/bundle.go b/plugins/tangle/bundle.go index bd55c6e67e0cfd8eb22cc3a02d75fc142b4ac93c..fa607ba127fd374028bff25259ef55c92c9d96a5 100644 --- a/plugins/tangle/bundle.go +++ b/plugins/tangle/bundle.go @@ -5,7 +5,6 @@ import ( "github.com/iotaledger/goshimmer/packages/datastructure" "github.com/iotaledger/goshimmer/packages/errors" "github.com/iotaledger/goshimmer/packages/model/bundle" - "github.com/iotaledger/hive.go/node" "github.com/iotaledger/hive.go/typeutils" "github.com/iotaledger/iota.go/trinary" ) @@ -79,7 +78,7 @@ const ( var bundleDatabase database.Database -func configureBundleDatabase(plugin *node.Plugin) { +func configureBundleDatabase() { if db, err := database.Get("bundle"); err != nil { panic(err) } else { diff --git a/plugins/tangle/plugin.go b/plugins/tangle/plugin.go index 62006c6be990ea0ef7f8465906706bab07bace40..d7aa7c8f3f1925564cec7f35f8e2b774fcb5fe3f 100644 --- a/plugins/tangle/plugin.go +++ b/plugins/tangle/plugin.go @@ -10,16 +10,16 @@ import ( var PLUGIN = node.NewPlugin("Tangle", node.Enabled, configure, run) var log = logger.NewLogger("Tangle") -func configure(plugin *node.Plugin) { - configureTransactionDatabase(plugin) - configureTransactionMetaDataDatabase(plugin) - configureApproversDatabase(plugin) - configureBundleDatabase(plugin) - configureSolidifier(plugin) +func configure(*node.Plugin) { + configureTransactionDatabase() + configureTransactionMetaDataDatabase() + configureApproversDatabase() + configureBundleDatabase() + configureSolidifier() } -func run(plugin *node.Plugin) { - runSolidifier(plugin) +func run(*node.Plugin) { + runSolidifier() } // endregion /////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/plugins/tangle/solidifier.go b/plugins/tangle/solidifier.go index af7b07c525bde46ee7cf1b047aa300b129b09ac6..d3d9127167e4397804df5c3af0f112197722c07a 100644 --- a/plugins/tangle/solidifier.go +++ b/plugins/tangle/solidifier.go @@ -13,7 +13,6 @@ import ( "github.com/iotaledger/goshimmer/packages/workerpool" "github.com/iotaledger/hive.go/daemon" "github.com/iotaledger/hive.go/events" - "github.com/iotaledger/hive.go/node" "github.com/iotaledger/iota.go/trinary" ) @@ -26,9 +25,9 @@ var ( unsolidTxs *UnsolidTxs ) -func configureSolidifier(plugin *node.Plugin) { +func configureSolidifier() { workerPool = workerpool.New(func(task workerpool.Task) { - processMetaTransaction(plugin, task.Param(0).(*meta_transaction.MetaTransaction)) + processMetaTransaction(task.Param(0).(*meta_transaction.MetaTransaction)) task.Return(nil) }, workerpool.WorkerCount(WORKER_COUNT), workerpool.QueueSize(10000)) @@ -46,7 +45,7 @@ func configureSolidifier(plugin *node.Plugin) { })) } -func runSolidifier(plugin *node.Plugin) { +func runSolidifier() { log.Info("Starting Solidifier ...") daemon.BackgroundWorker("Tangle Solidifier", func(shutdownSignal <-chan struct{}) { @@ -54,7 +53,7 @@ func runSolidifier(plugin *node.Plugin) { workerPool.Start() <-shutdownSignal log.Info("Stopping Solidifier ...") - workerPool.Stop() + workerPool.StopAndWait() log.Info("Stopping Solidifier ... done") }) } @@ -169,7 +168,7 @@ func propagateSolidity(transactionHash trinary.Trytes) errors.IdentifiableError return nil } -func processMetaTransaction(plugin *node.Plugin, metaTransaction *meta_transaction.MetaTransaction) { +func processMetaTransaction(metaTransaction *meta_transaction.MetaTransaction) { var newTransaction bool if tx, err := GetTransaction(metaTransaction.GetHash(), func(transactionHash trinary.Trytes) *value_transaction.ValueTransaction { newTransaction = true @@ -179,11 +178,11 @@ func processMetaTransaction(plugin *node.Plugin, metaTransaction *meta_transacti log.Errorf("Unable to load transaction %s: %s", metaTransaction.GetHash(), err.Error()) } else if newTransaction { updateUnsolidTxs(tx) - processTransaction(plugin, tx) + processTransaction(tx) } } -func processTransaction(plugin *node.Plugin, transaction *value_transaction.ValueTransaction) { +func processTransaction(transaction *value_transaction.ValueTransaction) { Events.TransactionStored.Trigger(transaction) transactionHash := transaction.GetHash() diff --git a/plugins/tangle/transaction.go b/plugins/tangle/transaction.go index aeb4c915affcddfbbae05a7c6594edccb96db7bf..31edfc4f8c478aa4dd927e226c719ad3dfc53699 100644 --- a/plugins/tangle/transaction.go +++ b/plugins/tangle/transaction.go @@ -5,7 +5,6 @@ import ( "github.com/iotaledger/goshimmer/packages/datastructure" "github.com/iotaledger/goshimmer/packages/errors" "github.com/iotaledger/goshimmer/packages/model/value_transaction" - "github.com/iotaledger/hive.go/node" "github.com/iotaledger/hive.go/typeutils" "github.com/iotaledger/iota.go/trinary" ) @@ -76,7 +75,7 @@ const ( var transactionDatabase database.Database -func configureTransactionDatabase(plugin *node.Plugin) { +func configureTransactionDatabase() { if db, err := database.Get("transaction"); err != nil { panic(err) } else { diff --git a/plugins/tangle/transaction_metadata.go b/plugins/tangle/transaction_metadata.go index e1032ed635b284814109bd0f1a4bcf86f3208635..6713ecc8b006496044a3c85e85d2e4a6a5124729 100644 --- a/plugins/tangle/transaction_metadata.go +++ b/plugins/tangle/transaction_metadata.go @@ -5,7 +5,6 @@ import ( "github.com/iotaledger/goshimmer/packages/datastructure" "github.com/iotaledger/goshimmer/packages/errors" "github.com/iotaledger/goshimmer/packages/model/transactionmetadata" - "github.com/iotaledger/hive.go/node" "github.com/iotaledger/hive.go/typeutils" "github.com/iotaledger/iota.go/trinary" ) @@ -76,7 +75,7 @@ const ( var transactionMetadataDatabase database.Database -func configureTransactionMetaDataDatabase(plugin *node.Plugin) { +func configureTransactionMetaDataDatabase() { if db, err := database.Get("transactionMetadata"); err != nil { panic(err) } else {