internal static extern unsafe ReturnCode terab_utxo_set_coins( SafeConnectionHandle connection, BlockHandle context, int coinLength, Coin *coins, int storageLength, byte *storage );
internal static extern ReturnCode terab_utxo_get_blockinfo( SafeConnectionHandle connection, BlockHandle handle, ref BlockInfo info);
internal static extern ReturnCode terab_utxo_get_uncommitted_block( SafeConnectionHandle connection, ref UncommittedBlockId blockUcid, out BlockHandle handle);
internal static extern ReturnCode terab_utxo_commit_block( SafeConnectionHandle connection, BlockHandle handle, ref CommittedBlockId blockId);
internal static extern ReturnCode terab_utxo_open_block( SafeConnectionHandle connection, ref CommittedBlockId parentId, out BlockHandle handle, ref UncommittedBlockId ucid);
internal static extern ReturnCode terab_disconnect(SafeConnectionHandle connectionHandle, [MarshalAs(UnmanagedType.LPStr)] string reason);
internal static extern ReturnCode terab_connect([MarshalAs(UnmanagedType.LPStr)] string cnxString, out SafeConnectionHandle connectionHandle);