Пример #1
0
 public virtual void InitializeNewNeuraliumTimelineEncryptionParameters(BlockchainServiceSet serviceSet)
 {
     // create those no matter what
     if (this.NeuraliumTimelineFileEncryptionParameters == null)
     {
         this.NeuraliumTimelineFileEncryptionParameters = FileEncryptorUtils.GenerateEncryptionParameters(GlobalSettings.ApplicationSettings);
         var secretKey = new byte[333];
         GlobalRandom.GetNextBytes(secretKey);
         this.NeuraliumTimelineFileSecret = secretKey;
     }
 }
        public override INeuraliumBlockChainInterface CreateNewChain(IServiceProvider serviceProvider, ChainRuntimeConfiguration chainRuntimeConfiguration = null, IFileSystem fileSystem = null)
        {
            chainRuntimeConfiguration = chainRuntimeConfiguration ?? new ChainRuntimeConfiguration();
            fileSystem = fileSystem ?? new FileSystem();

            DIService.Instance.AddServiceProvider(NeuraliumBlockchainTypes.NeuraliumInstance.Neuralium, serviceProvider);
            BlockchainServiceSet serviceSet = new BlockchainServiceSet(NeuraliumBlockchainTypes.NeuraliumInstance.Neuralium);

            INeuraliumCentralCoordinator centralCoordinator = this.CreateCentralCoordinator(serviceSet, chainRuntimeConfiguration, fileSystem);

            NeuraliumBlockChainInterface chainInterface = new NeuraliumBlockChainInterface(centralCoordinator);

            centralCoordinator.InitializeContents(this.CreateChainComponents(centralCoordinator, chainInterface));

            return(chainInterface);
        }
 public override ACCREDITATION_CERTIFICATE_ACCOUNT_SNAPSHOT_DAL CreateAccreditationCertificateAccountSnapshotDal <ACCREDITATION_CERTIFICATE_ACCOUNT_SNAPSHOT_DAL>(long groupSize, string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return((ACCREDITATION_CERTIFICATE_ACCOUNT_SNAPSHOT_DAL)this.CreateAccreditationCertificatesSnapshotDalFunc(groupSize, folderPath, serviceSet, serializationType));
 }
 public NeuraliumStandardAccountSnapshotSqliteDal(long groupSize, string folderPath, BlockchainServiceSet serviceSet, INeuraliumChainDalCreationFactory chainDalCreationFactory, AppSettingsBase.SerializationTypes serializationType) : base(groupSize, folderPath, serviceSet, chainDalCreationFactory, serializationType)
 {
 }
 public override CHAIN_STATE_DAL CreateChainPoolDal <CHAIN_STATE_DAL>(string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return((CHAIN_STATE_DAL)this.CreateChainPoolDalFunc(folderPath, serviceSet, serializationType));
 }
 public INeuraliumChainOptionsSnapshotDal CreateChainOptionsSnapshotDal(string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return(this.CreateChainOptionsSnapshotDal <INeuraliumChainOptionsSnapshotDal>(folderPath, serviceSet, serializationType));
 }
 public INeuraliumAccountKeysSnapshotDal CreateStandardAccountKeysSnapshotDal(long groupSize, string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return(this.CreateStandardAccountKeysSnapshotDal <INeuraliumAccountKeysSnapshotDal>(groupSize, folderPath, serviceSet, serializationType));
 }
 public override TRACKED_ACCOUNTS_DAL CreateTrackedAccountsDal <TRACKED_ACCOUNTS_DAL>(long groupSize, string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return((TRACKED_ACCOUNTS_DAL)this.CreateTrackedAccountsSnapshotDalFunc(groupSize, folderPath, serviceSet, serializationType));
 }
Пример #9
0
 public NeuraliumUserWalletFileInfo(string filename, BlockchainServiceSet serviceSet, IWalletSerialisationFal serialisationFal, WalletPassphraseDetails walletSecurityDetails) : base(filename, serviceSet, serialisationFal, walletSecurityDetails)
 {
 }
Пример #10
0
 public NeuraliumWalletTimelineFileInfo(IWalletAccount account, string filename, BlockchainServiceSet serviceSet, IWalletSerialisationFal serialisationFal, WalletPassphraseDetails walletSecurityDetails) : base(filename, serviceSet, serialisationFal, walletSecurityDetails)
 {
     this.account = account;
 }
Пример #11
0
        public override void InitializeNewEncryptionParameters(BlockchainServiceSet serviceSet)
        {
            base.InitializeNewEncryptionParameters(serviceSet);

            this.InitializeNewNeuraliumTimelineEncryptionParameters(serviceSet);
        }
 public NeuraliumCentralCoordinator(BlockchainServiceSet serviceSet, ChainRuntimeConfiguration chainRuntimeConfiguration, IFileSystem fileSystem) : base(NeuraliumBlockchainTypes.NeuraliumInstance.Neuralium, serviceSet, chainRuntimeConfiguration, fileSystem)
 {
     // make sure we can name our blockchain
     BlockchainTypes.Instance.AddBlockchainTypeNameProvider(new NeuraliumBlockchainTypeNameProvider());
 }
 protected override INeuraliumCentralCoordinator CreateCentralCoordinator(BlockchainServiceSet serviceSet, ChainRuntimeConfiguration chainRuntimeConfiguration, IFileSystem fileSystem)
 {
     return(new NeuraliumCentralCoordinator(serviceSet, chainRuntimeConfiguration, fileSystem));
 }
 public override ACCOUNT_KEYS_ACCOUNT_SNAPSHOT_DAL CreateStandardAccountKeysSnapshotDal <ACCOUNT_KEYS_ACCOUNT_SNAPSHOT_DAL>(long groupSize, string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return((ACCOUNT_KEYS_ACCOUNT_SNAPSHOT_DAL)this.CreateStandardAccountKeysSnapshotDalFunc(groupSize, folderPath, serviceSet, serializationType));
 }
 public NeuraliumWalletAccountSnapshotFileInfo(IWalletAccount account, string filename, BlockchainServiceSet serviceSet, IWalletSerialisationFal serialisationFal, WalletPassphraseDetails walletSecurityDetails) : base(account, filename, serviceSet, serialisationFal, walletSecurityDetails)
 {
 }
 public override CHAIN_OPTIONS_ACCOUNT_SNAPSHOT_DAL CreateChainOptionsSnapshotDal <CHAIN_OPTIONS_ACCOUNT_SNAPSHOT_DAL>(string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return((CHAIN_OPTIONS_ACCOUNT_SNAPSHOT_DAL)this.CreateChainOptionsSnapshotDalFunc(folderPath, serviceSet, serializationType));
 }
Пример #17
0
 public NeuraliumChainSyncMessageFactory(IMainChainMessageFactory mainChainMessageFactory, BlockchainServiceSet serviceSet) : base(mainChainMessageFactory, serviceSet)
 {
 }
 public INeuraliumChainStateDal CreateChainStateDal(string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return(this.CreateChainStateDal <INeuraliumChainStateDal, INeuraliumChainStateEntry>(folderPath, serviceSet, serializationType));
 }
Пример #19
0
 public TestFactory(BlockchainServiceSet serviceSet) : base(serviceSet)
 {
 }
 public INeuraliumAccreditationCertificatesSnapshotDal CreateAccreditationCertificatesAccountSnapshotDal(long groupSize, string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return(this.CreateAccreditationCertificateAccountSnapshotDal <INeuraliumAccreditationCertificatesSnapshotDal>(groupSize, folderPath, serviceSet, serializationType));
 }
        public override ITransactionSelectionMethod CreateTransactionSelectionMethod(TransactionSelectionMethodType type, long blockId, BlockElectionDistillate blockElectionDistillate, IWalletProvider walletProvider, BlockChainConfigurations blockChainConfigurations, BlockchainServiceSet serviceSet)
        {
            if (blockElectionDistillate.electionContext is INeuraliumElectionContext neuraliumElectionContext)
            {
                if (type == TransactionSelectionMethodTypes.Instance.Automatic)
                {
                    // ok, this one is meant to be automatic. we wlil try to find the best method
                    //TODO: make this more elaborate. Try to response to the various cues we can use like the declared bounty allocator
                    if (neuraliumElectionContext.BountyAllocationMethod.Version.Type.Value == BountyAllocationMethodTypes.Instance.EqualSplit)
                    {
                        type = NeuraliumTransactionSelectionMethodTypes.Instance.HighestTips;
                    }

                    // the default automatic best choice
                    type = NeuraliumTransactionSelectionMethodTypes.Instance.HighestTips;
                }

                if (type == NeuraliumTransactionSelectionMethodTypes.Instance.HighestTips)
                {
                    // ok, nothing special here, lets just maximize profits by choosing the highest paying transactions
                    return(new NeuraliumHighestTipTransactionSelectionMethod(blockId, neuraliumElectionContext.TransactionTipsAllocationMethod, (INeuraliumWalletProviderProxy)walletProvider, blockElectionDistillate.electionContext.MaximumElectedTransactionCount, ((NeuraliumBlockChainConfigurations)blockChainConfigurations).HighestTipTransactionSelectionStrategySettings, serviceSet.BlockchainTimeService));
                }
            }

            return(base.CreateTransactionSelectionMethod(type, blockId, blockElectionDistillate, walletProvider, blockChainConfigurations, serviceSet));
        }
 public INeuraliumTrackedAccountsDal CreateTrackedAccountsDal(long groupSize, string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return(this.CreateTrackedAccountsDal <INeuraliumTrackedAccountsDal>(groupSize, folderPath, serviceSet, serializationType));
 }
Пример #23
0
 public NeuraliumChainStateSqliteDal(string folderPath, BlockchainServiceSet serviceSet, INeuraliumChainDalCreationFactory chainDalCreationFactory, AppSettingsBase.SerializationTypes serializationType) : base(folderPath, serviceSet, chainDalCreationFactory, serializationType)
 {
 }
 public override JOINT_ACCOUNT_SNAPSHOT_DAL CreateJointAccountSnapshotDal <JOINT_ACCOUNT_SNAPSHOT_DAL>(long groupSize, string folderPath, BlockchainServiceSet serviceSet, AppSettingsBase.SerializationTypes serializationType)
 {
     return((JOINT_ACCOUNT_SNAPSHOT_DAL)this.CreateJointAccountSnapshotDalFunc(groupSize, folderPath, serviceSet, serializationType));
 }
Пример #25
0
 public NeuraliumMainChainMessageFactory(BlockchainServiceSet serviceSet) : base(NeuraliumBlockchainTypes.NeuraliumInstance.Neuralium, serviceSet)
 {
 }