/// <summary> /// Get <see cref="BinaryMerkleTree"/> of side chain transaction roots. /// </summary> /// <param name="chainId">Parent chain Id</param> /// <param name="height">Parent chain height</param> /// <returns></returns> public async Task <BinaryMerkleTree> GetSideChainTransactionRootsMerkleTreeByHeightAsync(Hash chainId, ulong height) { var key = DataPath.CalculatePointerForSideChainTxRootsMerkleTreeByHeight(chainId, height); return(await _dataStore.GetAsync <BinaryMerkleTree>(key)); }
/// <summary> /// Store <see cref="BinaryMerkleTree"/> for side chain transaction roots. /// </summary> /// <param name="binaryMerkleTree"></param> /// <param name="chainId">Parent chain Id</param> /// <param name="height"></param> /// <returns></returns> public async Task AddSideChainTransactionRootsMerkleTreeAsync(BinaryMerkleTree binaryMerkleTree, Hash chainId, ulong height) { var key = DataPath.CalculatePointerForSideChainTxRootsMerkleTreeByHeight(chainId, height); await _dataStore.InsertAsync(key, binaryMerkleTree); }