public override UnspentOutputs[] FetchCoins(uint256[] txIds) { if (txIds.Length == 0) { return(NoOutputs); } using (StopWatch.Instance.Start(o => PerformanceCounter.AddQueryTime(o))) { UnspentOutputs[] result = new UnspentOutputs[txIds.Length]; using (var txx = _Engine.GetTransaction()) { txx.ValuesLazyLoadingIsOn = false; int i = 0; foreach (var input in txIds) { PerformanceCounter.AddQueriedEntities(1); var coin = txx.Select <byte[], Coins>("Coins", input.ToBytes(false))?.Value; result[i++] = coin == null ? null : new UnspentOutputs(input, coin); } } return(result); } }
public void MergeFrom(UnspentOutputs c) { _Outputs = c._Outputs.ToArray(); }