Esempio n. 1
0
        public bool VerifyTransaction(Hash tx, MerklePath path, ulong parentChainHeight)
        {
            var key = new UInt64Value {
                Value = parentChainHeight
            };

            Api.Assert(_parentChainBlockInfo.GetValue(key) != null,
                       $"Parent chain block at height {parentChainHeight} is not recorded.");
            var rootCalculated = path.ComputeRootWith(tx);
            var parentRoot     = _parentChainBlockInfo.GetValue(key)?.Root?.SideChainTransactionsRoot;

            //Api.Assert((parentRoot??Hash.Zero).Equals(rootCalculated), "Transaction verification Failed");
            return((parentRoot ?? Hash.Zero).Equals(rootCalculated));
        }
Esempio n. 2
0
 private Hash ComputeMerklePath(Hash leaf, MerklePath path)
 {
     return(path.ComputeRootWith(leaf));
 }