Beispiel #1
0
        private void GetBlockHeaderByHashTxSizes(byte[] blockHash, GetBlockHeaderByHashTxsSizeHandler handler)
        {
            var managedHash = new hash_t
            {
                hash = blockHash
            };
            IntPtr contextPtr = CreateContext(handler, managedHash);

            ChainNative.kth_chain_async_block_header_by_hash_txs_size(nativeInstance_, contextPtr, managedHash, internalGetBlockHeaderByHashTxsSizeHandler_);
        }
Beispiel #2
0
        private static void GetBlockHeaderByHashTxsSizeInternalHandler(IntPtr chain, IntPtr contextPtr, ErrorCode error, IntPtr blockHeader, UInt64 blockHeight, IntPtr txHashes, UInt64 blockSerializedSize)
        {
            var contextHandle = (GCHandle)contextPtr;

            try
            {
                var context = contextHandle.Target as Tuple <GetBlockHeaderByHashTxsSizeHandler, hash_t>;
                GetBlockHeaderByHashTxsSizeHandler handler = context.Item1;
                handler(error, new Header(blockHeader), blockHeight, new HashList(txHashes), blockSerializedSize);
            }
            finally
            {
                contextHandle.Free();
            }
        }
Beispiel #3
0
 public static extern void kth_chain_async_block_header_by_hash_txs_size(IntPtr chain, IntPtr ctx, hash_t hash, GetBlockHeaderByHashTxsSizeHandler handler);