public void SyncFromDate_EmptyChain_UpdateUsingGenesisBlock() { this.chainIndexer = new ChainIndexer(new StraxMain()); var walletSyncManager = new WalletSyncManager(this.LoggerFactory.Object, this.walletManager.Object, this.chainIndexer, new StraxMain(), this.blockStore.Object, this.storeSettings, this.signals, this.asyncProvider, new Mock <INodeLifetime>().Object); walletSyncManager.SyncFromDate(new DateTime(1900, 1, 1)); // date before any block. Assert.Null(walletSyncManager.WalletTip); }
public void SyncFromDate_EmptyChain_UpdateUsingGenesisBlock() { this.chainIndexer = new ChainIndexer(KnownNetworks.StratisMain); var walletSyncManager = new WalletSyncManager(this.LoggerFactory.Object, this.walletManager.Object, this.chainIndexer, KnownNetworks.StratisMain, this.blockStore.Object, this.storeSettings, this.signals, this.asyncProvider); walletSyncManager.SyncFromDate(new DateTime(1900, 1, 1)); // date before any block. uint256 expectedHash = this.chainIndexer.Genesis.HashBlock; Assert.Equal(walletSyncManager.WalletTip.HashBlock, expectedHash); this.walletManager.VerifySet(w => w.WalletTipHash = expectedHash); }
public void SyncFromDate_GivenDateNotMatchingBlocksOnChain_UpdatesUsingFirstBlock() { this.chainIndexer = WalletTestsHelpers.GenerateChainWithHeight(3, KnownNetworks.StratisMain); var walletSyncManager = new WalletSyncManager(this.LoggerFactory.Object, this.walletManager.Object, this.chainIndexer, KnownNetworks.StratisMain, this.blockStore.Object, this.storeSettings, this.signals, this.asyncProvider); walletSyncManager.SyncFromDate(new DateTime(1900, 1, 1)); // date before any block. uint256 expectedHash = this.chainIndexer.GetHeader(1).HashBlock; Assert.Equal(walletSyncManager.WalletTip.HashBlock, expectedHash); this.walletManager.VerifySet(w => w.WalletTipHash = expectedHash); }
public void SyncFromDate_EmptyChain_UpdateUsingGenesisBlock() { this.chain = new ConcurrentChain(Network.StratisMain); var walletSyncManager = new WalletSyncManager(this.LoggerFactory.Object, this.walletManager.Object, this.chain, Network.StratisMain, this.blockStoreCache.Object, this.storeSettings, this.nodeLifetime.Object); walletSyncManager.SyncFromDate(new System.DateTime(1900, 1, 1)); // date before any block. uint256 expectedHash = this.chain.Genesis.HashBlock; Assert.Equal(walletSyncManager.WalletTip.HashBlock, expectedHash); this.walletManager.VerifySet(w => w.WalletTipHash = expectedHash); }
public void SyncFromDate_GivenDateNotMatchingBlocksOnChain_UpdatesUsingFirstBlock() { this.chain = WalletTestsHelpers.GenerateChainWithHeight(3, Network.StratisMain); var walletSyncManager = new WalletSyncManager(this.LoggerFactory.Object, this.walletManager.Object, this.chain, Network.StratisMain, this.blockStoreCache.Object, this.storeSettings, this.nodeLifetime.Object); walletSyncManager.SyncFromDate(new System.DateTime(1900, 1, 1)); // date before any block. uint256 expectedHash = this.chain.GetBlock(1).HashBlock; Assert.Equal(walletSyncManager.WalletTip.HashBlock, expectedHash); this.walletManager.VerifySet(w => w.WalletTipHash = expectedHash); }
public void SyncFromDate_GivenDateMatchingBlocksOnChain_UpdatesUsingClosestBlock() { this.chain = WalletTestsHelpers.GenerateChainWithHeight(3, Network.StratisMain); var walletSyncManager = new WalletSyncManager(this.LoggerFactory.Object, this.walletManager.Object, this.chain, Network.StratisMain, this.blockStoreCache.Object, this.storeSettings, this.nodeLifetime.Object); walletSyncManager.SyncFromDate(this.chain.GetBlock(3).Header.BlockTime.DateTime.AddDays(2)); uint256 expectedHash = this.chain.GetBlock(3).HashBlock; Assert.Equal(walletSyncManager.WalletTip.HashBlock, expectedHash); this.walletManager.VerifySet(w => w.WalletTipHash = expectedHash); }