This repository has been archived by the owner on Apr 6, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 24
/
BlockchainModule.cs
43 lines (38 loc) · 2.54 KB
/
BlockchainModule.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System.Collections.Generic;
using NeoSharp.Core.Blockchain;
using NeoSharp.Core.Blockchain.Processing;
using NeoSharp.Core.Blockchain.State;
using NeoSharp.Core.Models;
using NeoSharp.Core.Models.OperationManger;
namespace NeoSharp.Core.DI.Modules
{
public class BlockchainModule : IModule
{
public void Register(IContainerBuilder containerBuilder)
{
containerBuilder.RegisterSingleton<IBlockchain, Blockchain.Blockchain>();
containerBuilder.RegisterSingleton<ICoinIndex, CoinIndex>();
#region Processing
containerBuilder.RegisterSingleton<IBlockPersister, BlockPersister>();
containerBuilder.RegisterSingleton<IBlockHeaderPersister, BlockHeaderPersister>();
containerBuilder.RegisterSingleton<IBlockProcessor, BlockProcessor>();
containerBuilder.RegisterSingleton<IBlockPool, BlockPool>();
containerBuilder.RegisterSingleton<IComparer<Transaction>, TransactionComparer>();
containerBuilder.RegisterSingleton<ITransactionPool, TransactionPool>();
containerBuilder.RegisterSingleton<ITransactionPersister<Transaction>, TransactionPersister>();
containerBuilder.RegisterSingleton<ITransactionPersister<ClaimTransaction>, ClaimTransactionPersister>();
containerBuilder.RegisterSingleton<ITransactionPersister<InvocationTransaction>, InvocationTransactionPersister>();
containerBuilder.RegisterSingleton<ITransactionPersister<IssueTransaction>, IssueTransactionPersister>();
containerBuilder.RegisterSingleton<ITransactionPersister<PublishTransaction>, PublishTransactionPersister>();
containerBuilder.RegisterSingleton<ITransactionPersister<RegisterTransaction>, RegisterTransactionPersister>();
containerBuilder.RegisterSingleton<ITransactionPersister<StateTransaction>, StateTransactionPersister>();
containerBuilder.RegisterSingleton<ITransactionPersister<EnrollmentTransaction>, EnrollmentTransactionPersister>();
containerBuilder.RegisterSingleton<IWitnessOperationsManager, WitnessOperationsManager>();
containerBuilder.RegisterSingleton<ITransactionOperationsManager, TransactionOperationsManager>();
containerBuilder.RegisterSingleton<IBlockHeaderOperationsManager, BlockHeaderOperationsManager>();
containerBuilder.RegisterSingleton<IBlockOperationsManager, BlockOperationsManager>();
#endregion
containerBuilder.RegisterSingleton<IAccountManager, AccountManager>();
}
}
}